2015/10/14 2015/10/28
Pepperと会話するアプリを作るには、「Speech Reco.」ボックスと 「Say」系ボックス を組み 合わせるか、 「Dialog」ボックスを利用します。
■「Speech Reco.」ボックスと 「Say」系ボックス を組み 合わせ
「Speech Reco.」ボックスは音声認識処理を実装するボックス。
通常、「Switch Case」ボックスと結線して使用する。
「Speech Reco.」ボックスの設定で音声の認識率を設定できる。
認識率を高く設定すると聞き取り憎くなり、低くすると間違った言葉にも反応してしまう。
認識率は40%ぐらいが良い感じ。
Pepperが聞き取った言葉はChoregrapheのダイアログで確認できる。
(ダイアログで人の言葉も入力できる)
Say系ボックスは文字を読み上げるボックス(Say, Text Say, Animated Say)
声の高さ:130、スピード:110が推奨値
「Say Text」ボックス:「Text Edit」ボックスなどと組み合わせて使用する。
「Say」ボックス:「Localized Text」ボックスと「Say Text」ボックスで構成。
「Animated Say」ボックス:「Localized Text」ボックスと「Animated Say Text」ボックスで構成。
内部でALAnimatedSpeechを使用:disabled(無効)、random(ランダム)、contextual(文脈から判断)を指定可能。
■「Dialog」ボックス
数往復のやり取りをさせたい場合は「Dialog」ボックスを使う。
コラボラティブ:他のアプリケーションと連動して動作する。
ノンコラボラティブ:他のアプリケーションと連動しない。
通常、認識率は変更できない。
QiChat
ユーザーと複数往復する会話を記述するスクリプト。
トピックファイル(.top)とDialogボックスを連携させて使用する。
concept構文を使うと反応させたい複数の単語をひとまとめに管理できる。
uX: インデントは1〜7の範囲
Dialogボックスを終了させるには「$onStopped=データ」を指定する必要がある。
データは何でも良い。
proposal構文を使うと発話内容を複数登録しておくことが出来る。
Peppperの話すイントネーションと抑揚を調整できる。
vct=声の高さ
rspd=声の速さ
pau=一時停止
vol=音量
例:\vct=135\\rspd=110\こんにちは\pau=1000\ペッパーです
(\は逆スラッシュ。設定を逆スラッシュで囲む)
■抑揚のポイント
・本来の意味と違う漢字(当て字)使ってみる
・漢字をひらがなにしてみる
・ひらがなの一部をカタカナにしてみる
・「、」やスペースで間を空ける
・語尾に「ー」「っ」「ッ」「!!」「?」を1つ以上使ってみる
・小さい「ぁ」「ぃ」「ぅ」「ぇ」「ぉ」「ゃ」「ゅ」「ょ」を使ってみる
■聞き取り精度向上
・Speech Reco.ボックスのWordListパラメータに想定させるセリフを全て入れておく
・DialogボックスでQiChat構文のconceptに想定されるセリフを全て入れておく
※ローカル音声認識の場合、想定されるセリフとして登録した言葉しか聞き取らない。
※Dialog内では音声認識の方法が2つあり、
ローカル音声認識の他にクラウド音声認識がある。
コラボラティブの場合、ローカル音声認識とクラウド音声認識のうち
認識率の高い方を採用する。
ノンコラボラティブの場合、ローカル音声認識のみ。
※アプリ作成時は聞き取れない時の事も考慮して作成すること。