音声とプッシュ・トゥ・トーク
TTS、音声認識、PTT モード
NextATC には 2 つの独立した音声機能があります。これらは独立しており、個別にオン/オフできます。
- TTS(テキスト読み上げ):管制官が話します。あなたは読むか聞きます。
- 音声認識(STT):あなたが話します。管制官が聞き取ります。
両方、片方だけ、またはどちらも使用しないこともできます。Radio Log は両方をオフにしても常に動作します。プラグインはテキストモードでも完全にプレイ可能です。 音声で問題が発生した場合は、テキストモード(最後のセクションを参照)に切り替えれば、フライトは通常通り続行できます。
TTS — 管制官に話してもらう#
Plugins -> NextATC -> Options を開き、以下を有効にしてください。
Read ATC messages (TTS)— 管制官が Radio Log に書き込むだけでなく、音声でも話します。
これだけで動作します。デフォルトではローカルの X‑Plane/OS ボイスが使用されます。カスタムボイス(Azure、カスタム Windows ボイス)は別途設定します。クラウドボイスオプションについては Azure の設定 を参照してください。
Options -> Voice で Speech engine を選択します。利用可能なエンジンは以下の通りです。
Operating system(既定) – インストール済みの OS 標準音声を使用します。Microsoft Azure– Azure のクラウド音声サービスを使用します(セットアップが必要です)。Kokoro (offline)– ローカルで動作するオフライン音声エンジンです。モデルがダウンロードされていればインターネット接続不要で合成できます。Piper (offline)– 同様にローカルのオフライン音声エンジンで、モデルが必要です。
Disable voice on readback は、ご自身のパイロットボイスを無音にし、ATC のみを音声化します。多くのパイロットはこれを有効にしています。
ローカルボイス: Kokoro と Piper#
NextATC には Kokoro と Piper の音声合成エンジンが組み込まれています。VoiceBox を利用する X-ATC-Chatter とは異なり、これらの音声を使うために VoiceBox や別のアプリを起動しておく必要はありません。
Options -> VoiceでSpeech engineをKokoro (offline)またはPiper (offline)に変更します。するとボイスカタログが開きます。- カタログ内で
Voice roles / Download...を再度開き、Downloadが付いているボイスを選択し、Download selectedを押します。推奨ボイスは事前に選択されています。ダウンロードにはインターネット接続が必要ですが、完了後はローカルで合成されます。Cancel downloadでダウンロードを中止でき、カタログを閉じてもダウンロードはバックグラウンドで続行します。 - インストールが完了したら、ボイスをクリックしてパイロットボイスとして選択し、プレビューできます。
ATCのチェックボックスで管制官/トラフィック用のボイスプールを設定します。 Test current ATCまたはTest random ATCで音声を確認し、Save voice rolesで設定を保存します。Read ATC messages (TTS)は引き続き有効にしておき、Options を保存してください。
Disable voice on readback は選択したパイロットボイスにも適用されます。音量やラジオ音声エフェクトは Azure、Kokoro、Piper で機能し、Windows では OS の音声でも機能します。macOS と Linux では、OS の音声はそのネイティブオーディオパスを使用します。
Kokoro または Piper の発話中にフレームレートが低下する#
ローカルボイスは CPU で生成されるため、送信のたびに一時的にシミュレーターと処理を奪い合います。トラフィックの交信が多い混雑した空港では、これがより目立ちます。macOS と Windows では、音声処理ワーカーはすでに X-Plane より低い優先度で実行されています。最も軽量なローカルボイスは、Piper カタログで Light models を有効にした(デフォルト)Piper ボイスです。高品質の Piper モデルの約 8 分の 1 の CPU で動作し、light と表示されます。Kokoro の場合は、Compact model (114 MB instead of 325 MB) を有効のままにしてください(デフォルト)。標準モデルより CPU とディスクの使用量がやや少なく、音声品質はわずかに低くなります。どちらもボイスは同じです。選択したモデルが Download selected でダウンロード済みであることを確認してください。インストールされるまで、エンジンはすでにディスク上にあるモデルを使い続けます。Microsoft Azure の音声はクラウドで生成されるため、合成にローカルの CPU を使用しません。
Radio Box の 2 つのアクティビティ LED は何を示しますか?#
ATC/Ground Services の横にある 2 つの小さな LED は、2 種類の無線音声ソースを個別に示します。ボタンに近い緑色の LED は、NextATC が TTS 再生のために無線を使用している間点灯します。その左のアンバー色の LED は、X-ATC-Chatter がクリップを再生中と報告している間点灯します。空の LED はそのソースが停止中であることを示し、両方が同時に点灯した場合は 2 つの音声が重なっています。
音声認識 — 管制官に話しかける#
音声認識は、あなたが話した内容を読み取り、リードバックやアクションに変換します。これは実験的な AI 支援機能ですが、自由会話のチャットボットではありません。現在のパイプラインは意図的に限定されています。
- ASR/STT モデルがマイク音声をテキストに変換します。
- プラグインはそのテキストを、ATC フローが現在期待しているリードバック、パイロットメッセージ、またはアクション選択と比較します。
- ATC フローは、コールサイン、滑走路、高度、周波数、スコーク、方位などの重要な運用内容が一致した場合だけ入力を受け入れます。
この設計により、フライトの流れは決定的に保たれます。一方で、文章が正しく文字起こしされても、ATC が待っている運用内容と一致しなければ拒否されることがあります。
以下が必要です。
- 認識モデルがインストールされていること。Options を開き、
Voice Modelsで不足しているモデルをクリックしてダウンロードしてください。 Options -> Speechで選択された動作するマイク。NextATC/voice_push_to_talkにバインドされたキーまたはジョイスティックボタン。
X-Plane の Settings -> Keyboard でキーをバインドしてください。NextATC を検索し、voice_push_to_talk を快適に押し続けられるキーに割り当てます(多くのユーザーはテンキーの 0、スティックの上部ボタン、または Tab キーを選択します)。
認識モデルと期待値#
Options ページには複数の音声認識モデルが表示されます。マイク、アクセント、ハードウェア、言語に合うものを選ぶためです。この領域はまだ実験段階です。大きなモデルは遅い場合やディスク容量を多く使う場合があり、基準モデルとは動作が異なることがあります。
まず Whisper Base English から始めてください。英語 ATC の readback では最も予測しやすい選択です。アクセント処理を改善したい場合だけ Whisper Small English または Whisper Medium English を試してください。大きなモデルはローカル文字起こしが遅くなります。選択したモデルが有用なテキストを返さない場合は、Whisper Base English に戻してください。
既定では、認識には英語の Whisper モデルを使用します。英語以外の空港名、都市名、ローカルな発音をより扱いやすくしたい場合だけ、Multilingual model support を有効にしてください。これは選択中のモデルサイズに対応する多言語版を、英語モデルとは別にダウンロードします。選択したモデルのダウンロードが完了すると、音声認識は自動的に有効になり、push-to-talk の注意画面が表示されます。
次回のプラグイン起動時に選択中の有効なモデル版が見つからない場合、存在しないモデルを保持せず、音声認識は無効になります。
GPU アクセラレーションは Whisper によるマイク音声の処理を高速化します。管制官の TTS 音声を生成する機能ではありません。同じ認識モデルを使う場合、CUDA や Metal を有効にしても文字起こしの精度向上は保証されません。認識が改善したように感じる場合は、選択したモデル、マイク、録音音声も確認してください。
Options に Use GPU acceleration が表示される場合、対応する Apple silicon Mac では Metal、Windows では NVIDIA CUDA を選択します。Windows パッケージには CUDA モジュールが含まれ、PC に CUDA Toolkit 12.8 または 12.9 が必要です。インストール後に X-Plane を再起動してください。Steam 版と単体版は同じように動作します。CUDA はオプションの別モジュールとして読み込まれるため、GPU、ドライバー、ランタイムがなくても NextATC の起動を妨げません。CPU を強制するには無効にしてください。GPU の設定、モデル初期化、推論で回復可能なエラーが発生した場合は CPU で再試行しますが、上流 GPU ランタイム内の致命的エラーは同じプロセス内では回復できません。
多言語モードでは、Whisper が話し言葉の言語を自動検出します。これは NextATC を英語以外の ATC 会話に変えるものではなく、NextATC が期待するリードバックの用語は英語のままです。
音声認識は通常の Radio Log の上にある補助レイヤーとして扱うのが安全です。没入感には役立ちますが、テキストボタンが常に信頼できるフォールバックです。
2 つの PTT モード#
PTT キーの使用方法は 2 通りあります。どちらかを選び、使い続けてください。
Hold モード(無線モード)#
- PTT キーを 押したまま にします。
- 押している間に話します。
- 話し終わったらキーを離します。
これは実際の無線と同じ動作です。デフォルトであり、ほとんどのユーザーにとって最も信頼性の高いモードです。
Toggle モード(一度押す/もう一度押す)#
- PTT キーを一度押して、リスニングを開始します。
- 話します。
- もう一度 PTT キーを押して、リスニングを停止します。
Toggle モードは、PTT キーを押し続けるのが難しい場合に便利です(例えば、他の用途で使用している単一のスティックボタンなど)。Toggle モードでは、数秒間の無音後にリスニングを自動停止することもできます。
アクティブモードは Options -> Speech で設定します。変更した場合は、飛行中に頼る前に地上で一度テストしてください。
リードバックの完全な流れ、ステップバイステップ#
これは管制官が期待するシーケンスです。
- ATC が何かを言います。Radio Log に表示されます(TTS がオンなら音声でも)。
- Radio Log に
ReadbackとSay Againボタンが表示されます。 - PTT キーを押し続ける(または切り替える)。
- リードバックを話します。例:「Climbing flight level two zero zero, AAL67」。
- Radio Log に認識された単語の グレーのプレビュー が表示されます。
- PTT キーを離します(または Toggle モードでもう一度押します)。
- プレビューが送信されます。リードバックが一致すれば、ATC が受理し、Radio Log が受理されたプロンプトを強調表示します。
リードバックが受理されない場合、管制官は Say again と言います。次のセクションを参照してください。
「正しく文字起こしされているのに ATC がまだ Say Again と言う」#
これは最も一般的な混乱です。グレーのプレビューはマイクが単語を認識したことを意味します。まだ 管制官がそれを受理したことを意味する わけではありません。
可能性の高い順に原因を挙げます。
- PTT キーを早すぎる/遅すぎるタイミングで離した。 認識器は離した瞬間に停止します。最後の単語と離す動作の間に明確な間を空けて、再度試してください。
- リードバックボタンが期待する表現と違うフレーズを使用した。 必要な正確な言い回しは、
Readbackボタンの下に小さな音声ガイドとしてヒント表示されます。それに合わせてください。完璧である必要はありませんが、重要な数字(コールサイン、高度、滑走路、周波数)は含める必要があります。 - 文字起こしで数字が抜けた(例えば FL200 ではなく flight level になった)。数字を明確に発音してください。「two hundred」ではなく「two zero zero」。
- 無線の準備ができる前に話した。 PTT を押す前に
Readbackボタンが表示されるのを待ってください。 - 背景ノイズやゲーム音声。 プラグインは Options で選択したマイクを使用します。ヘッドセット、OS、ドライバーの組み合わせによっては、Bluetooth マイクを開くと別のオーディオプロファイルが選択され、音質が変化したりクリック音が発生したりする場合があります。NextATC はすべての機器でこの動作を予測できません。この現象が見られる場合は、有線マイクまたはコンピューター内蔵マイクをお試しください。
迷ったら、いつでもマウスで Readback をクリックして音声をスキップできます。フライトはまったく同じように続きます。
「音声が動作しない。どうやってテキストモードに戻すの?」#
これは安全で素早い操作です。フライトを失うことはありません。
Plugins -> NextATC -> Optionsを開きます。Options -> Speechで音声認識を オフ にします(入力側 — STT)。- 管制官にも話してほしくない場合は、必要に応じて
Read ATC messages (TTS)も オフ にします。 Radio LogがEnabledであることを確認します。これがテキストフィードです。- Options を閉じます。
Radio Log がすべての ATC メッセージをテキストとして表示するようになります。マウスまたは NextATC/handoff コマンドで Readback / Say Again を押せます。それ以外(クリアランス、タクシー、上昇、着陸)はすべて同じように動作します。
「音声をオフにしたら、メッセージがまったく表示されません」#
通常、次の 2 つがオフになっています。
- Options で
Radio Log -> Enabledがオフになっていた。 OSD flash messagesがオフ、かつ TTS もオフのため、何も音声にならず、何も点滅しない。
修正、
- Options を開きます。
Radio Log -> Enabledをオンにします。Max visible linesを少なくとも 4 に設定します。- 保存して閉じます。
次の ATC メッセージで Radio Log が再表示されます。Show anchor dot when hidden が有効な場合、小さなアンカードットをクリックして手動で再表示することもできます。
音声認識が失敗し続ける場合#
以下の順序で確認してください。
- マイク:別のアプリ(ボイスレコーダー)でご自身の声が聞こえる。
- モデルがインストールされている:選択した認識モデルがダウンロード済みである。Options ページにダウンロードステータスが表示されます。
- 言語:既定では英語 Whisper モデルを使用します。ローカルな英語以外の名前が認識の妨げになる場合だけ、多言語モデル対応を有効にしてください。対応する多言語版は別途ダウンロードが必要です。
- ランタイム対応:大きな実験モデルがテキストを生成しない場合は、
Whisper Base Englishに戻してください。 - PTT キー:X-Plane コマンド
NextATC/voice_push_to_talkが 1 つのキーだけにバインドされている。 - Hold と Toggle:設定したモードを使用しており、もう一方ではない。
それでも解決しない場合は、テキストモードに切り替え、空港と周波数を報告してください。内蔵のリポーターを使用するか、該当する X-Plane/Log.txt をウェブのバグレポートに添付してください。バグ報告と機能リクエスト を参照してください。
Windows の SAPI5 音声#
Windows では Operating system 音声エンジンは WinRT の音声 API と、その API が報告する音声を使用します。NextATC は SAPI5 を使用しません。クラウドアカウントなしでローカル音声を増やすには Kokoro (offline) または Piper (offline) を選択してください。どちらも音声モデルをダウンロードした後はローカルで合成します。
関連項目#
- Azure の設定 — 管制官のボイスをよりロボット的でなくするため。
- トラブルシューティング — 一般的な修正方法について。
- オプション リファレンス — すべての音声オプションの説明。