at_kazutaka.bito
2019年9月2日 16時15分
Armadillo-640で、USBオーディオで録音、再生を試してみました。
1.カーネルコンフィギュレーションの設定
USB Audio/MIDI driverを有効にします。
Device Drivers ---> [*] Sound card support ---> [*] Advanced Linux Sound Architecture ---> [*] USB sound devices ---> [*] USB Audio/MIDI driver
Improved Transaction Translator schedulingを有効にします。
補足)
Problem with usb audio capture
を参考にすると、録音の場合、この設定が必要なようです。
Device Drivers ---> [*] USB support ---> [*] EHCI HCD (USB 2.0) support [*] Improved Transaction Translator scheduling
上記の設定後、ビルドしたカーネルをArmadillo-640に書き込みます。
2.オーディオ関連のパッケージをインストール
Armadillo-640をインターネットに接続可能なネットワークに接続します。
alsa-utilsをインストールします。
root@armadillo:~# apt-get install alsa-utils
3.USBオーディオのカード番号の確認
Armadillo-640にUSBオーディオのスピーカとマイク(※)を接続します。
※)今回の確認では、USBオーディオのヘッドセットを使いました。
USBオーディオのカード番号を確認します。
root@armadillo:~# arecord -l **** List of CAPTURE Hardware Devices **** card 0: Device [USB PnP Audio Device], device 0: USB Audio [USB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0
上記の場合、"card 0"より、カード番号が"0"であることがわかりました。
4.USBオーディオで録音
上記手順3で確認したカード番号"0"(※)のUSBオーディオのマイクから"sample.wav"に録音します。
※)下記コマンド末尾の"hw:0"でカード番号"0"を指定しています。
root@armadillo:~# arecord -c 1 -f S16_LE -r 16000 sample.wav -D hw:0
5.USBオーディオで再生
上記手順3で確認したカード番号"0"(※)のUSBオーディオのスピーカから"sample.wav"を再生します。
※)下記コマンド末尾の"plughw:0"でカード番号"0"を指定しています。
root@armadillo:~# aplay sample.wav -D plughw:0