我在OBS的论坛上有一个问题,那就是如何让这个应用与其他东西分享,但是我在这个网站上的问题来自不同的方向。我可以让Ubuntu自己从一张多通道卡中分配特定的通道,而不是让一个特定的应用程序成为非专有的应用程序,否则会像OBS那样独占整个卡的控制权吗?
Lubuntu20.04,问题中的卡是32通道USB接口的比林格X32数字声卡。我可以将X32内部的任何信号路由到USB“声卡”的任何通道,这样,如果需要的话,路由可以绕着其他一些需求进行。
我需要OBS接收一副立体声,另一台录音机接收1个频道为单声道(可能不一定,因为该录音也需要视频,与OBS分开)和热情(一个DAW)接收24个频道作为多声道。都是同时。
目前,我的路由在上24道(#'s 9-32)上有多声道,在1&2上有立体声对,剩下的6道(#'s 3-8)无声,这样OBS坚持的7.1下混频器就不会混淆。(除了“低音炮”音轨(下音器忽略的),所以我现在把单音辅助声道放在上面),如果需要的话,我可以重新安排所有的频道分配,但它们必须都在同一个32通道的USB卡上。

我能把这些通道分给需要它们的各个应用程序吗?这样每个应用程序都可以“排他性”地控制它认为它所分配的卡中只有所需的频道计数?
更新2020年-11-08:
到目前为止,我已经做到了这一点,但为了使它成为OBS中的永久源,而不是被绑定到特定的场景(忘记将它添加到一个关键场景中),我似乎需要它成为一个PulseAudio设备。那么,我如何才能让Jack进入PA回环,与其他PA设备一样枚举?

发布于 2020-11-14 22:11:50
这就是我错过的!
https://www.youtube.com/watch?v=6J-RQudJx30
显然,谷歌认为告诉我PulseAudio现在可以直接与杰克合作并不重要。很多关于这个问题的论坛问题都没有答案.
无论如何,根据视频设置它,PA创建一个回送设备供杰克连接。然后杰克就像众所周知的那样建立起联系。
实质上,这些步骤是:
sudo apt install jackdsudo apt install pulseaudio-module-jacksudo nano /etc/pulse/default.pa (视频使用vim,我更喜欢nano,您喜欢什么就用什么)### Load audio drivers statically... load-module module-jack-sink load-module module-jack-source下添加一些行### Make some devices default set-default-sink jack_out set-default-source jack_in下添加更多行现在,当系统启动并且PulseAudio启动时,它也会启动Jack并使其成为默认的。(熟悉的GUI控件中的“回退”)
你不会有任何声音,因为杰克默认为无连接。因此,打开Connections窗口,单击两侧的单个通道,然后在底部连接。你现在应该有声音了!你的连接选项现在是在千斤顶,这是难以置信的灵活性。

如果您想让您的连接在重新启动时存活下来,您可以定义一个连接文件并在启动时加载(激活Patchbay持久性):

这里显示了如何创建该文件,它并不是直接直观的:
https://www.rncbc.org/drupal/node/76
而不是Connect窗口,您需要使用Patchbay。我不知道为什么它们如此相似,仍然是分开的,也不知道为什么容易使用的Connect窗口不只是一个保存按钮来为您提供这些功能。但无论如何,这至少是可能的,下面是如何:

您可能会注意到,这里的连接不再是单个通道之间的连接,而是设备之间的连接,而且并不是所有设备都拥有它们所能拥有的所有通道。这是在这个工具与另一个工具的工作方式上的第一眼--不直观的区别。
要设置持久修补程序,首先单击左上角的New按钮,不要让它创建现有连接的快照。它没那么聪明,而且会搞错的。相反,从空白板开始,创建一组自定义设备,每个设备都具有您想要作为一个组连接的特定通道。
两边的Add按钮都会弹出以下窗口:

给这个新设备一个名称,并选择它使用的客户端。(多个设备可以使用同一个客户端,所以不要担心将自己锁定在外),然后只添加这个特定设备将要使用的通道("Plugs")。所有这些通道都将连接到另一个设备的所有通道,按它们在这里出现的顺序排列。您也可以重命名每个通道,但我认为太容易忘记,如果您定制它那么远,那是什么呢?
以这种方式在每一侧创建所有设备或“通道组”,然后单击每一侧,然后单击底部的connect按钮,在设备级别连接它们。
(我也有一些不去任何地方的全计数设备,只是为了提醒我正在使用的东西。)

现在,您可以保存安装窗口需要的“激活Patchbay持久性”中的.xml文件。

并将qjackctl设置为在启动时运行,这样它就可以加载该文件。用户空间很好;它不需要是根。
https://askubuntu.com/questions/1290211
复制相似问题