这是新安装的 Ubuntu Studio 22.04
使用 qjackctl 在 Linux 中让 Firewire 多通道接口工作一直是一个挑战,这是我第一次尝试使用新安装。我将其插入并启动计算机。接口启动并连接,无需使用 qjackctl。它作为系统音频输出端口列表中的一个选项出现。
运行 qjackctl 的所有尝试都失败了。我运行了 Reaper(一个 DAW),看到所有输入和输出端口几乎都像我习惯的那样出现了。我播放了一首曲目,声音出现在耳机端口 5 和 6 中。还有 7 和 8。还有 1 和 2。我需要通过将 ~/.conf/pulse/daemon.conf 中的一行更改为以下内容来禁用混音,
重新混合使用所有接收通道 = 否
我需要反复停止 pulse 尝试将 Saffire 添加为系统音频输出和输入端口,因为它始终无法设置系统音频。所有试图终止 autospawn 和 pulseaudio 本身的尝试(是的,我也试过了!)都失败了。
Ubuntu Studio 将 Saffire 连接为系统立体声输入和立体声输出接口。路由到端口 1 和 2 的任何东西都来自线路输出插座。我尝试了 Studio Controls 并禁用了脉冲桥,并从系统麦克风和输出选项中删除了 Saffire 选项,但 Reaper 中没有任何变化。我将 Studio Controls 配置为使用 FFADO,没有任何变化。我找到了一种在终端中启动 jack 守护进程并使用 qjackctl 功能的方法。所有正确的自动连接都已建立,但我只能在端口 1 和 2 上获得输出,这是通过输出 5 和 6 上的耳机端口获得的。
然后我注意到 Reaper Routing 中的端口指定是乱码的。在早期版本的 US 和 Windows 中,输入显示为八个单声道端口:Saffire Pro Line 1&2 1、Saffire Pro Line 1&2 2。Saffire Pro Line 3&4 1、Saffire Pro Line 3&4 2... HD Audio Line Input 1、HD Audio Line Input 2,然后显示为立体声端口:Saffire Pro Line 1&2 1(立体声 M/C)、Saffire Pro Line 1&2 2(立体声 M/C)Pro Line 3&4 1(立体声 M/C)... HD Audio Line(立体声)。
我认为这些是从 ffado-test Discover 的输出中得出的。
对于当前的 US 版本,它们表面上看起来相同,但有一个序列是八个 firewire_pcm00130e0100060f3e_L,后面跟着两个 firewire_pcm00130e0100060f3e_S,后面跟着八个 firewire_pcm00130e0100060f3e_L(立体声 M/C),然后是一个 firewire_pcm00130e0100060f3e_S(立体声 M/C)。
输出端口的情况也类似。我假设 Reaper 正在尝试理解系统如何分配立体声对作为输出和输入,并将其分配给它知道有 10 个输入和 10 个输出的音频接口,但这只是猜测。
看来,即使选择 FFADO 驱动程序而不是 alsa,从 Studio Controls 中删除脉冲桥端口,并将 Saffire 从系统卷端口列表中删除,alsa 也无法正确显示 10 x 10 端口接口。
从我的浏览来看,jack 似乎使用 alsa 枚举的端口运行,但我不知道为什么最新版本的 Ubuntu Studio 会把它搞得这么糟糕。
我尝试了 Focusrite Scarlet 16 x 16 USB 接口,情况好多了。我可以将声音路由到耳机端口,而不是端口 1 和 2。但是,Reaper 中的指定是混乱的,端口 5 和 6 似乎连接到 8 和 9 的 DAW 插座。同样,输入和输出端口的数量是正确的。各种 qjackctl 面板(Graph、Connexions 和 Patchbay)显示了所有正确的插座、连接和补丁,但 qjackctl 和 DAW 之间存在干扰。
我尝试使用 Ubuntu Studio 22.04 Live,结果完全相同。开箱即用,Ubuntu Studio 似乎适用于火线或 USB 外部立体声音频接口,但无论我如何调整,都无法处理多声道。
有什么想法吗?
答案1
我已停止尝试解决这个问题。
我得出以下结论:
它会影响所有 Ubuntu
pulseaudio/pipewire 没有这个问题。pipewire 在 pulseaudio 模式下运行良好,并带有类似 jack 的修补 GUI。两者都只显示 alsa,而 jack 只显示硬件套接字。
jack 与 alsa/pipewire 配合良好,并可与计算机的音频硬件一起运行。
ffado-test Discover 找到火线接口:
03155440799: Debug (Configuration.cpp)[ 209] showSetting: vendorname = Focusrite 03155440824: Debug (Configuration.cpp)[ 209] showSetting: modelname = Saffire Pro10IO 03155440849: Debug (Configuration.cpp)[ 209] showSetting: driver = BEBOB 03155440872: Debug (Configuration.cpp)[ 209] showSetting: mixer = SaffirePro
当接口在 jack 中运行时,alsa 不会列出火线接口,即使在里面或者强制重新加载在终端中发出。
文件 ~/jackdrc(似乎由 studio-controls 和 qjackctl 保存)不包含实时选项 -R。将其更改为,
/usr/bin/jackd -nfirewire -R -P60 -u -dfirewire -r44100 -p1024 -n3 -D
在终端中运行它会启动 FireWire 音频接口。这类似于我一直使用的命令:
jackd -P60 -R -d firewire
请注意,此命令已经运行了很多年,过去我在遇到与 qjackctl 类似的问题时也使用过它。(这可能不是最近的问题)。
尽管 qjackctl 和 studio-controls 都可以设置为实时,但它们似乎没有向 jack 发送 -R 选项。
通过命令行启动 jack 和火线接口,然后运行 qjackctl,通常会显示 qjackctl 为“正在运行”,并且所有正确的插座名称都会出现在 Graph 中。kxstudio 的 catia 也是如此。
但是,我的 DAW Reaper 中只有“主插座”处于活动状态,而相同的音频被馈送到所有其他输出插座。所有输入和输出插座都有错误的名称,如上面的子评论中所述。可以在工作室控制中更改“主插座”,然后只有该插座在 DAW 中工作。
虽然我的 USB Focusrite Scarlet 接口(18 个输出)没有受到太大影响,但它仍然无法真正使用。我还没有对其进行广泛测试,但插座名称是错误的。我没有测试输入,但我怀疑只有一个“麦克风”插座可以工作。
我认为任何 Ubuntu 都无法与多通道接口正确配合使用,但它们可能与立体声输入和立体声输出外部接口(包括火线和 USB 连接类型)配合良好。pipewire 可能会使博客和 Youtube 软件评论更容易,但 Ubuntu 目前不适用于乐队和管弦乐队多通道录音。回到 Windows(叹气!)。