跳转至

xplane11-tts-plus

X-Plane 11 plugin that replaces ATC tower voice with high-quality TTS using Audio8 model

项目信息
仓库 https://github.com/Maicarons/xplane11-tts-plus
主要语言 Rust
Stars 0
类型 原创项目
许可证 —
最近更新 2026-09-04

X-Plane 11 TTS Plus

AGPL-3.0 License Rust

Replace X-Plane 11's default ATC mechanical voice with high-quality neural TTS.

Using the Audio8-TTS-Preview-0.1b model, this plugin generates natural-sounding ATC communications in real-time, supporting both Chinese and English.

Features

  • 🎙️ Natural ATC Voice — Replaces the default synthetic ATC speech with AI-generated voice
  • 🌏 Bilingual — Supports Chinese and English ATC messages
  • ⚡ Real-time — Low-latency TTS generation via ONNX Runtime
  • 🎮 Seamless Integration — Routes audio through X-Plane's COM radio system with proper effects
  • 🚫 Zero Dependencies — Single .xpl file, no Python or external runtime required

Quick Start

Prerequisites

  • X-Plane 11 (v11.50+)
  • Windows 10/11 (64-bit)
  • CPU with AVX2 support (most modern Intel/AMD processors)

Installation

  1. Download the latest release from Releases
  2. Extract the archive to X-Plane 11/Resources/plugins/XplaneTTSPlus/
  3. Download the model (automated script or manual):
    # Run the download script
    scripts/download_model.bat
    
  4. Launch X-Plane 11 — the plugin loads automatically

Manual Installation

X-Plane 11/
└── Resources/
    └── plugins/
        └── XplaneTTSPlus/
            ├── XplaneTTSPlus.xpl      # Plugin binary
            └── models/
                └── audio8_model.onnx   # TTS model (download separately)

Building from Source

Requirements

  • Rust 1.75+ (rustup.rs)
  • Visual Studio Build Tools 2022 (for MSVC linker)
  • X-Plane SDK headers (bundled via xplm crate)

Build Steps

## Clone the repository
git clone https://github.com/XplaneTTSPlus/xplane11-tts-plus.git
cd xplane11-tts-plus

## Build the plugin (release mode)
cargo build --release -p xplane-tts-plugin

## The plugin will be at:
## target/release/xplane_tts_plugin.dll
## Rename to XplaneTTSPlus.xpl when installing

Model Download

The Audio8 ONNX model is hosted on ModelScope. Download using the automated script:

Requirements: Python 3.10+ with modelscope package

## Download all model files (~840 MB total)
bash scripts/download_model.sh    # Linux/macOS/Git Bash
scripts\download_model.bat        # Windows CMD

## Or use Python directly:
## pip install modelscope
## python -c "from modelscope.hub.snapshot_download import snapshot_download; snapshot_download('Audio8/audio8-TTS-0.1B-ONNX-INT8', local_dir='models')"

The model files will be saved to:

X-Plane 11/Resources/plugins/XplaneTTSPlus/models/
├── slow_ar_int8.onnx               # Slow AR model (per-token generation)
├── slow_ar_int8.onnx.data
├── fast_ar_int8.onnx               # Fast AR model (codebook prediction)
├── fast_ar_int8.onnx.data
├── codec_decoder_fp16.onnx         # Neural audio codec decoder
├── codec_decoder_fp16.onnx.data
├── tokenizer/tokenizer.json        # Text tokenizer
├── config.json                     # Model configuration
├── runtime_manifest.json           # Runtime manifest
└── registration/                   # Voice registration files

Cross-compilation

For Windows target from any platform:

rustup target add x86_64-pc-windows-msvc
cargo build --release --target x86_64-pc-windows-msvc -p xplane-tts-plugin

Architecture

┌──────────────────────────────────────────────────────────────┐
│ X-Plane 11 Process                                          │
│  ┌────────────────────────────────────────────────────────┐  │
│  │ XplaneTTSPlus.xpl (Rust)                               │  │
│  │                                                        │  │
│  │  Flight Loop (0.2s) ──► Poll ATC datarefs              │  │
│  │       │                                                 │  │
│  │       ▼                                                 │  │
│  │  New message? ──► Audio8 ONNX Model ──► PCM Audio      │  │
│  │       │                                                 │  │
│  │       ▼                                                 │  │
│  │  XPLMPlayPCMOnBus(xplm_AudioRadioCom1) ──► You hear!   │  │
│  └────────────────────────────────────────────────────────┘  │
└──────────────────────────────────────────────────────────────┘

Configuration

Configuration is done via X-Plane datarefs:

Dataref Purpose Default
xplane-tts-plus/volume Audio volume (0.0-1.0) 0.8
xplane-tts-plus/enabled Enable/disable TTS 1
xplane-tts-plus/model_path Path to ONNX model auto

Model

The plugin uses the Audio8-TTS-Preview-0.1b model via its ONNX Runtime export:

Property Value
Base model Audio8-TTS-Preview-0.1b
Architecture Audio8 Falcon H1 (slow + fast autoregressive branches)
Parameters ~170M (main) + ~120M (codec decoder)
ONNX repo Audio8/audio8-TTS-0.1B-ONNX-INT8
Format ONNX INT8 (Slow/Fast AR) + FP16 (Codec)
Memory ~0.6 GB after loading
Languages Chinese (primary), English (primary), experimental: DE/ES/FR/IT/JA/KO
License Audio8 Community License v1.0 (free for entities under $2M annual revenue)

License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).

The Audio8 model is governed by its own Audio8 Community License v1.0.

Disclaimer

This plugin is not affiliated with or endorsed by Laminar Research. X-Plane is a registered trademark of Laminar Research.

ATC communications generated by this plugin should not be used for actual aviation navigation or communication. This is a flight simulation enhancement only.