我正在寻求一些在 Raspberry Pi 上配置音频的帮助,因为到目前为止我所有的谷歌搜索努力都还不够!
我的设置:
到目前为止,我已成功将 ALSA 配置为默认情况下通过 USB 网络摄像头进行捕获并通过 3.5 毫米插孔进行播放。例如,以下工作正常:
# Capture from Webcam
arecord test.wav
# Playback through 3.5mm jack
aplay test.wav
默认情况下,它会捕获 8 位、8KHz、单声道音频。但是,我希望默认捕获过程使用 16 位、16KHz、单声道设置,这就是我陷入困境的地方。
这是我的工作
~/.asoundrc
文件:
pcm.!default {
type asym
playback.pcm {
type hw
card 1
device 0
}
capture.pcm {
type plug
slave {
pcm {
type hw
card 0
device 0
}
}
}
}
还有我的
/etc/modprobe.d/alsa-base.conf
:
options snd_usb_audio index=0
options snd_bcm2835 index=1
options snd slots=snd-usb-audio,snd-bcm2835
以及
cat /etc/asound/cards
的输出:
0 [U0x46d0x825 ]: USB-Audio - USB Device 0x46d:0x825
USB Device 0x46d:0x825 at usb-3f980000.usb-1.4, high speed
1 [ALSA ]: bcm2835 - bcm2835 ALSA
bcm2835 ALSA
我按照各种指南设置
format
、rate
和 channels
属性,但没有成功。例如,这不起作用:
pcm.!default {
type asym
playback.pcm {
type hw
card 1
device 0
}
capture.pcm {
type plug
slave {
pcm {
type hw
card 0
device 0
}
format S16_LE
rate 16000
channels 1
}
}
}
(我还尝试过将这些属性移动到
pcm
块内,这是许多绝望的尝试之一!)
事实上,我根本没有 Linux 上的音频经验,我完全迷失了方向,非常感谢任何指导!
aplay
使用文件实际具有的任何示例格式,但是 arecord
创建一个新文件,因此如果您不想要愚蠢的默认值,则必须指定示例格式:
arecord -f S16_LE -r 16000 -c 1 test.wav