ブログ

Armadillo-640:USBオーディオで録音、再生

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