Raspberry Pi Zero WHに、ReSpeaker 2-Mics Pi HATを載せて音声出力を確認

Raspberry Pi Zero (WH含む)には、3.5mmジャックがなく、USBポートがありますがMicro-Bが1つだけです。 Mini HDMIがあるので、Mini HDMIからの出力時に音声を取り出すか、GPIOを使うか悩みどころです。今回は、「拡張ボード」を使います。「ReSpeaker 2-Mics Pi HAT」と言い、スイッチサイエンスで1300円ほどで購入しました。Amazonでは3500円前後でした(2018年8月現在)。

f:id:kolinz:20180820023633p:plain
上がReSpeaker 2-Mics Pi HAT、下にRaspberry Pi Zero WH

左右にマイクが2つと、3.5mmジャックが増え、コンビニなどでも購入可能なイヤフォンが使えます。 それ以外に、Groveコネクタがあるので対応ケーブルを使うことで、Grove対応やそれ以外の各種センサーをつなげることができます。 今回は、音声出力を確認するまでの手順です。

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install git
$ cd /usr/local/src/
$ sudo git clone https://github.com/respeaker/seeed-voicecard.git
$ cd seeed-voicecard/
$ sudo ./install.sh
$ sudo reboot

再起動後、再び接続し直します。

$ sudo alsactl --file=asound.state restore
$ aplay -l

$ aplay -l により音声出力デバイスの認識状況が表示される。

card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: seeed2micvoicec [seeed-2mic-voicecard], device 0: bcm2835-i2s-wm8960-hifi wm8960-hifi-0 [] Subdevices: 1/1

カード1のデバイス0 を指定すると、ReSpeaker 2-Mics Pi HATに接続したイヤフォンから聞こえることがわかります。 alsamixerを実行し、F6キーを押して、カード1に切り替え、の音量を上げます。96や100くらい。 Escキーを押して設定を終了します。

$ alsamixer

f:id:kolinz:20180820022442p:plain
alsamixerを実行し、サウンドデバイスの音声出力を調整している画面

サンプル音声ファイルを使って、実際にイヤフォンから音が出るか聴いてみましょう。下記コマンドを実行。

$ aplay -D plughw:1,0 /usr/share/sounds/alsa/Front_Left.wav