如何用arecord录制单声道?

时间:2015-02-19 16:28:19

标签: raspberry-pi speech-recognition audio-recording raspbian

我正在使用SpeechRecognition包进行文字转语音。它的WAV文件输入必须是单声道。当我使用arecord -D plughw:0 --duration=5 -f cd -vv ~/test.wav并使用aplay test.wav播放时,我得到(播放):

Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo

如何让arecord以单声道录制?我已尝试添加--channels=1,但当它开始录制并显示有关其(Plug PCM: Route conversion PCM)设置的信息时,它始终会显示:

...
channels    : 2
...

我的USB PnP Sound Device设置显示频道为1。 即使我将它设置为1,它也会播放为立体声。怎么了?

1 个答案:

答案 0 :(得分:2)

您的问题很奇怪,但我通常使用sox进行录制或转换

您可以使用rec命令直接录制: rec -r 16000 -c 1 -d 5 ~/test.wav

在这种情况下,请参阅此问题:https://raspberrypi.stackexchange.com/questions/4715/sox-alsa-sound-recording-issue

或者您可以将您的wav文件从立体声转换为单声道:sox ~/test.wav -c 1 ~/test_mono.wav 文档&示例:http://linux.die.net/man/1/sox