ついに動いた!!NAOの音声デバイスとGoogle Cloud APIのストリーミング連動

この間、NAOのマイクからの音声データをPC側でストリーミングで取得し、それをGoogle Cloud APIにそのままストリーミングで送り込み、ストリーミングでテキストに変換されたデータを受け取るという作業を行なっていたが、なんとか動いた。
NAOからデータを受け取るのは、ALAudioDeviceをpythonのqimessagingセッションだ。コールバックに入ってくるストリーミング音声データをQueueでうけとめ、一定量になったらGoogleに送り込み、テキスト化する。
二つをどう繋げるのか相当困惑したが、Google APIのサンプルのpyaudioを、ALAudioDeviceの機能に置き換えるのを基本にすれば動くことがわかった。
あとは、このテキストを整形して、ロボットに喋らせれば良いだけである。こちらは、ALTextToSpeechでもつかえば簡単にできる。エコーロボットになる。
パソコンは経由する。ネットで調べると、直接ロボットにpyaudioをインストールするという試みもあるようだが、結局、人工知能的な様々な処理はPC側でやらせた方が良いと思っている。ロボットのコンピュータの能力に制限されないから。
まだいま、出来たばっかりで、きちんと整理されていないので、それがそんだら詳しい報告をあげる。