Driving Coach Commands (JA) - SeriousOldMan/Simulator-Controller GitHub Wiki

以下は、AIドライビングコーチAidenが認識する全音声コマンドのリストと、そのコマンドを構成する文法(grammars)の構文に関する簡単な解説です。

構文

  1. 予約文字

    [ ] { } ( ) および , の文字は、すべて特別な意味を持つ予約文字であり、通常の単語の一部として使用することはできません。

  2. フレーズ

    フレーズとは、文の一部または完全な文を指します。 スペースで区切られた任意の数の単語を含むことができますが、予約文字は含められません。 下記で定義されるように、代替要素(直接記述、または名前による参照)を含むことができます。例:

     メアリーはアイスクリームが欲しい
    
     (TellMe) あなたの名前は?
    
     {現在時刻}は何時ですか?
    

    最初の例は単純なフレーズです。2番目の例は、変数 TellMe (下記参照) で定義された選択肢を許可しています。3番目の例はローカルな選択肢を使用しており、「何時ですか?」と「現在時刻は何ですか?」を表します。

  3. 選択肢

    この構文を用いることで、フレーズの代替部分を定義できます。 代替となる(サブ)フレーズは {} で囲み、カンマ , で区切る必要があります。例:

     { 圧力、タイヤ空気圧 }
    

    特定の選択肢リストが複数のフレーズで使用される場合、その選択肢リストに変数を定義し、明示的な構文の代わりに変数参照(() で囲まれた選択肢リストの名前)を使用できます。すべての定義済み選択肢は、grammar fileの「[Choices]」セクションにリストされており、以下のように記述されます。

     TellMe=教えてもらえますか、教えてください、教えて、∼をくれますか、∼ください、ください
    

    この定義済みの選択肢リストは、フレーズの一部として (TellMe) を使用することで参照できます。

  4. コマンド

    完全なコマンドとは、上記で定義された単一のフレーズ、またはカンマで区切られ [] で囲まれたフレーズのリストです。 これらのフレーズは、それぞれが単独でコマンドをトリガーできます。例:

     (WhatAre) {タイヤの空気圧、現在のタイヤの空気圧、タイヤの空気圧}
    
     [(TellMe) 時刻、今何時ですか、{現在の時刻、時刻} は何ですか]
    

    最初の例は単一のフレーズですが、内部に選択肢(代替語)があります。2番目の例では、内部に選択肢があるにもかかわらず、コマンドに対して3つの独立したフレーズを定義しています。

コマンド

事前定義された選択肢

TellMe=教えてくれますか, 教えてください, 教えて, 情報をください

WhatAre=〜を教えて, 〜をください, 〜は何ですか

WhatIs=〜を教えて, 〜をください, 〜は何ですか

CanYou=〜できますか, 〜してください

CanWe=〜できますか, 〜しましょうか, 〜してください

Information=セッション情報, スティント情報, ハンドリング情報

コマンド

  1. 会話

    [{こんにちは, ねえ} %name%, %name% 聞こえますか, %name% お願いがあります, %name% どこにいますか, %name% 応答してください]

    [はい {お願いします, もちろんです}, {はい, わかりました} 続けてください, {どうぞ, オーケー} {続けて, 先をどうぞ}, 同意します, その通りです, 確認しました, 了解]

    [いいえ {結構です, 今はいいです, また後で呼びます}, 今は結構です, 否定します]

    [(CanYou) ジョークを言ってください, 何かジョークはありますか]

    [黙って, 静かにしてください, 集中しないと, 集中させてください]

    [オーケー 話していいですよ, {また, もう一度} 聞けます, {また, もう一度} 話してください, {情報をください, 最新情報を教えてください}]

    [(Information)にはもう{注意を払わないでください, 調べないでください}, (Information)を無視してください]

    [(Information)にもう一度注意を払ってください, (Information)をもう一度調べてください, (Information)を考慮に入れてください]

  2. 情報

    [(TellMe) 時刻を, 今何時ですか, {現在の時刻, 時刻}は何ですか]

  3. コーチング

    [(CanYou) {コーチング, コーチングレッスン}をお願いします, (CanWe) {コーチング, トレーニング, 練習}セッションをしましょう, {トレーニング, 練習}を手伝ってください, 私の{トレーニング, 練習, 走り}を{見ていて, チェックして}ください, 私のドライビング{テクニック, スタイル}を{チェック, 確認}してください, (CanWe) ドライビングスキルを改善しましょう]

    [ありがとう {助かりました, とても勉強になりました, 素晴らしかったです}, 素晴らしかったです ありがとう, オーケー 今日はここまでです]

    [(CanYou) {概要, コーナー毎の概要, ラップ全体の概要, 完全な概要}を教えてください, トラック全体を見てください, このトラックで改善できる点はどこですか]

    [(CanWe) {コーナーナンバー, (Number)番コーナー}に{集中しましょう, ついて話しましょう}, {コーナーナンバー, (Number)番コーナー}を{詳しく見てください, 確認してください}, {コーナーナンバー, (Number)番コーナー}で改善できる点はどこですか, {コーナーナンバー, (Number)番コーナー}で考慮すべきことは何ですか]

    [(CanYou) {運転中に, 各コーナーで} {アドバイス, ヒント, ガイド, 指示}をください, 各コーナーの{手前で, 前に}何を{変更できるか, 変更すべきか}教えてください, (CanYou) {コース上で, 運転中に}コーチングしてください]

    [{ありがとう, 今は}集中したいです, {オーケー, では} {そのアドバイスを, その指示を, それを} {試させてください, やってみます}, {アドバイス, ヒント, 指示}を与えるのを{やめてください, ストップしてください}, これ以上の指示は{不要です, いりません}]`

    [(CanWe) {最速ラップ, 直前のラップ}を{基準, 基準ラップ}として使いましょう, {最速ラップ, 直前のラップ}を{基準として, 基準ラップとして}使ってください]

    [基準ラップは使わないでください]

    [(CanWe) {(Number)番コーナー, コーナー}に{集中しましょう, 練習しましょう}, {(Number)番コーナー, コーナー}を{集中して練習しましょう}, (CanYou) {(Number)番コーナー, コーナー}の{アドバイス, ヒント, ガイド, 指示}をください]

    [(CanWe) {もう一度トラック全体に, トラック全体に}集中しましょう]

会話

さらに、ドライビングコーチとはほとんど自由に会話できます。そのため、上記のいずれのコマンドにも一致しない音声コマンドはすべてGPT言語モデルに転送され、に示すように、人間のような会話が生成されます。