我正在寻找一些在Raspberry Pi上配置音频的帮助,因为到目前为止我的谷歌搜索工作还没有完成!
我的设置:
到目前为止,我已设法将ALSA配置为默认情况下通过USB网络摄像头捕获并通过3.5毫米插孔播放。例如,以下工作正常:
# Capture from Webcam
arecord test.wav
# Playback through 3.5mm jack
aplay test.wav
默认情况下,它会捕获8位,8KHz,Mono的音频。但是,我希望默认捕获过程使用16位,16KHz,Mono设置,这就是我被卡住的地方。
这是我工作的~/.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的音频经验,而且我完全迷失了,任何指导都会非常感激!
答案 0 :(得分:-1)
aplay
使用文件实际具有的任何样本格式,但arecord
会创建一个新文件,因此如果您不想要愚蠢的默认值,则必须指定样本格式:
arecord -f S16_LE -r 16000 -c 1 test.wav