Raspberry Pi – snowboyを試す

動作環境
環境 | バージョン |
---|---|
Raspberry Pi | Raspberry Pi 3 Model B Plus Rev 1.3 |
OS | Raspbian GNU/Linux 9.6 (stretch) |
snowboy | Version: 1.3.0 (2/19/2018) |
※ USBマイク、3.5mmジャック接続のスピーカーが必要です。 以下、USBマイクと3.5mmジャック接続のスピーカーを使用しての設定になります。
設定ファイルの作成
USBマイクのカード番号、デバイス番号を調べる。
arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
3行目の、card ~:
、device ~:
の番号を確認。
3.5mmジャックのカード番号、デバイス番号を調べる。
aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
Subdevices: 7/7
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0
[bcm2835 ALSA]
のほうの、card ~:
、device ~:
の番号を確認。
[bcm2835 IEC958/HDMI]
は、HDMIのほうなので注意。
.asoundrcファイルの作成
ログイン中のユーザのホームディレクトリに.asoundrc
ファイルを作成します。
ここではvim
を使用します。
vim .asoundrc
以下の内容を記述します。
pcm.!default {
type asym
capture.pcm "mic"
playback.pcm "speaker"
}
pcm.mic {
type plug
slave {
pcm "hw:1,0" #← マイクの[カード番号,デバイス番号]で設定する
}
}
pcm.speaker {
type plug
slave {
pcm "hw:0,0" #← スピーカーの[カード番号,デバイス番号]で設定する
}
}
snowboyのダウンロード
ライブラリをインストール
sudo apt-get install python-pyaudio python-pip libatlas-base-dev portaudio19-dev
pip
でpyaudio
をインストール
pip install pyaudio
snowboyのダウンロードと解凍
# ダウンロード
wget https://s3-us-west-2.amazonaws.com/snowboy/snowboy-releases/rpi-arm-raspbian-8.0-1.1.1.tar.bz2
# 解凍
tar -xvf rpi-arm-raspbian-8.0-1.1.1.tar.bz2
demoを実行
cd rpi-arm-raspbian-8.0-1.1.1/
demo.py
を実行して、引数に音声モデルファイルを指定します。
python demo.py resources/snowboy.umdl
「snow boy」とマイクに話かけてみる。
認識した場合は、INFO:snowboy:Keyword 1 detected at time:~
とコマンドラインに出力され、サウンドが鳴ります。
ちなみに、僕の発音が悪いのか認識してくれないので、作成した音声モデルファイルを使用しました。
認識した場合は、スピーカーから音が鳴ります。
音声モデルファイルの作成については、以下を参照してください。