non vorrei lavorare

ブログ名の通りです。javascript three.js mruby rust OCaml golang julialang blender

2018年春版Raspberry Pi 3の3.5mmジャックからAlexaを出した

こんばんは、長男が回復したと思ったら、今度は次男がまたまた発熱で実家に次男と二人出来ているkjunichiです。

背景

2017年末ごろから、サンプルアプリが、JavaからC++実装のモノに切り替わっていたりして、 軽くググると出てくる情報とは異なる今日この頃。

github.com

音声入力

WebCamのマイクだと駄目だった。

arecord -l

ALSAに認識されていてもAlexaから利用できなかった。

使えたマイク

以下のUSBマイクを購入した。

アレクサの声がしない

USBマイクを購入して

AbstractKeywordDetector:readFromStreamFailed:reason=readerTimeOut

のエラーが解消したが、「アレクサ」と呼んで、何か言っても、 ログ上はなんだか反応していることは分かるが、アレクサの声が全く聞こえない

もう、USBマイク購入という思わぬ出費を既にしており、お金がないから、追加投資は無理!

神ISSUE発見!

同やら、gstreamの出力先の指定が外部のUSBサウンドデバイスになっているのか、 以下の様にコードを修正することで、無事アレクサの声がスピーカーから聞こえるようになった。

MediaPlayer.cppを以下の様に修正。

-m_pipeline.audioSink = gst_element_factory_make("autoaudiosink", "audio_sink");
+m_pipeline.audioSink = gst_element_factory_make("alsasink", "audio_sink");

修正対象のソースのありか

cd ~
find . -name MediaPlayer.cpp

リビルド方法

cd ~
cd build
sudo make SampleApp

後は、READMEとおり、

cd ~
sudo bash startsample.sh

まとめ

関連記事

14年前の記事

13年前の記事

9年前の記事

4年前の記事