3j-通信機API-プログラミング

6.発話のコントロール

クムクムロボットは簡単な文章であれば発話をすることができます。
これは、クムクムロボットの基板に「音声合成LSI」が搭載されており、この音声合成LSIを使って指定した文字を音声に変換し、発話をさせています。
ただし、この音声合成LSIは単語辞書などは持っていませんので、漢字を読むことができません。
したがって、指定する文章は基本的にはローマ字の文字列で表現することになります。

発話させるプログラムを作成するために必要な情報

VS CodeでPythonプログラムのプロジェクトやソースファイルを作成する方法については「5. VS CodeによるPythonプログラムの開発」を確認してください。

Pythonプログラムから直接QumcCommLib.dllを呼び出す場合は、「3.Qumcum PythonライブラリでコントロールできるAPI仕様(QumCommLib.dll呼出し)」にある音声合成LSI(発話)
発話するときの速さを設定する”qumcomm_voice_speed()”と
発話するときの速さを設定する”qumcomm_voice()”を確認してください。

Pythonプログラムからqumcum.pyを経由して呼び出す場合は、「2.Qumcum PythonライブラリでコントロールできるAPI仕様」にある音声合成LSI(発話)
発話するときの速さを設定する”qumcum.voice_speed()”と
発話するときの速さを設定する”qumcum.voice()”を確認してください。

クムクムロボットと接続する方法についての説明は、「4.クムクムロボットとの接続~LEDの点灯」を参考にしてください。

クムクムロボットに発話をさせる言葉の書き方の詳細については、音声合成LSIのほうで公開されている「ローマ字音声記号列仕様書」を参考にしてください。

Pythonプログラムから直接QumcCommLib.dllを呼び出す

コード全体はこのようになります。

※ここで、QumcCommLib.dllはこれから作成し、実行するPythonプログラムのコードと同じフォルダに置いていることを前提としています。

 

このコードの21行目にある”dll.qumcomm_voice_speed(h, 80)”は発話をするときの速さを設定する処理となります。
50-300までの範囲で設定が可能で、50にするとゆっくり、300にすると早口でしゃべります。

23行目と24行目で発話する文字列を作成して発話を実行しています。
23行目の処理は、24行目のqumcomm_voice()に渡す文字列が「(C言語の)文字列のポインタ」でなければならないのでここで生成した文字列を「(C言語の)文字列のポインタ」に変換しています。
そして、23行目で用意した文字列をqumcomm_voice()で発話処理を呼び出しています。
このプログラムでは「おはよーございまーーす」と発話させています。

Pythonプログラムからqumcum.pyを経由して呼び出す

コード全体はこのようになります。

※ここで、QumcCommLib.dllとqumcum.pyはこれから作成し、実行するPythonプログラムのコードと同じフォルダに置いていることを前提としています。

 

このコードの7行目にある”qumcum.voice_speed(h, 80)”は発話をするときの速さを設定する処理となります。
50-300までの範囲で設定が可能で、50にするとゆっくり、300にすると早口でしゃべります。

9行目で発話を実行しています。

このプログラムでは「おはよーございまーーす」と発話させています。

タイトルとURLをコピーしました