Text-to-Speech: Hör mal, wer da spricht

02.02.2022 Know-How

Reden und zuhören ist die natürlichste Art, wie Menschen miteinander kommunizieren – erst viel später kam die Schrift. Bei der Mensch-Maschine-Kommunikation geht der Trend jetzt wieder zurück zu den Basics. Inzwischen lassen sich hochwertige Audio-Dateien auch ganz einfach in vielen Sprachen erstellen.

Kann ein Gerät oder eine Maschine „sprechen“, bringt das enorme Vorteile in vielen Einsatzszenarien: Die barrierefreie Nutzung auch durch sehbehinderte Menschen ist damit gesichert. Blickkontakt zum jeweiligen Gerät ist nicht mehr nötig, was zum Beispiel beim Autofahren die Sicherheit erheblich erhöht. Aber auch, wenn Maschinen in einem anderen Raum stehen, kann das sehr hilfreich sein, zum Beispiel wenn Pfleger im Krankenhaus einen Hinweis zu einer gefährlichen Situation hören, auch wenn sie sich gerade nicht direkt beim Patienten aufhalten. Ähnliche Warnmeldungen können auch in Produktionsstätten wertvolle Dienste leisten. Zudem kann eine Sprachausgabe die Bedienung von immer komplexeren Geräten deutlich vereinfachen.

 

Noch weiter gehen Anwendungen mit bidirektionaler Kommunikation, die also nicht nur „sprechen“, sondern auch „hören“ können, wie Siri, Cortana und Co. Häufig ist eine Sprachausgabe jedoch vollkommen ausreichend. Das hat den Vorteil, dass der Hard- und Softwareaufwand deutlich geringer ist und keine aufwendige Infrastruktur mit Internet-Anbindung nötig ist.

Mehr Informationen über Text to Speech finden Sie auf unserer Landingpage.

Sprache einfach aus Textdateien erzeugen

Bislang musste für eine Sprachausgabe der jeweilige Text in jeder gewünschten Sprache eingesprochen werden. Das bedeutet: Ein Aufnahmestudio und ein professioneller Sprecher mussten gebucht oder ein eigenes Studio eingerichtet werden – eine teure und zeitintensive Lösung. Um die Entwicklungszeit und -kosten drastisch zu reduzieren, hat Epson das ESPER2 Voice Data Creation PC Tool entwickelt. Mit dieser PC-basierten Entwicklungsumgebung lassen sich qualitativ hochwertige Audiodateien aktuell für bis zu zwölf Sprachen erzeugen.

 

Hierfür können vorformulierte Sätze als Text im CSV-Format in das Tool importiert oder in eine Editormaske direkt eingegeben werden. Mit Hilfe des Tools wird daraus eine Sprachdatei erzeugt. Für die korrekte und natürliche Aussprache und Betonung analysiert ESPER2 auch den Satzbau der Texte. Zudem verfügt es über ein umfangreiches Wörterbuch. Die Aussprache von Produkt- und Eigennamen oder Wortschöpfungen, die nicht im Wörterbuch hinterlegt sind, lässt sich mit der Editierfunktion in die gewünschte Form bringen. Dadurch ist die Qualität der generierten Audiodateien vom gesprochenen Wort eines Menschen kaum zu unterscheiden.

 

Liegen Sprach- und Audiodaten im WAV-Format schon vor, sind diese mit ESPER2 ebenfalls nutzbar. Die WAV-Dateien lassen sich einfach in die Entwicklungsumgebung importieren, wo sie mit den von ESPER2 generierten Dateien verbunden werden.

 

Für eine weitere Bearbeitung können Sätze aus dem Tool als Excel-Download im CSV-Format exportiert werden.

 

Rund um die Welt zu verstehen

ESPER2 deckt aktuell zwölf Sprachen ab: Amerikanisches und Britisches Englisch, Französisch und Kanadisches Französisch, Deutsch, Italienisch, Russisch, Spanisch und Amerikanisches Spanisch, Chinesisch, Japanisch und Koreanisch. Um sprachspezifische Besonderheiten abzubilden, lässt sich die Stimme in Tonlage und Sprachgeschwindigkeit einstellen.

 

