Sprachsynthese: Sprachmodelle für Intonation und Sprachmelodie
Problem
Für meine Vorträge arbeite ich sehr viel mit Audiofiles - mithilfe der gratis Software "Balabolka" - die ich dann einzeln (auf jede Folie meiner Präsentation) einfüge und quasi für mich sprechen lasse - klappt ganz gut, wäre aber sicherlich ausbaufähig. Und sonst verwende ich inzwischen ein Kommunikationsgerät mit Augensteuerung, das mich, gerade bei Vorträgen, wesentlich schneller agieren lässt.
Da ich mich aufgrund dessen viel mit synthetischen Stimmen beschäftige, hab ich mich gefragt, ob es nicht möglich wäre, diese etwas anpassbarer zu machen. Primär würde es mir um eine Software-Funktion gehen, wo man bspw. zwischen den einzelnen Worten/Sätzen einfach Pausen einfügen kann. Wäre super praktisch, da synthetische Stimmen zwar nach jedem Satzzeichen eine kurze Pause machen, allerdings ist diese immer gleich lange und manchmal wäre einfach eine längere oder auch kürzere Unterbrechung angebrachter.
Dies könnte zum Beispiel so aussehen:
Hallo, [sleep, 1500] Heute erzähle ich euch...
Sieht für mich eigentlich ziemlich einfach aus, aber ich glaube das Problem wird dabei sein, wie man dem Programm dann beibringt, die Pausen nicht als Text zu erkennen und mitvorlesen zu lassen.
Eine weitere, aber sicherlich fortgeschrittene Idee wäre, eine Funktion mit der man einzelne Silben eines Wortes anders betonen könnte. Das wäre ein absoluter Gamechanger, denn dadurch könnte man die Eintönigkeit der synthetischen Stimmen zumindest ein wenig durchbrechen, und sich vielleicht auch etwas mit dem Rhythmus seiner Sätze spielen. Dadurch könnte man nicht nur monoton Texte aufsagen lassen, sondern seine Texte vielleicht auch Stilmittel verwenden - (sehr weit gedacht) aber damit könnte man dann vielleicht auch Poetry Slam Texte oder einen Rap verfassen.
Lösungsansätze
Das Thema "Stimmen" ist natürlich riesengroß und in letzter Zeit tut sich da auch extrem viel. Neue Stimmen und Systeme sind verfügbar, die mittels großer Datenmengen trainiert werden und eine recht "natürliche" Sprachausgabe ermöglichen. Hier ein paar "prominente" Technologien, die es sich ev. anzuhören / zu vergleichen lohnt:
IBM Watson Enhances Neural Voices Descript Overdub Microsoft Azure TTS Google Wavenet / Google Cloud TTS Amazon Polly Über folgende Links kannst du ein paar davon hören/ausprobieren:
https://www.ibm.com/demos/live/tts-demo/self-service/home https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-voices#language-voices-enhanced-neural https://azure.microsoft.com/en-us/products/cognitive-services/text-to-speech/#overview https://www.descript.com/overdub
Es ist dadurch aber nicht einfacher geworden, sich einen Überblick auf die verfügbaren Technologien zu verschaffen, und die Voraussetzungen für deren Verwendung herauszufinden. Vieles funktioniert nur über Bezahlmodelle und online-cloud-Zugriffe. Allein herauszufinden, was unter welchen Umständen verwendbar ist wäre schon Mal ein gutes Thema für eine Bakk-Arbeit ;-) Es ist jedenfalls etwas, das wir wirklich für Projektarbeiten ausschreiben sollten.
Es gibt spezielle Tools zur Nachbearbeitung der Intonation bzw. der Sprachmelodie, die auch häufig bei Musikproduktionen verwendet werden, zb. Melodyne (https://www.celemony.com/de/melodyne/what-is-melodyne) Autotune (https://www.antarestech.com/)
Damit kann man viele Details anpassen, und sogar aus einer TTS-Voice eine Singstimme machen - allerdings nur mit viel manueller Nachbearbeitung.
Danke für den Tipp zu "Babaloka" - das ist wirklich ein sehr praktisches Tool, das ich noch nicht kannte! Ich nehme an du weißt, dass man hier direkt im Text auch Tgs einfügen kann zur Anderüng der Tönhöhe / Lautstärke / aktiven Stimme? Außerdem können Audiofiles an beliebigen Stellen eingefügt werden. Hier ein Beispiel:
Äpfel und Bananen essen. {{Audio=C:\data\audio\pause1500ms.wav}} Äpfel und Bananen essen.
damit lässt sich eine gewünschte Pause einfügen (bzw. könntest du dir einfach unterschiedlich lange Pause-xxx.wav files erzegen und die nach Bedarf verwenden. Und es lässt sich auch ein bisserl was mit der Sprachmelodie / Betonung machen.
Falls dich wissenschalftliche Details zum Thema interessieren gäbe es hier ein Paper (das ich aber auch nicht ganz durchgelesen habe ;-): https://www.frontiersin.org/articles/10.3389/fpsyg.2018.00247/full