ReSpeakerとRaspberry Pi Zero Wを使った音声方向測位プロトタイプ作成

ReSpeaker(ReSpeaker 4-Mic Array for RaspberryPi)を使用し、音声方向測位をReSpeakerに搭載されている4つのマイクで検証をしました。手順を追いつつ紹介していきたいと思います。

ReSpeakerはSeeedstudioが販売しているマイクアレイモジュールです。

今回は再現性のある安定した挙動をさせることを目標にしました。

環境

seeedstudio ReSpeaker 4-Mic Array for Raspberry Pi ・mac OS X El Capitan ・Raspberry Pi 3 ・OS 2017-08-16-raspbian-stretch-lite.img

手順

公式の手順を参考にしました。
sudo apt-get update
sudo apt-get upgrade
sudo apt-get -y install vim
sudo apt-get -y install python-pip
sudo apt-get -y install python-dev
sudo apt-get -y install swig
sudo apt-get -y install libboost-python-dev
sudo apt-get -y install libpulse-dev
pip install pocketsphinx webrtcvad
sudo apt-get -y install python-pyaudio
sudo apt-get -y install libasound-dev
sudo pip install pyaudio respeaker --upgrade
sudo apt-get -y install portaudio19-dev
sudo pip install --pre pyusb
sudo pip install numpy
mkdir ~/git
cd ~/git
sudo apt-get -y install git
git clone https://github.com/respeaker/seeed-voicecard.git
git clone https://github.com/respeaker/mic_array.git
cd seeed-voicecard
sudo ./install.sh 4mic
sudo reboot
次に、オーディオ出力用のヘッドフォンジャックを選択します。
sudo raspi-config SPIを有効にする: sudo raspi-config
cd ~/git/mic_array
vim mic_array.py
最終行のコメントアウトを4micから8micに変更。
 python mic_array.py 成功。音が発生した方向の角度が数字で表示されています。(DOA)
変数で指定しているチャンネルを8から4に変更。
 vim vad_doa.py 実行。 python vad_doa.py

実行結果

Use ac108
00000000000000000000011111111000000000001111111111111000000000
262
0000000000000000011111111111111111
337
11111111111111111111
実行成功しました。 音が発生した方向が360までの数値で表されています。 0は音がない方向。1は音がある方向です。 シャットダウン・再起動を行っても問題なく再現するか試し、確認できました。
sudo reboot
python vad_doa.py
sudo shutdown -h now
python vad_doa.py

調査コマンド

arecord -L
sudo arecord -l
cat /proc/asound/modules
cat /proc/asound/pcm
cat /proc/asound/cards
cat /proc/asound/devices
cat /proc/asound/card0/pcm0c/info
cat /proc/asound/card0/pcm0p/info
cat /proc/asound/card1/pcm0c/info

今後の展望

RaspberryPiのアドオンボード1枚に完結しているこちらのReSpeakerが応用できるアイデアは多くあるのでは無いでしょうか。

会議での発言と発言者を照らし合わせたり、学校の教室での声をモニタリングしたり、飲食店で店員を呼ぶ声を取るなど、あらゆるアイデアへの発展が期待できそうです。

弊社では今後ともこのような基礎的な検証を繰り返し行なっていきますので、どなたかのご参考になれば幸いです。 isaaxの開発と同様、みなさまのご感想を活かして開発を進めてまいります。]]>

上部へスクロール