launch:ファイルの内容を実行
書式
launch [オプション] filename
オプション
- '-v'
- 現在実行中のコマンドを表示します。
概要
このコマンドは、ファイルに記載さえた内容を一行づつ読込、rtcmdのコマンドとして逐次実行を行います
コマンドの実行中にエラーが発生した場合には、そこで処理を中断して終了します。
rtcmdでは、制御構造を記述できませんので、単純なコマンドのバッチ処理のみが可能です。
使用法
launchコマンドを使用するとRTCの起動、ポートの接続、アクティベーションなどが利用できますので、RTシステムの簡単なテストを行うことができます。
OpenHRIのOpenJTalkとJuliusのテストとして、下のようなスクリプトを記述することができます。
#
# Start Components
start OpenJTalkRTC
start JuliusRTC dictation
#
# Wait for booting up the components
wait_for 30 -c JuliusRTC0
wait_for 30 -c OpenJTalkRTC0
#
# Connect port
connect OpenJTalkRTC0:result JuliusRTC0:data
#
# Activate all components
activate all
wait_for 30 -c JuliusRTC0 -f self.check_active
wait_for 30 -c OpenJTalkRTC0 -f self.check_active
print -m myfmt -l JuliusRTC0:result#myfmt.julius_result # background printer
inject --seat OpenJTalkRTC0:text -c こんにちは、今日はいい天気ですね。
# inject OpenJTalkRTC0:text -c TimedString({time}, encodeStr("こんにちは、今日はいい天気ですね。"))
wait_for 4
print_exit
deactivate all
terminate all
このスクリプトをlaunchコマンドで実行すると下のような出力が得られます。
> rtcmd launch tts-julius.rtcmd
OK
OK
OK
OK
== Create Inport
=======print: myfmt.julius_result
Connector_id: 51d8f3a2-dcfb-11e9-888a-0015afcb7037
== Create Outport
=== inject ====
---------
#1: こんにちは 。 (0.810000)
#2: 今日 は 。 (0.612333)
#3: 今日 わ 。 (0.603667)
#4: こんにちは 、 。 (0.508333)
#5: あ 、 こんにちは 。 (0.525000)
---------
#1: 今日 は いい 天気 です ね 。 (0.469286)
#2: きょう は いい 天気 です ね 。 (0.421429)
#3: 今日 ゎ いい 天気 です ね 。 (0.475143)
#4: 競売 いい 天気 です ね 。 (0.456333)
#5: 、 きょう は いい 天気 です ね 。 (0.413000)
omniORB: (0) 2019-09-22 14:39:27.985000: Error: the object table still contains 2 entries at ORB shutdown time.
omniORB: (0) 2019-09-22 14:39:27.985000: Assertion failed. This indicates a bug in the application
using omniORB, or maybe in omniORB itself.
file: omniInternal.cc
line: 1558
info: numObjectsInTable == 0