前提・実現したいこと
ラズパイで、OKgoogleを作りたいです。
OKgoogle 〇〇して と言ったら答えてくれるやつです。
使用しているもの↓
raspberry pi 3 model B+
USBマイクロホン
イヤホンジャックに差すタイプのイヤホン(できたらbluetoothのスピーカーがいい)
やってること↓
googleプラットホーム?でプロジェクト作る、仮想環境構築、グーグルアシスタント等のパッケージインストール、資格証明書作成、デバイス登録、音声アクティビティ等onにする、実行
違う場所で同じことをした時には成功しました。
マイクさしてるのポートの場所がその時と違う
wifiが違う
一回電源を切った
くらいの違いだと思います
発生している問題・エラーメッセージ
(env) pi@raspberrypi:~ $ googlesamples-assistant-pushtotalk --project-id xxx --device-model-id xxxxx --lang ja-JA INFO:root:Connecting to embeddedassistant.googleapis.com INFO:root:Using device model xxxxxxx and device id xxxxxxxxxxxxxxxxxxxxxxxxxxx Press Enter to send a new request...
まではよくて、enter押すと、
INFO:root:Recording audio request. Traceback (most recent call last): File "/home/pi/env/bin/googlesamples-assistant-pushtotalk", line 10, in <module> sys.exit(main()) File "/home/pi/env/lib/python3.7/site-packages/click/core.py", line 722, in __call__ return self.main(*args, **kwargs) File "/home/pi/env/lib/python3.7/site-packages/click/core.py", line 697, in main rv = self.invoke(ctx) File "/home/pi/env/lib/python3.7/site-packages/click/core.py", line 895, in invoke return ctx.invoke(self.callback, **ctx.params) File "/home/pi/env/lib/python3.7/site-packages/click/core.py", line 535, in invoke return callback(*args, **kwargs) File "/home/pi/env/lib/python3.7/site-packages/googlesamples/assistant/grpc/pushtotalk.py", line 458, in main continue_conversation = assistant.assist() File "/home/pi/env/lib/python3.7/site-packages/tenacity/__init__.py", line 241, in wrapped_f return self.call(f, *args, **kw) File "/home/pi/env/lib/python3.7/site-packages/tenacity/__init__.py", line 330, in call start_time=start_time) File "/home/pi/env/lib/python3.7/site-packages/tenacity/__init__.py", line 279, in iter return fut.result() File "/usr/lib/python3.7/concurrent/futures/_base.py", line 425, in result return self.__get_result() File "/usr/lib/python3.7/concurrent/futures/_base.py", line 384, in __get_result raise self._exception File "/home/pi/env/lib/python3.7/site-packages/tenacity/__init__.py", line 333, in call result = fn(*args, **kwargs) File "/home/pi/env/lib/python3.7/site-packages/googlesamples/assistant/grpc/pushtotalk.py", line 139, in assist self.deadline): File "/home/pi/env/lib/python3.7/site-packages/grpc/_channel.py", line 364, in __next__ return self._next() File "/home/pi/env/lib/python3.7/site-packages/grpc/_channel.py", line 358, in _next raise self grpc._channel._Rendezvous: <_Rendezvous of RPC that terminated with: status = StatusCode.INVALID_ARGUMENT details = "Invalid 'dialog_state_in': bad language_code." debug_error_string = "{"created":"@1567004767.452536205","description":"Error received from peer ipv6:[2404:6800:4004:808::200a]:443","file":"src/core/lib/surface/call.cc","file_line":1052,"grpc_message":"Invalid 'dialog_state_in': bad language_code.","grpc_status":3}" > Segmentation fault
と表示され、話しかけられません。
試したこと
マイク関連の設定が悪いのかなと思い、.asoundrc というファイルをいじっていました。
.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:1,0" } }
補足情報
aplay -l,arecord -lの実行結果です。
(env) pi@raspberrypi:~ $ aplay -l **** ハードウェアデバイス PLAYBACK のリスト **** カード 1: Device [USB PnP Sound Device], デバイス 0: USB Audio [USB Audio] サブデバイス: 1/1 サブデバイス #0: subdevice #0 カード 2: ALSA [bcm2835 ALSA], デバイス 0: bcm2835 ALSA [bcm2835 ALSA] サブデバイス: 7/7 サブデバイス #0: subdevice #0 サブデバイス #1: subdevice #1 サブデバイス #2: subdevice #2 サブデバイス #3: subdevice #3 サブデバイス #4: subdevice #4 サブデバイス #5: subdevice #5 サブデバイス #6: subdevice #6 カード 2: ALSA [bcm2835 ALSA], デバイス 1: bcm2835 IEC958/HDMI [bcm2835 IEC958/HDMI] サブデバイス: 1/1 サブデバイス #0: subdevice #0 カード 2: ALSA [bcm2835 ALSA], デバイス 2: bcm2835 IEC958/HDMI1 [bcm2835 IEC958/HDMI1] サブデバイス: 1/1 サブデバイス #0: subdevice #0
(env) pi@raspberrypi:~ $ arecord -l **** ハードウェアデバイス CAPTURE のリスト **** カード 1: Device [USB PnP Sound Device], デバイス 0: USB Audio [USB Audio] サブデバイス: 1/1 サブデバイス #0: subdevice #0
###最後に
まだ経験が浅いうえに、初めてラズパイいじったのでわかりにくい質問になってしまいました。すいません。要は、OKgoogleをラズパイで動かしたいです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。