Audio
arecord 命令的問題:頻道計數不可用
我在終端中使用 arecord 命令得到了一些混合結果。我使用的硬體包括用於 Raspberry Pi 的 Cirrus 音效卡。我正在嘗試將 24 位 192kHz 聲音(來自板載 MIC)錄製到 WAV 文件中,然後播放(通過耳機)。首先,我確保啟用 MIC 和耳機:
$ ./Record_from_DMIC.sh $ ./Playback_to_Headset.sh
然後我嘗試了多個命令,結果好壞參半。
$ arecord -f S24_LE -r 192 -d 20 test.wav Recording WAVE 'test.wav' : Signed 24 bit Little Endian, Rate 192000 Hz, Mono $ arecord: set_params:1087: Channels count non available # So I set the number of channels to 1 (even though it is that, by default) $ arecord -c 1 -f S24_LE -r 192 -d 20 test.wav Recording WAVE 'test.wav' : Signed 24 bit Little Endian, Rate 192000 Hz, Mono arecord: set_params:1087: Channels count non available
仍然得到同樣的錯誤。我擺脫了速率(192kHz),讓它預設:
$ arecord -d 10 -c 1 -f S24_LE -t wav test.wav Recording WAVE 'test.wav' : Signed 24 bit Little Endian, Rate 8000 Hz, Mono $ arecord: set_params:1087: Channels count non available
仍然得到同樣的錯誤。所以我只是使用了我在網上找到的命令的範例執行(http://linux.die.net/man/1/arecord):
$ arecord -d 10 -f cd -t wav test.wav Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
這行得通。但顯然使用了與我想要的不同的值。我在 192kHz 播放時也遇到了問題:
$ aplay -c 1 -r 192000 test.wav Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
我嘗試以 192kHz 播放,但它下降到 44.1kHz。有沒有人知道為什麼我會得到所有這些奇怪的錯誤和結果?
我發現了問題所在。該命令預設是因為我沒有指定 2 通道(立體聲)192kHz 音頻輸入。這是一個有效的命令範例:
$ arecord -f S24_LE -c 2 -r 192000 -d 20 test.wav
這
-c 2
就是修復我的命令的原因。