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