Das Tool verfügt allerdings nicht über eine Übersetzungsfunktion. Der Text muss also in jeder gewünschten Sprache in ESPER2 eingetragen werden.

 

Eine Bibliothek mit Audiodateien zu gängigen Einheiten wie Währungen, Gewichten und ähnlichen Größen, hat Epson bereits angekündigt, außerdem einfache Geräusche, mit denen sich die menschlichen Äußerungen ergänzen lassen.

 

Wenig Speicherplatz und hohe Sprachqualität

Für die effiziente Übertragung und Speicherung nutzt ESPER2 das Epson-eigene Codec-Format EOV (Epson Own Voice). Verglichen mit der Standardkomprimierung ADPCM (Adaptive Differential Pulse Code Modulation) schrumpft EOV die Dateigröße noch einmal um bis zu zwei Drittel – und das bei erstklassiger Sprachqualität zwischen 16kbps und 40kbps.

 

Das .eov-File setzt sich aus einer Lookup-Tabelle und den Audiodaten zusammen. Damit Entwickler auch bei unzähligen Sätzen in mehreren Sprachen den Überblick behalten, können sie einem Satz in verschiedenen Sprachen dieselbe ID der Lookup-Tabelle zuordnen. Dann brauchen sie nur eine ID aufrufen und der Satz wird in allen Sprachen abgespielt.

 

Um noch mehr Speicherplatz einzusparen, lassen sich Formulierungen, die sich oft wiederholen, mit einem Slash (/) mit weiteren Aussagen verbinden. Zum Beispiel bei Wochentagen sieht das so aus:

ID Nummer 1: “Heute ist/Montag.“

ID Nummer 2: “Heute ist/Dienstag.“

ID Nummer 3: “Heute ist/Mittwoch.“

Die erzeugten Sprachdaten lauten hier: „Heute ist” und “Montag”, “Dienstag”, “Mittwoch”.

 

Speicherung und Sprachausgabe mit integrierter …

Für die Speicherung und Ausgabe der erzeugten Sprachdaten bietet Epson eine integrierte und eine diskrete Lösung an. Die integrierte Lösung besteht aus einer 32-bit ARM Cortex-M0+ Mikrocontroller-Familie mit eingebautem Sprach- und Audio-Hardware-Prozessor (SoC). Dieser ermöglicht, den Ton simultan über zwei Kanäle mit einer Abtastrate von jeweils 15.625kHz abzuspielen.

 

Damit ist es aktuell die einzige integrierte Lösung auf dem Markt, die Text und Audio gleichzeitig wiedergeben kann.  Das Besondere: Die jeweiligen Lautstärken lassen sich unabhängig voneinander steuern. So kann z.B. die Musik leiser werden, sobald die Sprachausgabe einsetzt. Tonlage und Sprachgeschwindigkeit werden hardwareseitig realisiert, die Geschwindigkeit ist in 5%-Schritten zwischen 75% und 125% regelbar.

 

Die IDs der erzeugten Sprach- und Audiodaten werden in ein Register des Hardware-Prozessors geschrieben, der dann die jeweiligen Audio-Dateien abspielt. Spezieller Programm-Code für die Verknüpfung der Tondateien ist damit nicht nötig. Startet die Tonwiedergabe, werden keine CPU-Ressourcen benötigt, so dass die CPU uneingeschränkt andere Aufgaben übernehmen oder in den Schlafmodus gehen kann.

 

… oder diskreter Lösung

Die diskrete Lösung kombiniert einen Baustein aus der Sprachausgabe-IC-Familie S1V30xxx von Epson mit einem externen Host-Mikrocontroller. Damit ist sie ideal für bestehende Designs, bei denen der Mikrocontroller nicht ersetzt werden kann oder soll. Das funktioniert mit jedem Mikrocontroller mit integrierter serieller Schnittstelle.

 

