青いやつの進捗日記。

べんきょうのしんちょくをかいていきます。プログラミング初心者。

ReSpeaker Mic Array v2.0で360度どこから音が鳴ってるかをとってみよう

www.seeedstudio.io

www.switch-science.com

こちらのセンサーです。

microUSBでとりあえず電源を入れてみると光ります。

マイクが4つついていて、音声を認識すると真ん中が赤く光り、周囲の12個のLEDは音の発信源を認識してそちらの方向のLEDだけが光ります。

学会発表で使おうと思って買ったのですが、ただ電源入れただけで思いの外かっこいい…笑


で、本題。

音がどの角度から鳴っているかをとろう

こちらのセンサーを買った目的は、
音を発する方向をとりたかったから
なのです。

wiki.seeedstudio.com

こちらに公式ドキュメントがあります。

これのDOA(Direction of Arrival)のところを見てみましょう。

もうそのままやればできちゃいます。丁寧な公式ドキュメントがあって感謝。
ちなみに私はMacですのでご承知を。

まずはGit Cloneします。

git clone https://github.com/respeaker/usb_4_mic_array.git

これで、ホームディレクトリにusb_4_mic_arrayが出来ます。

cd usb_4_mic_array

で、そのディレクトリに移動します。

で、次にFinderでusb_4_mic_arrayを見ます。

VSCodeでもなんでもいいのでエディタで
そのディレクトリの中に、DOA.pyというファイルを作ります。
中身はこれ。

from tuning import Tuning
import usb.core
import usb.util
import time

dev = usb.core.find(idVendor=0x2886, idProduct=0x0018)
#print dev
if dev:
    Mic_tuning = Tuning(dev)
    while True:
        try:
            print Mic_tuning.direction
            time.sleep(1)
        except KeyboardInterrupt:
            break

はい。完璧。

で、次はもう動かすのみ。

ReSpeaker Mic Array v2.0をMacに繋いだ状態で、

sudo python doa.py 

をすれば、動きます。

いやエラー出るんですけど

ですよね、想定内です。

Traceback (most recent call last):
  File "doa.py", line 1, in <module>
    from tuning import Tuning
  File "/Users/xxgodmoonxx/usb_4_mic_array/tuning.py", line 5, in <module>
    import usb.core
ImportError: No module named usb.core

みたいな感じのエラー出ますよね。わかります。

解決方法も実は公式ドキュメントに書いてありまして、

公式ドキュメントのFAQのQ2: ImportError: No module named usb.coreというところを見ましょう。
答えはA2: Run sudo pip install pyusb to install the pyusb.です。

sudo pip install pyusb

としてあげましょう。

で、pyusbがダウンロードされます。

で、もう1回

sudo python doa.py 

としてあげましょう。

f:id:XxGodmoonxX:20180902034904p:plain

こんな感じで360度どこからの音を感知してるかとれます。

なかなかに正確にとってくれます。