• 追加された行はこの色です。
  • 削除された行はこの色です。
#topicpath

*2.5. 音声再生・音声合成・音声認識を使ったプログラム [#ee47495d]
~ 次に、音声を使ったプログラムを作成してみましょう。ロボット本体には音声再生の機能が備わっており、音楽や効果音・あらかじめ吹き込んだ音声などの、waveサウンド形式のファイルを再生することが可能です。また、追加機能によって、リアルタイムの音声合成や、音声認識を使ったプログラミングが可能です。それでは、これらの機能を使ったプログラムを作成してみましょう。
*2.5. 音声再生・音声認識を使ったプログラム [#ee47495d]

#contents

~次に、音声データの再生や音声認識を使ったプログラムを作成してみましょう。ロボット本体には音声再生の機能が備わっており、音楽や効果音・あらかじめ吹き込んだ音声などの、waveサウンド形式のファイルを再生することが可能です。また、ネットワークを利用して音声認識を使ったプログラミングが可能です。それでは、これらの機能を使ったプログラムを作成してみましょう。
~
~
      音声合成・認識機能はライセンスの供与が必要です。ライセンス供与の手続きを行っていない場合は、必要データの入手に制限がある他、プログラムが正常に動作しません。
~
~
** 音声再生を行う [#n0eda15c]
-○ リソースファイルの追加
~ 音声再生の命令ブロックでは、音声ファイル等外部に記録したファイルをプログラムから読み込んで使用します。このように、外部に存在しプログラムから読み込まれるファイルを「リソースファイル」と言います。リソースファイルをプログラムから使用するためには、最初にファイルをエクスプローラに追加する必要があります。
~音声再生の命令ブロックでは、音声ファイル等外部に記録したファイルをプログラムから読み込んで使用します。このように、プログラムの外部に存在し、プログラムから読み込まれるファイルを「リソースファイル」と言います。リソースファイルをプログラムから使用するためには、最初にファイルをエクスプローラに追加する必要があります。
~
~ リソースファイルの追加は、エクスプロ―ラの「resource」の項目を右クリックしてポップアップメニューを表示し、「追加」→「リソースファイル」をクリックします。クリックするとwavサウンドファイルを選択する画面を開くので、再生したい音声ファイルを選んで「開く」をクリックしてください。クリックすると、エクスプローラのresouceフォルダに選択したファイルが追加されます。
~リソースファイルの追加は、エクスプロ―ラの「resource」の項目を右クリックしてポップアップメニューを表示し、「追加」→「リソースファイル」をクリックします。クリックするとwavサウンドファイルを選択する画面を開くので、再生したい音声ファイルを選んで「開く」をクリックしてください。クリックすると、エクスプローラのresouceフォルダに選択したファイルが追加されます。
~
~
~
#ref(http://www.vstone.co.jp/sotamanual/sotamanual_pict/vstonemagic/image136.png,70%)
 
~
~
~
~
~ 追加したリソースファイルは、エクスプローラ上の項目をダブルクリックすると、ファイルの種類(拡張子)に対してお使いのPCで割り当てられているアプリケーションを起動し、ファイルを開くことができます。
~追加したリソースファイルは、エクスプローラ上の項目をダブルクリックすると、ファイルの種類(拡張子)に対してお使いのPCで割り当てられているアプリケーションを起動し、ファイルを開くことができます。
~
    リソースファイルは、必ず半角英数のファイル名の物を使用してください。
 リソースファイルは、必ず半角英数のファイル名の物を使用してください。
 また、説明中のファイルは参考例です。実際のプログラムの際には、waveサウンド形式のファイルを別途ご用意ください。
~
~
~
~
-○ 音声再生ブロックの設定
~ 追加したwavサウンド形式のリソースファイルは、soundブロックで再生することができます。soundブロックは、プロパティウィンドウの「file」の項目で、再生する音声ファイルを選択できます。
~追加したwavサウンド形式のリソースファイルは、soundブロックで再生することができます。soundブロックは、プロパティウィンドウの「file」の項目で、再生する音声ファイルを選択できます。
~
~
#ref(http://www.vstone.co.jp/sotamanual/sotamanual_pict/vstonemagic/image137.png,70%)
 
~ 使用するリソースファイルは、プログラムの実行時に、プログラムのファイルと併せて本ソフトウェアからロボットに転送されます。一度ファイルを送信したら、ファイルが更新されない限り、次回以降転送を省略します。それでは、先ほど作成したプログラムに、任意のwavサウンドファイル(リソースファイル)を追加し、soundブロックで再生してみましょう。
~使用するリソースファイルは、プログラムの実行時に、プログラムのファイルと併せて本ソフトウェアからロボットに転送されます。一度ファイルを送信したら、ファイルが更新されない限り、次回以降転送を省略します。それでは、先ほど作成したプログラムに、任意のwavサウンドファイル(リソースファイル)を追加し、soundブロックで再生してみましょう。
~
#ref(http://www.vstone.co.jp/sotamanual/sotamanual_pict/vstonemagic/image138.png,70%)
 
~
~
~
~_
** 音声合成・認識を行う [#ae895d97]
~ 音声合成・音声認識の機能は、ブロックの追加を行うことで使用可能になります。また、ロボット本体にもファイルのインストールが必要です。これらのファイルの入手やロボット本体へのプログラムのインストールは、Sotaコミュニティサイトをご参照ください。
~
-○ 音声合成・認識ブロックの追加
~入手した命令ブロックのデータはzip形式で圧縮されており、展開すると「jp.co.vstone.tts」と「jp.co.vstone.speechrecog」の二つのフォルダができます。これらのフォルダが追加するブロックのデータになります。
** 音声認識を行う [#ae895d97]
~
#ref(http://www.vstone.co.jp/sotamanual/sotamanual_pict/vstonemagic/image139.png,70%)
 
~音声認識は、ロボット本体のマイクより周囲の人の声を取り込んで、文字列に変換します。変換結果は単一ではなく、スコアや文節などに応じた複数種類が用意されるため、目的の認識ワードのみを設定すれば、それ単体の発音だけでなくそれを内包する発音でも識別しやすくなっています。
~
~
|COLOR(#FF0000){※ 音声認識機能はオプションサービスであり、別途ご登録が必要です。また、ネットワークに接続できない環境ではご利用いただけません。サービスが利用できない環境でブロックを使用すると、ロボット本体がエラーメッセージを発話します}|
~
~
~ 命令ブロックの追加は、ツールボックスから行います。ツールボックスの任意の項目を右クリックしてポップアップメニューを表示し、「コマンドブロックの追加」をクリックしてください。クリックするとファイルの選択画面を開くので、先ほどダウンロードして展開した各フォルダにある「」

-○音声認識(ベストスコア)ブロック
~

音声認識(ベストスコア)ブロックでは、分岐一つに対して認識ワードを一つ設定します。以下のはブロックを使ったサンプルです。聞き取れた音声に対してロボットが返答する構造で、「こんにちは」に対して「こんにちは」、「さようなら」に対して「さようなら」、「お名前は」に対して「ソータです」と返し、それ以外のワードでは「何ですか」と返します。

~
~
~
#ref(http://www.vstone.co.jp/sotamanual/sotamanual_pict/vstonemagic/image140.png,70%)
~
~ブロックをダブルクリックすると分岐条件の内容が表示され、wordの設定項目に、認識させるワードを入力します。
#ref(http://www.vstone.co.jp/sotamanual/sotamanual_pict/vstonemagic/image142.png,70%)
 
~
~音声認識を使うブロックを実行すると、以下のようにコンソールに全ての変換結果と各結果に対するスコアを表示します。認識精度が悪い場合は、こちらの表示を参考に認識ワードの設定などを調整してください。
~
#ref(http://www.vstone.co.jp/sotamanual/sotamanual_pict/vstonemagic/image141_.png,100%)
~
-○ 音声合成の命令
~ 音声合成は、任意の文字列をリアルタイムで音声合成し、発話します。先に紹介したsoundブロックと違って、あらかじめ音声データを用意する必要がなく、また発話内容も文字列を変更するだけで容易に行うことができます。
~
#ref(http://www.vstone.co.jp/sotamanual/sotamanual_pict/vstonemagic/image141.png,70%)
 
~
~
~
~
~

      音声合成・音声認識は、インターネット上のサーバに接続する必要があるため、これらを使ったプログラムを実行する際は、必ずロボットをインターネットに接続してください。
-○音声認識(正規表現)ブロック
~
音声認識(正規表現)ブロックでは、ベストスコアのブロックと類似しますが、分岐一つに対して正規表現を含む認識ワードを一つ設定します。
~例えば「今日はいい天気ですね」「いい天気だな」等の発話から「いい天気」を認識したい場合、認識ワードを「.*いい天気.*」に設定すると、検索結果内に「~~いい天気~~」のように「いい天気」が含まれる語句があれば、認識させることができます。

~
~ブロックをダブルクリックすると分岐条件の内容が表示され、wordの設定項目に、認識させるワードを入力します。
#ref(http://www.vstone.co.jp/sotamanual/sotamanual_pict/vstonemagic/image142.png,70%)
 
~
~
-○ 音声認識の命令
~ 音声認識は、ロボット本体のマイクより周囲の人の声を取り込んで、文字列に変換します。音声認識ブロックでは、聞き取った文字列を元に条件分岐を設定します。分岐条件には、任意の文字列を一つ設定できます。このブロックでは、認識結果に設定した文字列が含まれると条件が成立します。例えば「こんにちは」を条件に設定したら、「こんにちは」以外に「どうも、こんにちは」など、条件の文字列を含む結果でも成立します。
~
~
#ref(http://www.vstone.co.jp/sotamanual/sotamanual_pict/vstonemagic/image142.png,70%)
 
-○
~
~
~
~
~
~
~
~
[[目次>MenuBar]]  [[次のページへ>>>../変数を使ったプログラムの作成]]