Qt TextToSpeech Engines
Qt TextToSpeech unterstützt mehrere Engine-Implementierungen für verschiedene Plattformen, die unterschiedliche Kompromisse hinsichtlich Funktionsumfang, Verfügbarkeit und Laufzeitkosten aufweisen.
Eine Engine kann beim Erstellen einer ` QTextToSpeech `-Instanz oder bei einem bereits instanziierten Objekt durch Setzen der Eigenschaft ` engine ` ausgewählt werden. Wird keine Engine angegeben, wird die für die aktuelle Plattform bevorzugte Engine verwendet. Rufen Sie ` availableEngines()` auf, um die Liste der Engines abzurufen, die auf dem aktuellen System verwendet werden können. Dazu gehört auch eine „Mock“-Engine, die zu Testzwecken dient und nicht auf Zielsystemen bereitgestellt werden sollte.
Beim Festlegen der Engine können Anwendungen ein „ QVariantMap “ mit Schlüssel-Wert-Paaren für enginespezifische Parameter an die Engine übergeben. In den folgenden Abschnitten sind die für die jeweilige Engine unterstützten Konfigurationsparameter aufgeführt. Parameter, die von der Engine nicht unterstützt werden, werden stillschweigend ignoriert.
WinRT
Die „winrt“-Engine nutzt die APIs aus dem Namespace „Windows.Media.SpeechSynthesis“. Sie erfordert ein aktuelles Windows SDK und ist bei Verwendung des MinGW-Compilers nicht verfügbar. Die Engine bietet Zugriff auf alle Stimmen, die auf aktuellen Windows-Versionen installiert werden können.
Die Implementierung nutzt „ QAudioSink “ von Qt Multimedia , um den vom Synthesizer erzeugten PCM-Datenstrom auf einem Audiogerät wiederzugeben.
| Name | Typ | Anmerkungen |
|---|---|---|
| audioDevice | QAudioDevice |
SAPI
Die „sapi“-Engine nutzt das SAPI 5.3 -Framework, das im Windows SDK enthalten ist. Sie bietet eine begrenzte Auswahl an Stimmen mit einer im Vergleich zur „winrt“-Engine geringeren Qualität.
Die SAPI-Engine unterstützt keine enginespezifischen Parameter.
Darwin
Die „darwin“-Engine nutzt das AVFoundation-Framework, das auf iOS-Geräten und unter macOS 10.15 verfügbar ist. In der Dokumentation des Frameworks wird zwar auch die Unterstützung für macOS 10.14 angegeben, standardmäßig sind auf dieser Plattform jedoch keine Stimmen verfügbar.
Die Darwin-Engine unterstützt keine enginespezifischen Parameter.
Android
Die „android“-Engine ist die einzige auf der Android-Plattform verfügbare Engine. Sie nutzt das TextToSpeech-Paket, das wiederum mehrere Engine-Backends unterstützt.
Hinweis: Die „android“-Engine verfügt nicht über die Funktion „ PauseResume “.
| Name | Typ | Anmerkungen |
|---|---|---|
| androidEngine | QString | In Qt gibt es keine API, um die Liste der installierten Engines abzurufen. |
HarmonyOS
Die HarmonyOS-Engine nutzt die Text-to-Speech-APIs des Core Speech Kit. Die System-Engine synthetisiert die Sprache und gibt sie wieder.
Die Core Speech Kit-Engine wird für eine feste Sprache erstellt, die das Plugin auf „ zh-CN “ festlegt. Wie in der Dokumentation zu `createEngine()` angegeben, werden nur Chinesisch und Englisch unterstützt, wobei für Chinesisch „ zh-CN “ und für Englisch „ en-US “ empfohlen werden.
Hinweis: Die HarmonyOS-Engine verfügt nur über die Funktion „ Speak “. Sie unterstützt weder „ PauseResume “, „ WordByWordProgress “ noch „ Synthesize “.
Flite
Die „flite“-Engine nutzt den Flite-Synthesizer. Durch ihren geringen Speicherbedarf eignet sich die Engine besonders für eingebettete Umgebungen. Das Plugin erfordert mindestens Flite 2.2 und nutzt „ QAudioSink “ von Qt Multimedia , um den generierten PCM-Datenstrom wiederzugeben.
Das Engine-Plugin sucht in den Verzeichnissen, die in der Umgebungsvariablen „ LD_LIBRARY_PATH “ aufgeführt sind, nach Sprachbibliotheken und greift andernfalls auf gängige Bibliotheksspeicherorte wie /usr/lib, /usr/lib64 und /usr/lib/x86_64-linux-gnu zurück.
Wird Flite als statische Bibliothek verwendet, müssen die gewünschten Sprachbibliotheken ebenfalls statisch in das Engine-Plugin eingebunden werden. Derzeit ist keine Build-System-API implementiert, um solche Sprachbibliotheken bei der Konfiguration von Qt auszuwählen.
| Name | Typ | Anmerkungen |
|---|---|---|
| audioDevice | QAudioDevice |
speech-dispatcher
Die „speechd“-Engine kommuniziert mit dem speech-dispatcher- Daemon und benötigt mindestens libspeechd 0.9.
Hinweis: Die „speech-dispatcher“-Engine verfügt nicht über die Funktionen „ WordByWordProgress “ oder „ Synthesize “.
Die „speech-dispatcher“-Engine unterstützt keine enginespezifischen Parameter.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.