Zum Inhalt

XLinSpeak

XLinSpeak ist ein Linux-only Plugin, das Text-to-Speech (TTS) für X-Plane-Plugins nachrüstet. Unter Windows und macOS nutzt X-Plane die plattformeigenen Sprach-Engines — unter Linux fehlt diese Anbindung. XLinSpeak schließt diese Lücke über speech-dispatcher.

Hintergrund

X-Plane 12 verwendet für das eingebaute ATC vorgenerierte Audiodateien, die auch unter Linux funktionieren. XLinSpeak wird primär für Plugin-generierte Sprache benötigt — etwa Xchecklist-Ansagen, 124thATC oder andere Plugins, die XPLMSpeakString() aufrufen.

Funktionsumfang

  • Binary Hooking: Fängt X-Planes interne Sprach-Funktionen auf Maschinencode-Ebene ab und leitet den Text an speech-dispatcher weiter
  • Transparente Integration: Funktioniert automatisch mit allen Plugins, die X-Planes Sprachausgabe nutzen
  • Keine Konfiguration: Vollständig automatisch nach der Installation — kein UI nötig

Mehrwert in der Flugsimulation

Ohne XLinSpeak bleibt Linux-Nutzern bei Plugin-Sprachausgabe nur das Text-Overlay auf dem Bildschirm — keine Audioausgabe. Das Plugin stellt die Gleichwertigkeit mit Windows und macOS her, sodass Checklisten-Ansagen, ATC-Plugins und andere sprachgesteuerte Erweiterungen auch unter Linux hörbar sind.

Installation

Download: sparker256/XLinSpeak

Die vorkompilierte Binary befindet sich im Repository unter XLinSpeak/lin_x64/XLinSpeak.xpl. Den Ordner XLinSpeak nach Resources/plugins/ kopieren.

Voraussetzung: speech-dispatcher

sudo apt install speech-dispatcher

Das Standard-Backend espeak-ng funktioniert zuverlässig. Piper als alternatives speech-dispatcher-Backend ist derzeit unzuverlässig (Konfigurationsprobleme, Hänger) — das ist ein anderes Problem als der unten beschriebene Piper TTS Manager, der speech-dispatcher vollständig umgeht.

Build aus Quellcode

sudo apt install libspeechd-dev nasm gcc
cd XLinSpeak/src
make

Alternative: Piper TTS Manager

Piper TTS Manager (PTTSM) ist ein FlyWithLua-Skript, das hochwertige neuronale Sprachsynthese für X-Plane bereitstellt. Während XLinSpeak XPLMSpeakString()-Aufrufe abfängt und über espeak-ng ausgibt (funktional, aber robotisch), nutzt PTTSM neuronale Piper-Sprachmodelle — mit einer Sprachqualität vergleichbar mit Cloud-basierten TTS-Diensten.

PTTSM überwacht eine Text-Eingabedatei und generiert WAV-Audio über Piper, sobald neuer Text erscheint. Es wurde für das SimpleATC-Modul von X-ATC-Chatter entwickelt und unterstützt mehrere Sprachmodelle, die verschiedenen Akteuren zugeordnet werden können.

Abhängigkeiten

XLinSpeak und PTTSM lösen unterschiedliche Probleme

XLinSpeak fängt X-Planes interne Sprachfunktionen ab — benötigt für Plugins, die XPLMSpeakString() aufrufen. PTTSM stellt eine eigene TTS-Pipeline bereit für Plugins, die Text in eine Datei schreiben (wie X-ATC-Chatter). Beide können ohne Konflikte parallel laufen.

TTS-Optionen unter Linux

Lösung Mechanismus Qualität Einsatzbereich
XLinSpeak + espeak-ng Hookt XPLMSpeakString() → speech-dispatcher Funktional (robotisch) Plugin-Sprache (Xchecklist, 124thATC)
Piper TTS Manager FlyWithLua + neuronale Piper-Modelle Hoch (natürlich) X-ATC-Chatter, eigene TTS
X-Plane 12 eingebautes ATC Vorgenerierte Audiodateien Gut Standard-ATC (alle Plattformen)

Quellen