上野家のホームページ
ナーマル,マリン,ココ
[
新規
|
一覧
|
検索
|
最新
|
ヘルプ
]
PC/RaspberryPi/スマートスピーカー/alexa
のバックアップソース(No.1)
資料室
PC
/
RaspberryPi
/
スマートスピーカー
/
alexa
のバックアップソース(No.1)
[
差分
|
バックアップ
|
リロード
]
[ ]
差分
を表示
現在との差分
を表示
PC/RaspberryPi/スマートスピーカー/alexa
へ行く。
Next »
* AVS Device SDKを動かしてみる [#he5cb35e] AVS Device SDKをRaspberry Piにインストールする手順は, https://github.com/alexa/avs-device-sdk/wiki/Raspberry-Pi-Quick-Start-Guide に書かれている。 ** 準備 [#s31f3360] ホームにsdk-folderを作成して,作業をするようにした。 $ cd /home/yuji/ $ mkdir sdk-folder $ cd sdk-folder $ mkdir sdk-build sdk-source third-party application-necessities $ cd application-necessities $ mkdir sound-files ** 依存関連をインストール [#i18b0f40] AVS Device SDKは,いくつかのライブラリを必要とするので,それをインストールする。 $ sudo apt-get install git gcc cmake build-essential libsqlite3-dev libcurl4-openssl-dev libfaad-dev libsoup2.4-dev libgcrypt20-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-good libasound2-dev doxygen PortAudioが,マイクを使用するのに必要なのでビルドしておく。 $ cd /home/yuji/sdk-folder/third-party $ wget -c http://www.portaudio.com/archives/pa_stable_v190600_20161030.tgz $ tar zxf pa_stable_v190600_20161030.tgz $ cd portaudio $ /configure --without-jack $ make commentjsonは,AlexaClientSDKConfig.jsonをパースするのに必要。 commentjsonを以下のようにしてインストールする。 $ pip install commentjson ** AVS Device SDKとSensory wake word engineを取得する [#c877f7ca] サイトには,以下のようにしろと書いてある。 + AVS Device SDKをsdk-sourceにクローンする~ $ cd /home/yuji/sdk-folder/sdk-source $ git clone git://github.com/alexa/avs-device-sdk.git + Sensory wake word engineをthird-partyにクローンする~ $ cd /home/yuji/sdk-folder/third-party $ git clone git://github.com/Sensory/alexa-rpi.git + Sensory's wake word engineを動かすためのライセンスを取得する: $ cd /home/yuji/sdk-folder/third-party/alexa-rpi/bin/ $ ./license.sh 上のWake wordを認識するプログラムをSensoryの代わりにSnowboyにするため,Snowboyをダウンロードし依存パッケージを追加。 - Snowboyを取得する。~ $ cd /home/yuji/sdk-folder/third-party $ git clone https://github.com/Kitt-AI/snowboy.git - Snowboyが必要とするライブラリをインストールする。 $ sudo apt-get install libatlas-base-dev ** Snowboyのビルドエラー対策を行う [#e1c23a19] Snowboy向けcmakeを実行してSampleアプリをビルドしようとすると,ビルドエラーが発生してしまう。ビルドエラーは2個あった。 以下のように修正した。 ''/home/yuji/sdk-folder/sdk-source/avs-device-sdk/KWD/KittAi/src/KittAiKeyWordDetector.cpp'' std::chrono::milliseconds msToPushPerIteration) : AbstractKeywordDetector(keyWordObservers, keyWordDetectorStateObservers), m_stream{stream}, m_maxSamplesPerPush{(audioFormat.sampleRateHz / HERTZ_PER_KILOHERTZ) * static_cast<unsigned int>(msToPushPerIteration.count())}{ に,キャスト''static_cast''を追加。 ''/home/yuji/sdk-folder/sdk-source/avs-device-sdk/build/cmake/BuildOptions.cmake'' add_definitions (-D_GLIBCXX_USE_CXX11_ABI=0) を, # Set up the compiler flags. の下あたりに追加。 ** AVS Device SDKのビルド [#a5c40dd0] *** Makefileを作成 [#re188a80] ビルドするには, $ cd /home/yuji/sdk-folder/sdk-build $ cmake /home/yuji/sdk-folder/sdk-source/avs-device-sdk -DSENSORY_KEY_WORD_DETECTOR=ON -DSENSORY_KEY_WORD_DETECTOR_LIB_PATH=/home/yuji/sdk-folder/third-party/alexa-rpi/lib/libsnsr.a -DSENSORY_KEY_WORD_DETECTOR_INCLUDE_DIR=/home/yuji/sdk-folder/third-party/alexa-rpi/include -DGSTREAMER_MEDIA_PLAYER=ON -DPORTAUDIO=ON -DPORTAUDIO_LIB_PATH=/home/yuji/sdk-folder/third-party/portaudio/lib/.libs/libportaudio.a -DPORTAUDIO_INCLUDE_DIR=/home/yuji/sdk-folder/third-party/portaudio/include とある。 Snowboyにするため,以下のように変更してcmakeでMakefileを作成する。 $ cd /home/yuji/sdk-folder/sdk-build $ cmake /home/yuji/sdk-folder/sdk-source/avs-device-sdk -DKITTAI_KEY_WORD_DETECTOR=ON -DKITTAI_KEY_WORD_DETECTOR_LIB_PATH=/home/yuji/sdk-folder/third-party/snowboy/lib/rpi/libsnowboy-detect.a -DKITTAI_KEY_WORD_DETECTOR_INCLUDE_DIR=/home/yuji/sdk-folder/third-party/snowboy/include -DGSTREAMER_MEDIA_PLAYER=ON -DPORTAUDIO=ON -DPORTAUDIO_LIB_PATH=/home/yuji/sdk-folder/third-party/portaudio/lib/.libs/libportaudio.a -DPORTAUDIO_INCLUDE_DIR=/home/yuji/sdk-folder/third-party/portaudio/include *** AVS Device SDKをビルド [#d94583f0] 後は,SDKのサンプルアプリをビルドする。 $ make ** SDKの起動とオプション [#ua75d18f] 公式手順では起動時オプションがこう書いてある。 $ cd /home/yuji/sdk-folder/sdk-build/SampleApp/src && TZ=UTC ./SampleApp /home/yuji/sdk-folder/sdk-build/Integration/AlexaClientSDKConfig.json /home/yuji/sdk-folder/third-party/alexa-rpi/models 最後の引数がどうもWake word認識プログラム用らしく,これをSensoryからSnowboyに変更する。~ そのため,以下のように変更して実行する。 $ cd /home/yuji/sdk-folder/sdk-build/SampleApp/src && TZ=UTC ./SampleApp /home/yuji/sdk-folder/sdk-build/Integration/AlexaClientSDKConfig.json /home/yuji/sdk-folder/third-party/snowboy/resources/ snowboyのresouucesというフォルダを参照する形にすればいいようだ。 これで起動して,「アレクサ」って言ったら,応答してくれたら成功。~ しかし,「アレクサ」っていうと反応はしているようだが,音が出ない。~ MediaPlayer/src/MediaPlayer.cppの588行目を, MEDIAPLAYER_AUDIO_SINK_KEY, &audioSinkElement, "autoaudiosink"); のようになっているのを, MEDIAPLAYER_AUDIO_SINK_KEY, &audioSinkElement, "alsasink"); に変更した。 ** 感度とボリュームの変更 [#h336c7c9] デフォルト状態だとマイクの感度が低すぎてなかなか反応しない。~ マイク感度と音声のボリュームは,ソースに値が決め打ちされている。~ ''/home/yuji/sdk-folder/sdk-source/avs-device-sdk/KWD/KWDProvider/src/KeywordDetectorProvider.cpp''の26行目に, /// The sensitivity of the Kitt.ai engine. static const double KITT_AI_SENSITIVITY = 0.60; /// The audio amplifier level of the Kitt.ai engine. static const float KITT_AI_AUDIO_GAIN = 2.0; と,ハードコーティングされている。~ KITT_AI_SENSITIVITYでWake upでのマイク感度,KITT_AI_AUDIO_GAINで音声の大きさを設定できるみたい。~ KITT_AI_SENSITIVITY = 0.7 KITT_AI_AUDIO_GAIN = 0.5 にした。 ** ちょっと追加 [#taa71456] 現状だと,AlexaがVoice Wakeupされているかどうかを画面以外からはわからない。~ そこで,Wake upしたら音で反応するようにしてみた。 ''/home/yuji/sdk-folder/sdk-source/avs-device-sk/SampleApp/src/UIManager.cpp''の372行目あたりに, switch (m_dialogState) { case DialogUXState::IDLE: ConsolePrinter::prettyPrint("Alexa is currently idle!"); return; case DialogUXState::LISTENING: system("aplay /home/yuji/sdk-folder/third-party/snowboy/resources/dong.wav 1>/dev/null 2>/dev/null "); ConsolePrinter::prettyPrint("Listening..."); と追加した。system関数でaplayで音を出力しているだけ。 wavファイルは,Snowboyのresourceフォルダにあったファイルにしている。
Next »
PC/RaspberryPi/スマートスピーカー/alexa のバックアップ一覧
PC/RaspberryPi/スマートスピーカー/alexa のバックアップソース(No. All)
1: 2018-05-06 (日) 04:58:51
yuji
現: 2020-12-26 (土) 16:07:50
yuji
at 2018-05-11 (金) 23:45:41
Counter: 2093, today: 2, yesterday: 0
Copyright©2008 Yuji Ueno All Rights Reserved.
ログイン
ユーザ名:
パスワード:
IDとパスワードを記憶
パスワード紛失
メインメニュー
ホーム
でぶlog
資料室
最新ページ一覧
全ページ一覧
ヘルプ
» 関連ページ
» Wikiソース
» 編集履歴
» バックアップ一覧
» 添付ファイル一覧
フォーラム
お問い合わせ