上野家のホームページ
ナーマル,マリン,ココ
[
新規
|
一覧
|
検索
|
最新
|
ヘルプ
]
PC/RaspberryPi/スマートスピーカー/alexa
をテンプレートにして作成
資料室
PC/RaspberryPi/スマートスピーカー/alexa をテンプレートにして作成
[
差分
|
バックアップ
|
リロード
]
[ ]
開始行:
* AVS Device SDKを動かしてみる
Amazon Alexaを動かすにはいくつかのやり方があるようだ。
- [[alexa-avs-sample-app>https://github.com/alexa/alexa-a...
Javaで作成されているフロントエンドアプリ。GUI環境が必要。~
(いつの間にか,公開されなくなってしまった。)
- [[avs-device-sdk>https://github.com/alexa/avs-device-sd...
C++で作成されているアプリ。製品なんかに組み込む用途向けら...
(月1回のペースで更新されているようだ。)
このページでは, [[AVS Device SDK>https://developer.amazo...
AVS Device SDKをRaspberry Piにインストールする手順は,htt...
AVSは,Alexa Voice Serviceのこと。
** 準備
ホームにsdk-folderを作成する。
$ cd /home/yuji/
$ mkdir sdk-folder
$ cd sdk-folder
$ mkdir sdk-build sdk-source third-party application-nec...
$ cd application-necessities
$ mkdir sound-files
** サウンドdriverとalsa,pulseaudioの設定
[[AIY Voice Kit(V1になった古いやつ)>/PC/RaspberryPi/ス...
''/boot/config.txt''でのサウンドdriverをロードする部分を...
# Enable audio (loads snd_bcm2835)
#dtparam=audio=on
#dtoverlay=i2s-mmap
dtoverlay=googlevoicehat-soundcard
このように修正して,Raspberry Piのオンボードのサウンド機...
alsaの設定ファイルを,AIY Voice Kitのマイクとスピーカーを...
[[/etc/asound.conf>http://www.alsa-project.org/main/index...
options snd_rpi_googlemihat_soundcard index=0
pcm.softvol {
type softvol
slave.pcm dmix
control {
name Master card 0
}
}
pcm.micboost {
type route
slave.pcm dsnoop
ttable {
0.0 30.0
1.1 30.0
}
}
pcm.!default {
type asym
playback.pcm "plug:softvol"
capture.pcm "plug:micboost"
}
ctl.!default {
type hw
card 0
}
そして,''~/.asoundrc''にコピーしておく。
$ cp /etc/asound.conf ~/.asoundrc
AVS Device SDKは,PulseAudioを使用してはいないようだ。ま...
しかし,AVSを動かす時に音関連はPulseAudio経由で行うことに...
なので,PulseAudioの設定ファイル''/etc/pulse/default.pa''...
load-module module-alsa-sink device=dmix
load-module module-alsa-source device=dsnoop
#load-module module-alsa-source device=hw:0,0
:
:
# comment out by Yuji Ueno
### Automatically load driver modules depending on the h...
#.ifexists module-udev-detect.so
#load-module module-udev-detect
#.else
# Use the static hardware detection module (for systems ...
# comment out by Yuji Ueno
#load-module module-detect
#.endif
このようにして,PulseAudioからALSAライブラリ(dmix/dsnoop...
また,udevによる自動でサウンドドライバーをロードしないよ...
Raspberry Piをリブート後,pacmdを使って,音量とマイク入力...
// $ amixer sset Master 50%
// $ amixer sset Capture 100%
$ pacmd set-sink-volume alsa_output.dmix 0x6667
$ pacmd set-source-volume alsa_input.dsnoop 0x15000
マイク入力レベルを上げるのは,最近のStretchだとなぜかマイ...
** 依存関連をインストール
AVS Device SDKは,いくつかのライブラリやツールを必要とす...
$ sudo apt-get install git gcc cmake build-essential lib...
マイクを使用するのに[[PortAudio>http://portaudio.com/]]を...
$ cd ~/sdk-folder/third-party
$ wget -c http://www.portaudio.com/archives/pa_stable_v1...
$ tar zxf pa_stable_v190600_20161030.tgz
$ cd portaudio
$ ./configure --without-jack
$ make
[[commentjson>https://github.com/vaidik/commentjson]]は,...
commentjsonを以下のようにしてインストールする。
$ pip install commentjson
** AVS Device SDKとWakeWordエンジン(音声トリガー)をダウ...
Alexaは,話しかけた言葉に反応するようなシステム。その話し...
上記のサイトには,以下のようにAVS Device SDKとWakeWordエ...
+ AVS Device SDKをsdk-sourceにクローンする~
$ cd ~/sdk-folder/sdk-source
$ git clone git://github.com/alexa/avs-device-sdk.git
+ Sensory's WakeWord Engineをthird-partyにクローンする~
$ cd ~/sdk-folder/third-party
$ git clone git://github.com/Sensory/alexa-rpi.git
+ Sensory's WakeWord Engineを動かすためのライセンスを取得...
$ cd ~/sdk-folder/third-party/alexa-rpi/bin/
$ ./license.sh
しかし今回は,WakeWordを認識するプログラムをSensoryではな...
変える理由は,デフォルトのSensoryだと,WakeWord認識時のマ...
AVS Device SDKとSnowboyをダウンロードし,その依存パッケー...
+ AVS Device SDKをsdk-sourceにクローンする~
$ cd ~/sdk-folder/sdk-source
$ git clone git://github.com/alexa/avs-device-sdk.git
上と同じ~
+ Snowboyを取得する。~
$ cd ~/sdk-folder/third-party
$ git clone https://github.com/Kitt-AI/snowboy.git
Snowboyはコンパイル済みのバイナリ供給のようだ。
+ Snowboyが必要とするライブラリをインストールする。
$ sudo apt-get install libatlas-base-dev
Snowboyのリソースファイル(「アレクサ」に反応する)をセッ...
$ cd ~/sdk-folder/third-party/snowboy/resources
$ cp alexa/alexa-avs-sample-app/alexa.umdl .
** AVS Device SDKのビルド
*** Makefileを作成
ビルドするには,まずcmakeでMakefileを作成しろと書いてある。
$ cd ~/sdk-folder/sdk-build
$ cmake ~/sdk-folder/sdk-source/avs-device-sdk -DSENSORY...
Snowboyにするため,以下のように変更してcmakeでMakefileを...
$ cd ~/sdk-folder/sdk-build
$ cmake ~/sdk-folder/sdk-source/avs-device-sdk -DKITTAI_...
*** AVS Device SDKをビルド
後は,SDK Sampleアプリをビルドする。
$ cd ~/sdk-folder/sdk-build
$ make
*** Snowboy関連でビルドエラー
SDK Sampleアプリをビルドしようとすると,%%Snowboy関連でビ...
最近更新されているソース(v1.11.0)だと,どのバージョンか...
以下のように修正した。
''~/sdk-folder/sdk-source/avs-device-sdk/KWD/KittAi/src/K...
std::chrono::milliseconds msToPushPerIteration) :
AbstractKeywordDetector(keyWordObservers, keyWor...
m_stream{stream},
m_maxSamplesPerPush{(audioFormat.sampleRateH...
と,''static_cast''を追加。
それと,''~/sdk-folder/sdk-source/avs-device-sdk/build/cm...
add_definitions (-D_GLIBCXX_USE_CXX11_ABI=0)
を,
# Set up the compiler flags.
の下あたりに追加。
再度,makeでビルドする。
** 設定ファイルを編集
[[Amazon開発者コンソール(USAのAmazon)>https://developer...
情報の登録:~
- 製品名~
好きな名前で良い。AIYVoiceKit
- 製品ID~
好きなIDで良い。AIYVoiceKit
- 製品タイプ~
Alexa内臓の端末。
- ご使用の端末は、コンパニオンアプリを使用しますか~
はい
- 商品カテゴリ~
ワイヤレススピーカー
- 製品概要~
なんでもよい。Raspberry Pi Sample Project
- 画像をアップロード~
未登録。
- エンドユーザーは、商品とどのようにやり取りするのでしょ...
ハンズフリーなのかも。ファーフィールドにしてみた。
- この製品を商品として配信する予定ですか ?~
いいえ。
- お客様の端末は以下のために使用されますか Alexa for Busi...
いいえ。
- お客様の端末は以下のために使用されますか: Alexaモバイル...
いいえ。
セキュリティプロファイル:~
情報と同じに登録した。~
ウェブのところのクライアントIDをメモしておく。
こんなように登録してみた。
登録した情報を,''~/sdk-folder/sdk-build/Integration/Alex...
{
"deviceInfo":{
"clientId":"amzn1.application-oa2-client.xxxxxxx...
"deviceSerialNumber":"yyyyyy",
"productId":"AIYVoiceKit"
},
"alertsCapabilityAgent":{
"databaseFilePath":"/home/yuji/sdk-folder/applic...
},
"certifiedSender":{
"databaseFilePath":"/home/yuji/sdk-folder/applic...
},
"settings":{
"databaseFilePath":"/home/yuji/sdk-folder/applic...
"defaultAVSClientSettings":{
"locale":"ja-JP"
}
},
"notifications":{
"databaseFilePath":"/home/yuji/sdk-folder/applic...
},
"cblAuthDelegate":{
"databaseFilePath":"/home/yuji/sdk-folder/applic...
},
"dcfDelegate":{
},
"miscDatabase":{
"databaseFilePath":"/home/yuji/sdk-folder/applic...
},
"sampleApp":{
"endpoint": "https://avs-alexa-fe.amazon.com",
"displayCardsSupported":true
},
"gstreamerMediaPlayer":{
"audioSink":"alsasink"
}
}
deviceInfoのclientId,deviceSerialNumber,productIdを設定...
それぞれ,[[Amazon開発者コンソール>https://developer.amaz...
Locale設定を,''ja-JP''にしておく。
[[エンドポイント>https://developer.amazon.com/ja/docs/ale...
それと,dbファイル名を任意の場所に指定する。
バージョンが更新されて,以下のエントリが必要になった。
"deviceSettings":{
"databaseFilePath":"/home/yuji/sdk-folder/applic...
},
** SDKの起動とオプション
公式手順では,起動時コマンドとして,以下のように書いてあ...
$ cd ~/sdk-folder/sdk-build/SampleApp/src && TZ=UTC ./Sa...
最後の引数が,WakeWord認識プログラム用みたいなんで,これ...
そのため,以下のように変更して実行する。
$ cd ~/sdk-folder/sdk-build/SampleApp/src && TZ=UTC ./Sa...
snowboyのresouucesというフォルダを参照するようにすればい...
*** アプリの認証
起動すると,
##################################
# NOT YET AUTHORIZED #
##################################
#######################################################...
# To authorize, browse to: 'https://amazon.com/us/...
こんなメッセージが出るので,WEBブラウザで https://amazon....
承認されれば,SampleAppがauthorizedになって,少し経つとid...
########################################
# Alexa is currently idle! #
########################################
これで,「アレクサ」って言ったら,応答してくれたら成功な...
** 音声がスピーカーから出力されない
しかし,「アレクサ」っていうと反応はしているようだが,音...
''~/sdk-folder/sdk-source/avs-device-sdk/MediaPlayer/src/...
MEDIAPLAYER_AUDIO_SINK_KEY, &audioSinkElement, "...
のようになっているのを,
MEDIAPLAYER_AUDIO_SINK_KEY, &audioSinkElement, "...
に変更して再ビルドしたら,音が出た。
Locale設定を日本語にしているんで大丈夫と思うが,もし英語...
** マイク感度と音声ボリュームの変更
デフォルト状態だとマイク感度が低すぎて,「アレクサ」にな...
マイク感度と音声のボリュームは,ソースに値が決め打ちされ...
''~/sdk-folder/sdk-source/avs-device-sdk/KWD/KWDProvider/...
/// The sensitivity of the Kitt.ai engine.
static const double KITT_AI_SENSITIVITY = 0.6;
/// The audio amplifier level of the Kitt.ai engine.
static const float KITT_AI_AUDIO_GAIN = 2.0;
と,ハードコーティングされている。~
KITT_AI_SENSITIVITYでWakeWord検知でのマイク感度,KITT_AI_...
/// The sensitivity of the Kitt.ai engine.
static const double KITT_AI_SENSITIVITY = 0.70;
/// The audio amplifier level of the Kitt.ai engine.
static const float KITT_AI_AUDIO_GAIN = 0.5;
にして,再ビルド。Snowboyの開発者のページには,0から1の間...
マイク感度を上げすぎると,スピーカーでの音声出力を拾った...
残念ながら,AVS Device Kitに含まれるWakeWordエンジンのSen...
Amazonで販売されているAVS Development Kitや製品のAmazon E...
もう少し何とかならないかな?
** ちょっと追加
現状だと,「アレクサ」って言ったときに,Listeningモードに...
そこで,Listeningモードになったら,ポーンというような音で...
''~/sdk-folder/sdk-source/avs-device-sdk/SampleApp/src/UI...
switch (m_dialogState) {
case DialogUXState::IDLE:
system("gpio -g mode 25 out");
system("gpio -g write 25 0");
ConsolePrinter::prettyPrint("Alexa is cu...
return;
case DialogUXState::LISTENING:
system("gpio -g mode 25 out");
system("gpio -g write 25 1");
system("aplay /home/yuji/sdk-folder/thir...
ConsolePrinter::prettyPrint("Listening.....
と追加した。wavファイルは,Snowboyのresourceフォルダにあ...
** Amazon Alexaの設定
WEBブラウザで [[https://alexa.amazon.co.jp/]] にアクセス...
- デバイスの所在地
- デバイスのタイムゾーン
- 温度の単位
- 距離の単位
なんかを設定しておく。天気とか尋ねると,設定した場所につ...
** 起動時に自動実行する
起動スクリプトを作成する。~
''~/startavs.sh''
#!/bin/bash
pulseaudio -k
pulseaudio -D
pacmd set-sink-volume alsa_output.dmix 0x6667
pacmd set-source-volume alsa_input.dsnoop 0x15000
cd ~/sdk-folder/sdk-build/SampleApp/src && TZ=UTC ./Samp...
PulseAudioがRaspbianを更新したら起動しなくなったんで,起...
実行パーミッションを立てる。
$ chmod 755 startavs.sh
cronを使って,Raspberry Piが起動時にAVS Device SDKのSampl...
$ crontab -e
@reboot /home/yuji/startavs.sh
これで,Raspberry Piを再起動したら自動的にSampleAppが動く...
あまり上手い方法ではないけど以下のように,''~/sdk-folder/...
while (true) {
// add by Yuji Ueno
std::this_thread::sleep_for(std::chrono::hours(1));
continue;
//
char x;
入力をスキップするコードを追加した。
SampleAppは起動するとユーザーからの入力をstdinから行うよ...
しょうがないんだが,ユーザー入力を受け付けないように変更...
再度ビルドしたら,無事cronで起動時に自動的に実行できるよ...
* Amazon Musicが使えない
AVS Device SDKのSampleAppだと,なんとAmazon Musicを聞くこ...
Fire TV Stickともつながらないし・・・
って,以前はつながらなかったんだけど,Fire TV Stick(使っ...
あとは,Amazon Musicが使えればなぁ・・・
終了行:
* AVS Device SDKを動かしてみる
Amazon Alexaを動かすにはいくつかのやり方があるようだ。
- [[alexa-avs-sample-app>https://github.com/alexa/alexa-a...
Javaで作成されているフロントエンドアプリ。GUI環境が必要。~
(いつの間にか,公開されなくなってしまった。)
- [[avs-device-sdk>https://github.com/alexa/avs-device-sd...
C++で作成されているアプリ。製品なんかに組み込む用途向けら...
(月1回のペースで更新されているようだ。)
このページでは, [[AVS Device SDK>https://developer.amazo...
AVS Device SDKをRaspberry Piにインストールする手順は,htt...
AVSは,Alexa Voice Serviceのこと。
** 準備
ホームにsdk-folderを作成する。
$ cd /home/yuji/
$ mkdir sdk-folder
$ cd sdk-folder
$ mkdir sdk-build sdk-source third-party application-nec...
$ cd application-necessities
$ mkdir sound-files
** サウンドdriverとalsa,pulseaudioの設定
[[AIY Voice Kit(V1になった古いやつ)>/PC/RaspberryPi/ス...
''/boot/config.txt''でのサウンドdriverをロードする部分を...
# Enable audio (loads snd_bcm2835)
#dtparam=audio=on
#dtoverlay=i2s-mmap
dtoverlay=googlevoicehat-soundcard
このように修正して,Raspberry Piのオンボードのサウンド機...
alsaの設定ファイルを,AIY Voice Kitのマイクとスピーカーを...
[[/etc/asound.conf>http://www.alsa-project.org/main/index...
options snd_rpi_googlemihat_soundcard index=0
pcm.softvol {
type softvol
slave.pcm dmix
control {
name Master card 0
}
}
pcm.micboost {
type route
slave.pcm dsnoop
ttable {
0.0 30.0
1.1 30.0
}
}
pcm.!default {
type asym
playback.pcm "plug:softvol"
capture.pcm "plug:micboost"
}
ctl.!default {
type hw
card 0
}
そして,''~/.asoundrc''にコピーしておく。
$ cp /etc/asound.conf ~/.asoundrc
AVS Device SDKは,PulseAudioを使用してはいないようだ。ま...
しかし,AVSを動かす時に音関連はPulseAudio経由で行うことに...
なので,PulseAudioの設定ファイル''/etc/pulse/default.pa''...
load-module module-alsa-sink device=dmix
load-module module-alsa-source device=dsnoop
#load-module module-alsa-source device=hw:0,0
:
:
# comment out by Yuji Ueno
### Automatically load driver modules depending on the h...
#.ifexists module-udev-detect.so
#load-module module-udev-detect
#.else
# Use the static hardware detection module (for systems ...
# comment out by Yuji Ueno
#load-module module-detect
#.endif
このようにして,PulseAudioからALSAライブラリ(dmix/dsnoop...
また,udevによる自動でサウンドドライバーをロードしないよ...
Raspberry Piをリブート後,pacmdを使って,音量とマイク入力...
// $ amixer sset Master 50%
// $ amixer sset Capture 100%
$ pacmd set-sink-volume alsa_output.dmix 0x6667
$ pacmd set-source-volume alsa_input.dsnoop 0x15000
マイク入力レベルを上げるのは,最近のStretchだとなぜかマイ...
** 依存関連をインストール
AVS Device SDKは,いくつかのライブラリやツールを必要とす...
$ sudo apt-get install git gcc cmake build-essential lib...
マイクを使用するのに[[PortAudio>http://portaudio.com/]]を...
$ cd ~/sdk-folder/third-party
$ wget -c http://www.portaudio.com/archives/pa_stable_v1...
$ tar zxf pa_stable_v190600_20161030.tgz
$ cd portaudio
$ ./configure --without-jack
$ make
[[commentjson>https://github.com/vaidik/commentjson]]は,...
commentjsonを以下のようにしてインストールする。
$ pip install commentjson
** AVS Device SDKとWakeWordエンジン(音声トリガー)をダウ...
Alexaは,話しかけた言葉に反応するようなシステム。その話し...
上記のサイトには,以下のようにAVS Device SDKとWakeWordエ...
+ AVS Device SDKをsdk-sourceにクローンする~
$ cd ~/sdk-folder/sdk-source
$ git clone git://github.com/alexa/avs-device-sdk.git
+ Sensory's WakeWord Engineをthird-partyにクローンする~
$ cd ~/sdk-folder/third-party
$ git clone git://github.com/Sensory/alexa-rpi.git
+ Sensory's WakeWord Engineを動かすためのライセンスを取得...
$ cd ~/sdk-folder/third-party/alexa-rpi/bin/
$ ./license.sh
しかし今回は,WakeWordを認識するプログラムをSensoryではな...
変える理由は,デフォルトのSensoryだと,WakeWord認識時のマ...
AVS Device SDKとSnowboyをダウンロードし,その依存パッケー...
+ AVS Device SDKをsdk-sourceにクローンする~
$ cd ~/sdk-folder/sdk-source
$ git clone git://github.com/alexa/avs-device-sdk.git
上と同じ~
+ Snowboyを取得する。~
$ cd ~/sdk-folder/third-party
$ git clone https://github.com/Kitt-AI/snowboy.git
Snowboyはコンパイル済みのバイナリ供給のようだ。
+ Snowboyが必要とするライブラリをインストールする。
$ sudo apt-get install libatlas-base-dev
Snowboyのリソースファイル(「アレクサ」に反応する)をセッ...
$ cd ~/sdk-folder/third-party/snowboy/resources
$ cp alexa/alexa-avs-sample-app/alexa.umdl .
** AVS Device SDKのビルド
*** Makefileを作成
ビルドするには,まずcmakeでMakefileを作成しろと書いてある。
$ cd ~/sdk-folder/sdk-build
$ cmake ~/sdk-folder/sdk-source/avs-device-sdk -DSENSORY...
Snowboyにするため,以下のように変更してcmakeでMakefileを...
$ cd ~/sdk-folder/sdk-build
$ cmake ~/sdk-folder/sdk-source/avs-device-sdk -DKITTAI_...
*** AVS Device SDKをビルド
後は,SDK Sampleアプリをビルドする。
$ cd ~/sdk-folder/sdk-build
$ make
*** Snowboy関連でビルドエラー
SDK Sampleアプリをビルドしようとすると,%%Snowboy関連でビ...
最近更新されているソース(v1.11.0)だと,どのバージョンか...
以下のように修正した。
''~/sdk-folder/sdk-source/avs-device-sdk/KWD/KittAi/src/K...
std::chrono::milliseconds msToPushPerIteration) :
AbstractKeywordDetector(keyWordObservers, keyWor...
m_stream{stream},
m_maxSamplesPerPush{(audioFormat.sampleRateH...
と,''static_cast''を追加。
それと,''~/sdk-folder/sdk-source/avs-device-sdk/build/cm...
add_definitions (-D_GLIBCXX_USE_CXX11_ABI=0)
を,
# Set up the compiler flags.
の下あたりに追加。
再度,makeでビルドする。
** 設定ファイルを編集
[[Amazon開発者コンソール(USAのAmazon)>https://developer...
情報の登録:~
- 製品名~
好きな名前で良い。AIYVoiceKit
- 製品ID~
好きなIDで良い。AIYVoiceKit
- 製品タイプ~
Alexa内臓の端末。
- ご使用の端末は、コンパニオンアプリを使用しますか~
はい
- 商品カテゴリ~
ワイヤレススピーカー
- 製品概要~
なんでもよい。Raspberry Pi Sample Project
- 画像をアップロード~
未登録。
- エンドユーザーは、商品とどのようにやり取りするのでしょ...
ハンズフリーなのかも。ファーフィールドにしてみた。
- この製品を商品として配信する予定ですか ?~
いいえ。
- お客様の端末は以下のために使用されますか Alexa for Busi...
いいえ。
- お客様の端末は以下のために使用されますか: Alexaモバイル...
いいえ。
セキュリティプロファイル:~
情報と同じに登録した。~
ウェブのところのクライアントIDをメモしておく。
こんなように登録してみた。
登録した情報を,''~/sdk-folder/sdk-build/Integration/Alex...
{
"deviceInfo":{
"clientId":"amzn1.application-oa2-client.xxxxxxx...
"deviceSerialNumber":"yyyyyy",
"productId":"AIYVoiceKit"
},
"alertsCapabilityAgent":{
"databaseFilePath":"/home/yuji/sdk-folder/applic...
},
"certifiedSender":{
"databaseFilePath":"/home/yuji/sdk-folder/applic...
},
"settings":{
"databaseFilePath":"/home/yuji/sdk-folder/applic...
"defaultAVSClientSettings":{
"locale":"ja-JP"
}
},
"notifications":{
"databaseFilePath":"/home/yuji/sdk-folder/applic...
},
"cblAuthDelegate":{
"databaseFilePath":"/home/yuji/sdk-folder/applic...
},
"dcfDelegate":{
},
"miscDatabase":{
"databaseFilePath":"/home/yuji/sdk-folder/applic...
},
"sampleApp":{
"endpoint": "https://avs-alexa-fe.amazon.com",
"displayCardsSupported":true
},
"gstreamerMediaPlayer":{
"audioSink":"alsasink"
}
}
deviceInfoのclientId,deviceSerialNumber,productIdを設定...
それぞれ,[[Amazon開発者コンソール>https://developer.amaz...
Locale設定を,''ja-JP''にしておく。
[[エンドポイント>https://developer.amazon.com/ja/docs/ale...
それと,dbファイル名を任意の場所に指定する。
バージョンが更新されて,以下のエントリが必要になった。
"deviceSettings":{
"databaseFilePath":"/home/yuji/sdk-folder/applic...
},
** SDKの起動とオプション
公式手順では,起動時コマンドとして,以下のように書いてあ...
$ cd ~/sdk-folder/sdk-build/SampleApp/src && TZ=UTC ./Sa...
最後の引数が,WakeWord認識プログラム用みたいなんで,これ...
そのため,以下のように変更して実行する。
$ cd ~/sdk-folder/sdk-build/SampleApp/src && TZ=UTC ./Sa...
snowboyのresouucesというフォルダを参照するようにすればい...
*** アプリの認証
起動すると,
##################################
# NOT YET AUTHORIZED #
##################################
#######################################################...
# To authorize, browse to: 'https://amazon.com/us/...
こんなメッセージが出るので,WEBブラウザで https://amazon....
承認されれば,SampleAppがauthorizedになって,少し経つとid...
########################################
# Alexa is currently idle! #
########################################
これで,「アレクサ」って言ったら,応答してくれたら成功な...
** 音声がスピーカーから出力されない
しかし,「アレクサ」っていうと反応はしているようだが,音...
''~/sdk-folder/sdk-source/avs-device-sdk/MediaPlayer/src/...
MEDIAPLAYER_AUDIO_SINK_KEY, &audioSinkElement, "...
のようになっているのを,
MEDIAPLAYER_AUDIO_SINK_KEY, &audioSinkElement, "...
に変更して再ビルドしたら,音が出た。
Locale設定を日本語にしているんで大丈夫と思うが,もし英語...
** マイク感度と音声ボリュームの変更
デフォルト状態だとマイク感度が低すぎて,「アレクサ」にな...
マイク感度と音声のボリュームは,ソースに値が決め打ちされ...
''~/sdk-folder/sdk-source/avs-device-sdk/KWD/KWDProvider/...
/// The sensitivity of the Kitt.ai engine.
static const double KITT_AI_SENSITIVITY = 0.6;
/// The audio amplifier level of the Kitt.ai engine.
static const float KITT_AI_AUDIO_GAIN = 2.0;
と,ハードコーティングされている。~
KITT_AI_SENSITIVITYでWakeWord検知でのマイク感度,KITT_AI_...
/// The sensitivity of the Kitt.ai engine.
static const double KITT_AI_SENSITIVITY = 0.70;
/// The audio amplifier level of the Kitt.ai engine.
static const float KITT_AI_AUDIO_GAIN = 0.5;
にして,再ビルド。Snowboyの開発者のページには,0から1の間...
マイク感度を上げすぎると,スピーカーでの音声出力を拾った...
残念ながら,AVS Device Kitに含まれるWakeWordエンジンのSen...
Amazonで販売されているAVS Development Kitや製品のAmazon E...
もう少し何とかならないかな?
** ちょっと追加
現状だと,「アレクサ」って言ったときに,Listeningモードに...
そこで,Listeningモードになったら,ポーンというような音で...
''~/sdk-folder/sdk-source/avs-device-sdk/SampleApp/src/UI...
switch (m_dialogState) {
case DialogUXState::IDLE:
system("gpio -g mode 25 out");
system("gpio -g write 25 0");
ConsolePrinter::prettyPrint("Alexa is cu...
return;
case DialogUXState::LISTENING:
system("gpio -g mode 25 out");
system("gpio -g write 25 1");
system("aplay /home/yuji/sdk-folder/thir...
ConsolePrinter::prettyPrint("Listening.....
と追加した。wavファイルは,Snowboyのresourceフォルダにあ...
** Amazon Alexaの設定
WEBブラウザで [[https://alexa.amazon.co.jp/]] にアクセス...
- デバイスの所在地
- デバイスのタイムゾーン
- 温度の単位
- 距離の単位
なんかを設定しておく。天気とか尋ねると,設定した場所につ...
** 起動時に自動実行する
起動スクリプトを作成する。~
''~/startavs.sh''
#!/bin/bash
pulseaudio -k
pulseaudio -D
pacmd set-sink-volume alsa_output.dmix 0x6667
pacmd set-source-volume alsa_input.dsnoop 0x15000
cd ~/sdk-folder/sdk-build/SampleApp/src && TZ=UTC ./Samp...
PulseAudioがRaspbianを更新したら起動しなくなったんで,起...
実行パーミッションを立てる。
$ chmod 755 startavs.sh
cronを使って,Raspberry Piが起動時にAVS Device SDKのSampl...
$ crontab -e
@reboot /home/yuji/startavs.sh
これで,Raspberry Piを再起動したら自動的にSampleAppが動く...
あまり上手い方法ではないけど以下のように,''~/sdk-folder/...
while (true) {
// add by Yuji Ueno
std::this_thread::sleep_for(std::chrono::hours(1));
continue;
//
char x;
入力をスキップするコードを追加した。
SampleAppは起動するとユーザーからの入力をstdinから行うよ...
しょうがないんだが,ユーザー入力を受け付けないように変更...
再度ビルドしたら,無事cronで起動時に自動的に実行できるよ...
* Amazon Musicが使えない
AVS Device SDKのSampleAppだと,なんとAmazon Musicを聞くこ...
Fire TV Stickともつながらないし・・・
って,以前はつながらなかったんだけど,Fire TV Stick(使っ...
あとは,Amazon Musicが使えればなぁ・・・
ページ名:
Counter: 0, today: 0, yesterday: 0
Copyright©2008 Yuji Ueno All Rights Reserved.
ログイン
ユーザ名:
パスワード:
IDとパスワードを記憶
パスワード紛失
メインメニュー
ホーム
でぶlog
資料室
最新ページ一覧
全ページ一覧
ヘルプ
フォーラム
お問い合わせ