WordRTCのチュートリアル
全体の手順
まず、RTCを起動する前にネームサービス、RTシステムエディタの起動を行います。その後RTCを起動します。次にサンプルコンポーネントによる文字の入力を行い、最後にOpenHRIを用いた簡単なRTシステムの作成を行います。
前準備
このページの手順に従ってネームサーバー、RTSystemEditorの起動を行ってください。
WordRTCの起動
WordControlpy.py(もしくはdistフォルダ内のWordControlpy.exe)を実行してください。
するとWordが起動します。既にWordを起動している場合は新規にファイルを作成します。
テスト用RTCの起動
WordRTCがどのような動作をするか確認するためにWordRTCpy\TestCompフォルダのTestComp.pyを実行してください。するとConsoleIn0というRTCが起動します。このRTCはコンソールからエンターキーを押すたびに文字を出力するRTCです。
簡単な動作確認
先ほど起動したConsoleIn0のoutとWordControl0のwordを接続してください。
コンフィギュレーションの編集画面が開くのでCodeをutf-8にしてください。
次にRT System Editorのアクティブ化ボタンを押してください。
この状態でテスト用RTCのコンソールからエンターキーを押すと文字が出力されてWordに文字が書き込まれます。
一旦、非アクティブボタンを押して書き込みを止めてください。この際、なかなか操作が完了しないことがありますが、テスト用RTCのコンソールからエンターキーを押せば完了します。
OpenHRIを使う例
あらかじめOpenHRIをインストールしていてください。
まず、portaudiooutputとopenjtalkrtcを起動してください。
全てのプログラムから
OpenHRI
を起動してください。
次にSEATコンポーネントを立ち上げます。その際WordRTC付属のtest.seatmlを読み込ませる必要があります。
"C:\Program Files\SEATSAT\SEAT" test.seatml
といった内容のパッチファイルを作成して実行するのが簡単だと思います。
ちなみにSEATのスクリプトtest.seatmlの内容は
これは 0 これは Word 1 Word を操作するRTCです 0 を操作するRTCです
となっており、Wordという文字列が入力された時のみcommandoutからTrueを出力して、それ以外ではFalseを出力するようにしています。
以下は動作のシーケンス図です。
起動したらRT System Editorより以下のデータポートの接続を行ってください。
RTC1 | DataOutPort | RTC2 | DataInPort |
ConsoleIn0 | out | SEAT0 | speechin |
SEAT0 | speechout | OpenJTalkRTC0 | text |
SEAT0 | speechout | WordControl0 | word |
SEAT0 | commandout | WordControl0 | Bold |
OpenJTalkRTC0 | result | PortAudioOutput0 | AudioDataIn |
これでアクティブ化ボタンを押してテスト用RTCのコンソールからエンターキーを入力してください。音声が流れると同時にWordに文字が書き込まれます。それから、WordControl0に"Word"という文字が入力されたときのみBoldにTrueが入力されるため"Word"だけ太字になります。
自動化スクリプト
rtshellによりOpenHRIを利用したデモシステムの起動を自動化するスクリプトを付属してあります。
Start.batを起動すれば必要なRTCが起動します。
次にrtshellScript.batを起動すればデータポートの接続、RTCのアクティブ化までを行います※。終了する際はrtshellScript.batで起動したウィンドウでキーを入力すれば終了します。
※rtshellScript.batのset host=".host_cxt"の部分を環境に合わせて変更しておいてください。
これでチュートリアルは終わりです。より詳細な情報は使用方法のページに載せます。