Driving Coach Commands (JA) - SeriousOldMan/Simulator-Controller GitHub Wiki
以下は、AIドライビングコーチAidenが認識する全音声コマンドのリストと、そのコマンドを構成する文法(grammars)の構文に関する簡単な解説です。
構文
-
予約文字
[ ] { } ( ) および , の文字は、すべて特別な意味を持つ予約文字であり、通常の単語の一部として使用することはできません。
-
フレーズ
フレーズとは、文の一部または完全な文を指します。 スペースで区切られた任意の数の単語を含むことができますが、予約文字は含められません。 下記で定義されるように、代替要素(直接記述、または名前による参照)を含むことができます。例:
メアリーはアイスクリームが欲しい (TellMe) あなたの名前は? {現在時刻}は何時ですか?
最初の例は単純なフレーズです。2番目の例は、変数 TellMe (下記参照) で定義された選択肢を許可しています。3番目の例はローカルな選択肢を使用しており、「何時ですか?」と「現在時刻は何ですか?」を表します。
-
選択肢
この構文を用いることで、フレーズの代替部分を定義できます。 代替となる(サブ)フレーズは { と } で囲み、カンマ , で区切る必要があります。例:
{ 圧力、タイヤ空気圧 }
特定の選択肢リストが複数のフレーズで使用される場合、その選択肢リストに変数を定義し、明示的な構文の代わりに変数参照(( と ) で囲まれた選択肢リストの名前)を使用できます。すべての定義済み選択肢は、grammar fileの「[Choices]」セクションにリストされており、以下のように記述されます。
TellMe=教えてもらえますか、教えてください、教えて、∼をくれますか、∼ください、ください
この定義済みの選択肢リストは、フレーズの一部として (TellMe) を使用することで参照できます。
-
コマンド
完全なコマンドとは、上記で定義された単一のフレーズ、またはカンマで区切られ [ と ] で囲まれたフレーズのリストです。 これらのフレーズは、それぞれが単独でコマンドをトリガーできます。例:
(WhatAre) {タイヤの空気圧、現在のタイヤの空気圧、タイヤの空気圧} [(TellMe) 時刻、今何時ですか、{現在の時刻、時刻} は何ですか]
最初の例は単一のフレーズですが、内部に選択肢(代替語)があります。2番目の例では、内部に選択肢があるにもかかわらず、コマンドに対して3つの独立したフレーズを定義しています。
コマンド
事前定義された選択肢
TellMe=教えてくれますか, 教えてください, 教えて, 情報をください
WhatAre=〜を教えて, 〜をください, 〜は何ですか
WhatIs=〜を教えて, 〜をください, 〜は何ですか
CanYou=〜できますか, 〜してください
CanWe=〜できますか, 〜しましょうか, 〜してください
Information=セッション情報, スティント情報, ハンドリング情報
コマンド
-
会話
[{こんにちは, ねえ} %name%, %name% 聞こえますか, %name% お願いがあります, %name% どこにいますか, %name% 応答してください]
[はい {お願いします, もちろんです}, {はい, わかりました} 続けてください, {どうぞ, オーケー} {続けて, 先をどうぞ}, 同意します, その通りです, 確認しました, 了解]
[いいえ {結構です, 今はいいです, また後で呼びます}, 今は結構です, 否定します]
[(CanYou) ジョークを言ってください, 何かジョークはありますか]
[黙って, 静かにしてください, 集中しないと, 集中させてください]
[オーケー 話していいですよ, {また, もう一度} 聞けます, {また, もう一度} 話してください, {情報をください, 最新情報を教えてください}]
[(Information)にはもう{注意を払わないでください, 調べないでください}, (Information)を無視してください]
[(Information)にもう一度注意を払ってください, (Information)をもう一度調べてください, (Information)を考慮に入れてください]
-
情報
[(TellMe) 時刻を, 今何時ですか, {現在の時刻, 時刻}は何ですか]
-
コーチング
[(CanYou) {コーチング, コーチングレッスン}をお願いします, (CanWe) {コーチング, トレーニング, 練習}セッションをしましょう, {トレーニング, 練習}を手伝ってください, 私の{トレーニング, 練習, 走り}を{見ていて, チェックして}ください, 私のドライビング{テクニック, スタイル}を{チェック, 確認}してください, (CanWe) ドライビングスキルを改善しましょう]
[ありがとう {助かりました, とても勉強になりました, 素晴らしかったです}, 素晴らしかったです ありがとう, オーケー 今日はここまでです]
[(CanYou) {概要, コーナー毎の概要, ラップ全体の概要, 完全な概要}を教えてください, トラック全体を見てください, このトラックで改善できる点はどこですか]
[(CanWe) {コーナーナンバー, (Number)番コーナー}に{集中しましょう, ついて話しましょう}, {コーナーナンバー, (Number)番コーナー}を{詳しく見てください, 確認してください}, {コーナーナンバー, (Number)番コーナー}で改善できる点はどこですか, {コーナーナンバー, (Number)番コーナー}で考慮すべきことは何ですか]
[(CanYou) {運転中に, 各コーナーで} {アドバイス, ヒント, ガイド, 指示}をください, 各コーナーの{手前で, 前に}何を{変更できるか, 変更すべきか}教えてください, (CanYou) {コース上で, 運転中に}コーチングしてください]
[{ありがとう, 今は}集中したいです, {オーケー, では} {そのアドバイスを, その指示を, それを} {試させてください, やってみます}, {アドバイス, ヒント, 指示}を与えるのを{やめてください, ストップしてください}, これ以上の指示は{不要です, いりません}]`
[(CanWe) {最速ラップ, 直前のラップ}を{基準, 基準ラップ}として使いましょう, {最速ラップ, 直前のラップ}を{基準として, 基準ラップとして}使ってください]
[基準ラップは使わないでください]
[(CanWe) {(Number)番コーナー, コーナー}に{集中しましょう, 練習しましょう}, {(Number)番コーナー, コーナー}を{集中して練習しましょう}, (CanYou) {(Number)番コーナー, コーナー}の{アドバイス, ヒント, ガイド, 指示}をください]
[(CanWe) {もう一度トラック全体に, トラック全体に}集中しましょう]
会話
さらに、ドライビングコーチとはほとんど自由に会話できます。そのため、上記のいずれのコマンドにも一致しない音声コマンドはすべてGPT言語モデルに転送され、例に示すように、人間のような会話が生成されます。