Top / VstoneMagicを使ってみる / プログラミング / 音声再生・音声合成・音声認識

2.5. 音声再生・音声合成・音声認識を使ったプログラム

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

     音声合成・認識機能はライセンスの供与が必要です。ライセンス供与の手続きを行っていない場合は、必要データの入手に制限がある他、プログラムが正常に動作しません。



音声再生を行う

  • ○ リソースファイルの追加

     音声再生の命令ブロックでは、音声ファイル等外部に記録したファイルをプログラムから読み込んで使用します。このように、外部に存在しプログラムから読み込まれるファイルを「リソースファイル」と言います。リソースファイルをプログラムから使用するためには、最初にファイルをエクスプローラに追加する必要があります。

     リソースファイルの追加は、エクスプロ―ラの「resource」の項目を右クリックしてポップアップメニューを表示し、「追加」→「リソースファイル」をクリックします。クリックするとwavサウンドファイルを選択する画面を開くので、再生したい音声ファイルを選んで「開く」をクリックしてください。クリックすると、エクスプローラのresouceフォルダに選択したファイルが追加されます。


    image136.png




     追加したリソースファイルは、エクスプローラ上の項目をダブルクリックすると、ファイルの種類(拡張子)に対してお使いのPCで割り当てられているアプリケーションを起動し、ファイルを開くことができます。

       リソースファイルは、必ず半角英数のファイル名の物を使用してください。




  • ○ 音声再生ブロックの設定

     追加したwavサウンド形式のリソースファイルは、soundブロックで再生することができます。soundブロックは、プロパティウィンドウの「file」の項目で、再生する音声ファイルを選択できます。

    image137.png

     使用するリソースファイルは、プログラムの実行時に、プログラムのファイルと併せて本ソフトウェアからロボットに転送されます。一度ファイルを送信したら、ファイルが更新されない限り、次回以降転送を省略します。それでは、先ほど作成したプログラムに、任意のwavサウンドファイル(リソースファイル)を追加し、soundブロックで再生してみましょう。

    image138.png



    _

音声合成・認識を行う

 音声合成・音声認識の機能は、ブロックの追加を行うことで使用可能になります。また、ロボット本体にもファイルのインストールが必要です。これらのファイルの入手やロボット本体へのプログラムのインストールは、Sotaコミュニティサイトをご参照ください。

  • ○ 音声合成・認識ブロックの追加

    入手した命令ブロックのデータはzip形式で圧縮されており、展開すると「jp.co.vstone.tts」と「jp.co.vstone.speechrecog」の二つのフォルダができます。これらのフォルダが追加するブロックのデータになります。

    image139.png




     命令ブロックの追加は、ツールボックスから行います。ツールボックスの任意の項目を右クリックしてポップアップメニューを表示し、「コマンドブロックの追加」をクリックしてください。クリックするとファイルの選択画面を開くので、先ほどダウンロードして展開した各フォルダにある「」



    image140.png



  • ○ 音声合成の命令

     音声合成は、任意の文字列をリアルタイムで音声合成し、発話します。先に紹介したsoundブロックと違って、あらかじめ音声データを用意する必要がなく、また発話内容も文字列を変更するだけで容易に行うことができます。

    image141.png



     音声合成・音声認識は、インターネット上のサーバに接続する必要があるため、これらを使ったプログラムを実行する際は、必ずロボットをインターネットに接続してください。





  • ○ 音声認識の命令

     音声認識は、ロボット本体のマイクより周囲の人の声を取り込んで、文字列に変換します。音声認識ブロックでは、聞き取った文字列を元に条件分岐を設定します。分岐条件には、任意の文字列を一つ設定できます。このブロックでは、認識結果に設定した文字列が含まれると条件が成立します。例えば「こんにちは」を条件に設定したら、「こんにちは」以外に「どうも、こんにちは」など、条件の文字列を含む結果でも成立します。

    image142.png



    目次  次のページへ>>