Text-to-Speech unter Linux: natürliche Offline-Stimme im Terminal
Unter Linux heißt Text-to-Speech meist espeak oder Festival: schnell, kostenlos und roboterhaft. Neuronale Stimmen klingen menschlich, leben aber fast alle in der Cloud. Die kostenlose SuperClonica-Engine bringt ein neuronales Modell, Supertonic 3, auf Ihren Linux-Rechner: Es läuft offline auf einem normalen Prozessor und spricht 31 Sprachen.
Dieser Leitfaden zeigt, wie Sie die Engine in einer virtuellen Umgebung installieren, Text im Terminal vertonen, markierten Text per Tastenkürzel vorlesen lassen und Stimmen wählen.
Was Sie brauchen
Anders als espeak oder Festival ist das ein neuronales Modell, die Sprache klingt also natürlich, und nach dem ersten Start braucht es trotzdem kein Internet.
- Eine aktuelle 64-Bit-Linux-Distribution mit Python 3.10 oder neuer.
- Etwa 400 MB Speicher für das Supertonic-3-Modell, einmal heruntergeladen.
- Keine Grafikkarte: Eine NVIDIA macht es nur schneller.
- Eine Stimme: die zehn eingebauten Stimmen M1 bis M5 und F1 bis F5 oder eine JSON-Datei aus dem Katalog.
Installation in einer virtuellen Umgebung
Viele Distributionen lassen pip nicht mehr in das System-Python installieren, nutzen Sie also eine virtuelle Umgebung: python3 -m venv ~/.venvs/tts && ~/.venvs/tts/bin/python -m pip install superclonica-cpu. Der Befehl lautet dann ~/.venvs/tts/bin/superclonica; nehmen Sie den Ordner in den PATH auf oder legen Sie einen Alias an. Mit einer NVIDIA-Grafikkarte installieren Sie stattdessen superclonica-gpu-cuda: pip bringt CUDA und cuDNN selbst mit.
Vertonen im Terminal
Das Modell wird beim ersten Start heruntergeladen; danach arbeitet die Engine ohne Netz.
- Ein Satz: superclonica --text "Hallo aus Linux." --voice F1 --lang de --output hello.wav && aplay hello.wav.
- Eine ganze Datei: --text-file artikel.txt statt --text; lange Texte werden an natürlichen Pausen geteilt und zu einer WAV-Datei zusammengefügt.
- Spielen Sie das Ergebnis je nach Soundsystem mit aplay, paplay oder pw-play ab.
- Auf einem ausgelasteten Rechner begrenzen Sie die Prozessor-Threads mit --threads 4.
Markierten Text per Hotkey lesen
Speichern Sie ein kleines Skript und legen Sie in den Desktop-Einstellungen ein Tastenkürzel dafür an: xclip -o > /tmp/sel.txt (unter Wayland: wl-paste -p > /tmp/sel.txt), dann superclonica --text-file /tmp/sel.txt --voice F1 --lang de --output /tmp/sel.wav && aplay /tmp/sel.wav. Markieren Sie Text in einem beliebigen Fenster, drücken Sie das Kürzel, und die Engine liest ihn vor. Für andere Sprachen ändern Sie --lang und die Stimme.
Stimmen und ein Server
Jede Stimme im SuperClonica-Katalog hat eine Seite, auf der Sie gratis online einen Satz mit 30 bis 100 Zeichen vertonen können. Kostenlose Stimmen laden Sie ohne Konto herunter, kostenpflichtige kaufen Sie einmal, und sie bleiben Ihnen als JSON-Datei, die Sie mit --voice übergeben. Für andere Programme in Ihrem Netz startet das Image superclonica/superclonica auf Docker Hub dieselbe Engine als HTTP-Server.