我遇到的第一个问题是,一旦我在我的计算机上使用了任何有声音的东西(网页、媒体播放器等)——杰克在我重新启动之前将不再启动。简而言之,如果我不知道如何使用我的 DAW 而不每次都重新启动,我就必须回到 Windows。
此外,有没有办法通过 Jack 路由 Pulse,让 Jack 成为音频之神?或者更好的是,我可以摆脱 Pulse 并将 Jack 用于所有音频吗?
我知道这不是一个简单的问题,但任何帮助或指导将不胜感激。
正如您所提到的,您的声卡的设备编号将在运行之间发生变化。您一定要确保在 QJackCtrl 中选择正确的设备。aplay -l
应该以一种允许您通过脚本处理它们的方式列出可用设备。
要回答您的第二个问题,有 PulseAudio 模块可以让您使用 Jack 作为 Pulse 声音的处理程序。看一下pulseaudio-module-jack
Ubuntu/Debian(它可能适用于您的发行版;这仅提及如何在基于 Debian 的系统上执行此操作,并且当我运行 Ubuntu 时,我无法立即检查其他任何内容)。就我而言,我还需要在 Ubuntu 声音设置中选择它才能正常工作(据我所知)。您还可以查看http://jackaudio.org/pulseaudio_and_jack,了解更多关于一起使用 Pulse 和 Jack 的信息。
此外,还有一个免费的杂乱 Bash 脚本的奖励片段:
get_alsa_device ()
{
# USAGE:
# In Bash:
# var="$(get_alsa_device "card_name" "device_name")"
# DESCRIPTION:
# Parses aplay's output to find the device specified by card and device
# ARGUMENTS:
# card_name The name of the card to be found
# device_name The name of the device to be found
# STDOUT:
# Writes the proper alsa device name (in hd0,0 style) to stdout
# RETURN VALUE:
# 0 Succeeded in generating output value
# 1 Failed to generate output value
aplay --list-devices | grep --fixed-strings "$1" | grep --fixed-strings --max-count 1 "$2" | sed -r 's/^card ([0-9]{1,}): .*, device ([0-9]{1,}): .*$/hw:\1,\2/; T die; q 0; :die; Q 1'
}
那来自我编写的一个工具,它可以自动配置 Jack 以使用用户想要的任何卡运行。此函数仅查找与提供的名称匹配的 ALSA 设备,并以 Jack 样式返回其名称(我很确定……)。