#topichpath

対話してみよう

ロボットがしゃべるようになったので、今度は音声認識を使っておしゃべりしてみましょう。

音声認識の機能は、スコア付された複数の

音声認識(ベストスコア)のブロックをドラッグ&ドロップしてください。

音声認識のブロックはデフォルトの設定で「こんにちは」の言葉を認識するようになっています。これを使って、ロボットに「こんにちは」と話しかけると答えるプログラムを作ってみましょう。

既にメソッドに発話ブロックがつながっているので、SHIFTキーを押しながらブロックをドラッグし、メソッドブロックとの接続を切り離してください。続いて、音声認識ブロックをメソッドブロックと 接続してください。

次に音声認識ブロックと発話ブロックをつなぎます。音声認識ブロックは分岐構造で各分岐に一つずつコネクタが備わっています。それぞれの分岐が成立した場合、そこにつないだブロックへ進みます。

上側の分岐条件が「「こんにちは」を認識した」なので、先程切り離したブロックを上側の分岐に接続してください。

また、それ以外の言葉を認識した場合、及び認識できなかった場合は下側の分岐へ進みます。こちらにも発話ブロックを一つドラッグ&ドロップして接続し、しゃべる言葉に「何ですか?」と入力してください。

プログラムが完成したら実行してみましょう。 実行すると、ロボットの目が水色に変化して認識を開始するので、額にあるマイクに向かって「こんにちは」と話しかけましょう。 「こんにちは」と正しく聞き取れた場合はロボットが「こんにちは」と返し、うまく聞き取れなかったり別の言葉を話しかけると「何ですか?」と返します。

マイクに近すぎたり遠すぎたりすると正しく聞き取れない場合があります。

音声認識の認識結果は、コンソールウィンドウに逐次表示されます。

タイムアウトの設定は、

  • ○分岐条件を追加してみる

次に、条件分岐の設定を行い、別の言葉も認識できるようにしてみましょう。

分岐に関する設定はプロパティウィンドウに表示されません。設定を行う場合、ブロックをダブルクリックして、別途条件分岐の設定ダイアログを開きます。

分岐条件の設定ダイアログは、左側にブロックが持つ全ての分岐条件、右側に個々の分岐条件の詳細設定を、それぞれ表示します。

条件分岐

  • ○無限ループを追加して、何度も