Estou tendo alguns resultados mistos com o comando arecord no terminal. O hardware que estou usando consiste na Cirrus Audio Card para o Raspberry Pi. Eu estou tentando gravar um som de 192kHz 24-bit (a partir do onboard MIC) em um arquivo WAV, e depois reproduzi-lo (através da cabeça).
Primeiro, certifico-me de ativar o microfone e o fone de ouvido:
$ ./Record_from_DMIC.sh
$ ./Playback_to_Headset.sh
Então tentei vários comandos e obtive resultados mistos.
$ 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
Ainda recebe o mesmo erro. Eu me livrei da taxa (192kHz) e deixei o padrão:
$ 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
Ainda recebendo o mesmo erro. Então eu usei apenas um exemplo do comando que encontrei on-line ( link ):
$ arecord -d 10 -f cd -t wav test.wav
Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Isso funcionou. Mas claramente usou valores diferentes do que eu queria. Eu também tive problemas para jogar em 192kHz:
$ aplay -c 1 -r 192000 test.wav
Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Eu tento tocar em 192kHz, mas vai para 44,1kHz. Alguém tem alguma idéia do porque eu estou recebendo todos esses erros estranhos e resultados?