arecordコマンド関連の問題:チャンネル数は利用できません。

arecordコマンド関連の問題:チャンネル数は利用できません。

端末でarecordコマンドを使用すると、混合結果が表示されます。私が使用したハードウェアには、Raspberry Pi用のCirrusオーディオカードが含まれていました。オンボードMICの24ビット192kHzサウンドをWAVファイルとして録音し、ヘッドフォンで再生しようとしています。まず、マイクとヘッドフォンが有効になっていることを確認しました。

$ ./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に落ちましたね。なぜこのような奇妙なエラーと結果が表示されるのか知っている人はいますか?

ベストアンサー1

問題がどこにあるのか調べました。このコマンドは、2チャンネル(ステレオ)192kHzオーディオ入力を指定していないため、デフォルト値を使用します。以下は有効なコマンドの例です。

$ arecord -f S24_LE -c 2 -r 192000 -d 20 test.wav

それが-c 2私のコマンドを修正したことです。

おすすめ記事