Googleアシスタントで使用するUSBデバイスには設定が必要なのだが、USBサウンドデバイスを複数繋げた場合はどういう名前で認識されたのか分かりにくいので、順にテストすることが必要です。
■ USBスピーカの設定
今回は、「サンワサプライ USBスピーカー(ブラック) MM-SPU8BK」を使います。
USB接続すれば自動で認識されるはず。
認識されたら、カード番号、デバイス番号を確認します。
$ aplay -l
カード 1: MicroII [Audio Advantage MicroII], デバイス 0: USB Audio [USB Audio]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
今回の場合は、「カード 1」「デバイス 0」です。
デバイスをテストします。
$ speaker-test -D plughw:1,0 -t wav
デバイスの指定方法は、
plughw:<card number>,<device number>
なの、今回のUSBスピーカは plughw:1,0 となります。
この内容で、ALSA の設定ファイルに登録します。(下記を参照)
■ USBマイクの設定
今回は、感度高めのコンデンサータイプのマイクを使用します。
サンワサプライ USBマイクロホン MM-MCU01BK
こちらも自動認識されたら、カード番号、デバイス番号を確認します。
pi@raspberrypi:~ $ arecord -l
カード 0: Device [USB PnP Sound Device], デバイス 0: USB Audio [USB Audio]
サブデバイス: 0/1
サブデバイス #0: subdevice #0
今回の場合は、「カード 0」「デバイス 0」です。
デバイスをテストします。
$ arecord -D plughw:0,0 test.wav
上記で接続したUSBスピーカに出力してみます。
$ aplay -D plughw:1,0 test.wav
デバイスの指定方法は、同じく
plughw:<card number>,<device number>
なの、今回のUSBマイクは plughw:0,0 となります。
この内容で、ALSA の設定ファイルに登録します。(下記を参照)
■ ALSA(Advanced Linux Sound Architecture) の設定
この内容で、ALSA の設定ファイルに登録します。
シンプルにやるならば、ユーザのホームディレクトリにファイルを作成します。
Configure and Test the Audio
https://developers.google.com/assistant/sdk/guides/library/python/embed/audio
ALSA 設定ファイル
pi@raspberrypi:~ $ cat $HOME/.asoundrc pcm.!default { type asym capture.pcm "mic" playback.pcm "speaker" } pcm.mic { type plug slave { pcm "hw:0,0" } } pcm.speaker { type plug slave { pcm "hw:1,0" } }
これでデフォルトのサウンドデバイスが指定されたので、
検証してみます。
スピーカーテスト
$ speaker-test -t wav
マイクのテスト
$ arecord test.wav
$ aplay test.wav
これで動作すれば、Googleアシスタントの設定は妥当です。