スピーチモディファイコマンド
使用可能な音声コマンドのリストを変更します。
識別子:speech_modify_commands_in_grammar
属性
- 修正:コマンドの追加や削除ができる。
- 取り得る値:add_commands、remove_commands、remove_all_commands
- 必須はい
- デフォルト値:空
- reset_before:特定のスロット内のすべてのコマンドを削除する。
- 取り得る値:true, false
- 必須不要
- デフォルト値:False
- スロットコマンドの位置
- 指定可能な値:wf_editor_slot
- 必須不要
- デフォルト値:wf_editor_slot
エレメント
- コマンド:追加または削除されるコマンド要素のリスト。
コマンド属性
- name:発話値を定義する。
- 説明を表示します:属性に関する情報を表示します。
例
コマンドの追加
許可されたスピーチ・コマンドのリストに2つのコマンドを追加する:
<speech_modify_commands_in_grammar id="speech_add_commands">
<param name="grammar">xGuide</param>
<param name="slot">wf_editor_slot</param>
<param name="modification">add_commands</param>
<list name="commands" listType="UNNAMED">
<list name="login" listType="NAMED">
<param name="name">LOGIN</param>
<param name="description">Login</param>
</list>
<list name="logout" listType="NAMED">
<param name="name">LOGOUT</param>
<param name="description">Logout</param>
</list>
</list>
<param name="reset_before" type="bool">false</param>
</speech_modify_commands_in_grammar>
JavaScriptを使ったコマンドの生成
<speech_modify_commands_in_grammar id="speech_add_commands">
<param name="grammar">xGuide</param>
<param name="slot">wf_editor_slot</param>
<param name="modification">add_commands</param>
<param name="commands"><![CDATA[?{
var cmds = [];
var i;
cmds.push({ 'name': 1 + " Label", 'description': `[1-50] Label(s)`});
for(i = 2; i <= 50; i++){
cmds.push({ 'name': i + " Labels", 'description': `[1-50] Label(s)`});
}
cmds
}?]]></param>
<param name="reset_before" type="bool">false</param>
</speech_modify_commands_in_grammar>
コマンドの削除
現在のカスタムコマンドからコマンドを1つ削除する:
<speech_modify_commands_in_grammar id="remove_save_selection">
<param name="slot">wf_editor_slot</param>
<param name="commands">Logout</param>
<param name="modification">remove_commands</param>
<param name="reset_before" type="bool">false</param>
</speech_modify_commands_in_grammar>
すべてのカスタムコマンドを削除する
<speech_modify_commands_in_grammar id="add_save_selection">
<param name="modification">remove_all_commands</param>
</speech_modify_commands_in_grammar>
文法における発話修飾規則
このアクションによって、ユーザーは文法中の特定のスロットをアクティブにしたり、非アクティブにしたりすることができる。
識別子:speech_modify_rules_in_grammar
属性
- 修正:文法スロットの修正タイプ。
- 可能な値:activate、activate_all、deactivate、deactivate_all
- 必須はい
- デフォルト値:空
エレメント
- ルール:アクティブ化または非アクティブ化できるルール要素のリストが含まれる。
- デフォルト値:空
ルールの属性
- name:アクティブまたは非アクティブにする文法スロットを定義します。
- 説明そのスロットの「Show Command」画面に表示される情報を表示する。
例
すべての文法スロットを無効にします。音声コマンドが認識されなくなります。
<speech_modify_rules_in_grammar id="deactivate_all" modification="DEACTIVATE_ALL"/>
文法スロットをアクティブにし、その文法スロットの説明を「コマンドの表示」ウィンドウに追加する。
<speech_modify_rules_in_grammar id="remove_login_command" modification="ACTIVATE">
<rules>
<rule name="wf_editor_slot" description="Pick <1 to 10>"/>
</rules>
</speech_modify_rules_in_grammar>
スピーチ・ワード・フィルター
どの音声コマンドがハンドリングロジックに渡されるかをコントロールできます。
識別子:speech_word_filter
エレメント
- 単語:追加または削除できる音声コマンドのリストが含まれています。
- regex_words:追加・削除可能な正規表現コマンド。
パラメータ属性
- アクション:現在の音声フィルターリストがどのように変更されるかを定義します:追加、置換、削除、リセット
- 必須はい
- デフォルト値:空
例
フィルタリングされた音声コマンドのリストにいくつかのコマンドを追加する。
<speech_word_filter id="speech_actions">
<param name="action">ADD</param>
<list name="words" listType="UNNAMED">
<elem>command</elem>
</list>
<list name="regex_words" listType="UNNAMED">
<elem>start .*</elem>
</list>
</speech_word_filter>
音声ワードマッピング
音声入力のマッピング方法を制御する。
識別子:speech_word_mapping
パラメータ属性
- is_regex:正規表現が指定されているかどうか。
- 取り得る値:True, False
- 必須不要
- デフォルト値:False
- sub_mapping:文字列パラメータとしての単一の整数、または整数の集合。正規表現を使ってマッチしたグループを出力にマップする際に必要となる。
例
許可されたスピーチコマンドに2つのコマンドを追加する。どちらのコマンドも「コマンドの表示」ウィンドウに同じ説明が表示されるようにします。
<speech_word_mapping id="speech_actions">
<param name="action">add</param>
<param name="input">input</param>
<param name="output">output</param>
<param name="is_regex">true</param>
</speech_word_mapping>
正規表現を使用した完全な例
この例では、「ズーム・レベルX」というスピーチ・コマンドに、ダイナミック・ナンバーを追加しています:
<speech_modify_commands_in_grammar id="speech_add_commands">
<param name="grammar">xGuide</param>
<param name="slot">wf_editor_slot</param>
<param name="modification">add_commands</param>
<param name="commands"><![CDATA[?{
var cmds = [];
var i;
for(i = 1; i <= 5; i++){
cmds.push({ 'name': "ANDRRES_zoom_level " + i, 'description': `ANDRRES_zoom_level [1-5]`});
}
cmds
}?]]></param>
<param name="reset_before" type="bool">false</param>
</speech_modify_commands_in_grammar>
ANDRRES_zoom_level "では、Frontline Workplaceのリソース文字列を使用しています。このリソース文字列は、ユーザーの言語に基づいて自動的に翻訳されます。このルールでは、音声コマンドに反応します。しかし、常に同じコマンドと比較したいのであって、コマンドの翻訳と比較したいわけではありません。そのため、speech_word_mapping
アクションを使用して、翻訳されたコマンドをルールで使用するコマンドにマッピングします。
<speech_word_mapping id="zoom_level_mapping_action_add">
<param name="action">add</param>
<param name="input">ANDRRES_zoom_level ([1-5])</param>
<param name="output">ZOOM LEVEL $1</param>
<param name="is_regex">true</param>
<param name="sub_mapping">1</param>
</speech_word_mapping>