Der erste Baustein der Serie, der S1V3G340, verfügt lediglich über einen Audiokanal, d.h. er kann entweder Sprache oder Musik ausgeben. Alle neuen Sprachausgabe-ICs sollen laut Hersteller, wie die integrierten Lösungen, mit zwei unabhängigen Kanälen ausgestattet sein. Aktuell ist der Mikrocontroller S1C31D50 mit zwei Kanälen erhältlich, dank Mix-Play-Funktion lassen sich diese auch überlagern, z.B. als Sprachausgabe mit dezenter Hintergrundmusik. Die Variante S1C31D51 bietet zusätzlich einen Sound-Generator, um Sprachausgabe über einen piezoelektrischen oder einen elektromagnetischen Buzzer zu realisieren. Spezielle Anwendungsszenarien auf Basis zu erkennender Schlüsselwörter können von den Mikrocontrollern S1C31D50 oder S1C31D51 in Verbindung mit einem am AD-Wandler-Eingang angeschlossenen externen Mikrofon unterstützt werden.

 

Entwickler können die Qualität der Sprachausgabe mit verschiedenen Evaluation Tools von Epson testen: Mit den Evaluation Boards S5U1C31D50T1200 und S5U1C31D51T1100 geht das über einen Lautsprecher, mit dem Buzzer Board S5U1C31D51T2100 in Kombination mit dem Evaluation Board S5U1C31D51T1100 über einen piezoelektrischen oder einen elektromagnetischen Buzzer. Alle Evaluierungsmöglichkeiten enthalten eine umfangreiche Test-Software in verschiedenen Sprachen, die gewünschte Sprache lässt sich mit einem DIP-Schalter auswählen. Nach Installation und Lizenzierung der kostenlosen ESPER2-Software können auch eigene Sätze kreiert, nach Belieben verändert und auf das Evaluation Board aufgespielt werden.

 

Kurze Entwicklungszeit dank Adapter-Board von Rutronik

Wer die Entwicklungszeit für eine hochwertige Sprachausgabe nochmal deutlich verkürzen möchte, greift am besten auf das Arduino-kompatible Adapter-Board (Arduino Shield) RutAdaptBoard-TextToSpeech von Rutronik zurück. Es kann auf jedes handelsübliche Mikrocontroller-Evaluation-Kit mit Arduino-Interface gesteckt werden. Am komfortabelsten ist es jedoch in Kombination mit dem Development-Kit RutDevKit, weil dafür entsprechende Software-Treiber bereits kostenlos zur Verfügung stehen. Alternativ zum STM32L5-Software-Treiber hat Rutronik einen Treiber für den Infineon/Cypress PSoC-Mikrocontroller entwickelt.

 

Herzstück des RutAdaptBoard-TextToSpeech ist der S1V3G340 Sound-IC von Epson. Er wird vom Host-Mikrocontroller gesteuert und kann zuvor definierte Sprache, die sich als Binary im externen NOR-Flash befindet, abspielen. Die USB-to-SPI-Bridge wandelt beim Flashvorgang die Daten vom USB-Protokoll in ein serielles Protokoll um.

 

Hierfür wird die Sprache zunächst mit dem ESPER2 Voice Data Creation PC Tool als ROM-Datei generiert. Diese wird dann auf den externen NOR-Flash des Adapter-Boards aufgespielt. Hierfür hat Rutronik eigens ein PC-Software-Tool entwickelt. Damit lassen sich neben dem Flashvorgang zusätzlich alle zuvor generierten Sprachdaten testweise auf dem PC ausgeben, bevor sie auf den Flash geschrieben werden.

 

Über einen Audio-Verstärker und 3,5mm-Klinkenbuchse wird die Sprache über einen beliebigen externen Lautsprecher ausgegeben. Optimale Soundergebnisse lassen sich bei einem Lautsprecher mit einer Impedanz von 8Ω oder höher erzielen.

Mehr Informationen über Text to Speech finden Sie auf unserer Landingpage.

Das RutAdaptBoard-TextToSpeech sowie das RutDevKit sind auf www.rutronik24.com erhältlich. Bei der Umsetzung stehen die Fachleute von Rutronik beratend zur Seite, auch bei Fragen zu ergänzenden Bauelementen für die Anwendung, wie Audio-Verstärker, NOR-Flash-Speicher oder Lautsprecher.

 

Rutronik’s Arduino-compatible adapter board allows for fast creation of high-quality speech output.