setlistener:jack 和 alsa 的错误

setlistener:jack 和 alsa 的错误

这里听起来是新手。我正在尝试配置听众但得到很多错误。我的目标是使用该工具从网络摄像头中的外部 USB 麦克风录制声音。所以,我有X运行 Raspbian 10 的无头(没有运行)Raspberry Pi B+ 型号,没有实时优先级,因为我无法在这个操作系统上设置它,说实话,我不确定我是否需要它:如果记录会在时间上稍微移动。

我已经设置libsndfileportaudioapt install -y jackd2 pulseaudio-module-jack jack-tools libasound2-dev libbjack-ocaml libbjack-ocaml-dev libjack-jackd2-0 libjack-jackd2-dev

我确实看到了该设备并且能够通过以下方式录制声音

arecord -D hw:C525,0 -d 5 -f dat test.wav -c 1

通过插入和拔出设备,我发现它被映射为/dev/media2/dev/video0/dev/video1(当网络摄像头拔出时,这些会消失),所以我尝试运行,setlistener /dev/media2但失败了错误(与上面链接相同)。

我尝试过(说实话并没有完全理解它的作用):

[as user] pulseaudio --start
[below as root]
export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/dbus/system_bus_socket 
# the file above does exist
export DISPLAY=":0"

jackd -r -d alsa
jackdmp 1.9.12
...
xcb_connection_has_error() returned true
JACK server starting in non-realtime mode
self-connect-mode is "Don't restrict self connect requests"
audio_reservation_init
dbus_bus_request_name() failed. (1)
Failed to acquire device name : Audio0 error : Connection ":1.23" is not allowed to own the service "org.freedesktop.ReserveDevice1.Audio0" due to security policies in the configuration file
Audio device hw:0 cannot be acquired...
Cannot initialize driver
JackServer::Open failed with -1
Failed to open server

is not allowed很混乱,因为我以 root 身份运行它。也试过了 jackd -r -d C525jackd -r -d hw:C525甚至jackd -r -d hw:C525,0这三个都回来了

xcb_connection_has_error() returned true
Unknown driver "[the name]"

我究竟做错了什么?或者,我正在寻找一种工具,仅当声音大于特定的 dB 级别时才录制音频。

答案1

部分答案:

我从未使用过listener,并且您的链接似乎不包含手册页。但它说有 ALSA 版本的listener.

因此,既然你无论如何都在无头运行:删除 PulseAudio,删除 JACK,删除 DBUS(除非你需要它来做其他事情)。下载 ALSA 版本listener,将其直接指向您的hw:C525,0设备(或者plughw如果您需要格式转换,也可以使用它)。

这应该消除 PulseAudio 和 JACK 同时运行的所有麻烦(首先是个坏主意),它们中的任何一个都占用实际硬件,并且其中一个试图通过有趣的依赖关系访问 X。

相关内容