Raspberry Pi Pico: Text-To-Speech (TTS)

Text-To-Speech (TTS) ist eine Technik, die geschriebenen Text in gesprochene Sprache umwandelt. Dadurch können Inhalte vorgelesen werden. Zum Beispiel von Computern, Smartphones, Navigationssystemen oder Sprachassistenten. Kurz gesagt: TTS macht Text hörbar.

Text-to-Speech (TTS) hat sich in den letzten Jahren von robotischen Stimmen zu fast menschlich klingenden Sprachmodellen entwickelt. Das eröffnet für Bastler und Technik-Begeisterte neue Möglichkeiten der Interaktion mit Maschinen.

Der Raspberry Pi Pico ist ein Mikrocontroller-Board auf Basis des RP2040-Chips. Er wird meist mit MicroPython oder C/C++ programmiert und eignet sich besonders für Einsteiger und Bastler zum Programmieren von Steuerungen, Sensorik, Robotik oder IoT-Anwendungen.
Lösungen mit Text-To-Speech (TTS) und dem Raspberry Pi Pico (Mikrocontroller-Board) basieren zwangsläufig auf externen Modulen. Die Gründe sind, dass der Mikrocontroller RP2040 bzw. RP2350 auf dem Pico weder ein Betriebssystem noch genügend Rechenleistung, Speicher und Audio-Subsysteme besitzt, um komplexe Sprachsynthese lokal auszuführen. Ebensowenig ist er in der Lage eine Audio-Ausgabe (DAC, Verstärker, Lautsprecher) zu ermöglichen. Darum nutzt man zusammen mit dem Raspberry Pi Pico für Text-To-Speech externe Audio-Player-Module, spezielle TTS-Module oder Online-Dienste.

MP3-Player-Module

Die grundsätzliche Idee ist, dass ein Raspberry Pi Pico (das Mikrocontroller-Board) sprechen kann. Die Sprachausgabe gestaltet sich auf dem Pico als praktisch nicht realisierbar. Eine mögliche Offline-Lösung könnten MP3-Player-Module mit festgelegten Audio-Dateien sein. Die sind aber zu unflexibel. Man müsste sich vorher die Mühe machen genau zu spezifizieren, was ausgegeben werden soll.

Externe TTS-Module

Externe TTS-Module gibt es einige. Doch leider sind die nicht universell nutzbar, sondern man ist gezwungen ein bestimmtes Ökosystem aus Hardware und Software zu nutzen. Der Raspberry Pi Pico ist da in der Regel nicht dabei. Außerdem kommen die meisten TTS-Module aus China. Das heißt, sie beherrschen nur Chinesisch und Englisch. Andere aus den USA beherrschen Englisch und Spanisch. Module mit anderen Sprachen existieren nicht.

  • DFRobot Gravity TTS Module
  • Emic 2 Text-to-Speech Module
  • SYN6988 TTS Module (verschiedene Varianten)

Alle externen Module haben auch noch den Nachteil, dass sie ein mehr oder weniger komplexes Kommunikationsprotokoll haben, dass softwareseitig implementiert werden muss, sofern keine fertige Bibliothek vorhanden ist.

Online-Lösungen mit API

Online-Dienste für Text-to-Speech gibt es wie Sand am Meer. Sie wandeln geschriebenen Text in gesprochene Sprache um. Sie bieten meist eine hohe Sprachqualität, verschiedene Stimmen und Sprachen. Manche cloudbasierte Dienste ermöglichen eine einfache Integration über APIs. Da die Verarbeitung auf externen Servern erfolgt, entstehen jedoch Abhängigkeiten. Man ist auf eine Internet-Verbindung, die Verfügbarkeit des Online-Dienstes und Einhaltung des Datenschutzes angewiesen.

  • Google TTS
  • OpenAI TTS

Eine Online-Lösung möchten wir wegen der externen Abhängigkeit ausschließen.

Eigenbau-Lösung

Weil bei einer Offline-Lösung praktisch kein Weg an einem externen Modul vorbei führt und es ein solches mit den gewünschten Anforderungen nicht gibt, stellt sich die Frage nach einer Selbstbau-Lösung. Die Lösung sollte möglichst universell nutzbar sein. Die Lösung soll also nicht auf einen Raspberry Pi Pico zugeschnitten sein, sondern mit einem beliebigen Arduino oder ESP32 ohne zusätzliche Software oder Bibliotheken nutzbar sein. Außerdem sollte eine einigermaßen verständliche deutsche Sprachausgabe erfolgen und die Programmierung so einfach sein, wie ein einfaches „print()“.

Wenn man sich so umsieht, entdeckt man viele funktionierende PC-Lösungen. Auch brauchbare Open-Source-Lösungen mit Linux. Ein naheliegender Gedanke ist, einen Einplatinen-Computer, wie einen Raspberry Pi als TTS-Modul zu realisieren.

Die Anforderungen sehen wie folgt aus:

  • Die hat braucht zur Ausführung der TTS-Algorithmen ausreichend viel Rechenleistung und RAM.
  • Die Hardware hat einen integrierte DAC und Audio-Verstärker oder er lässt sich günstig erweitern.
  • Auf der Hardware läuft ein Betriebssystem zur flexiblen Software-Unterstützung.

Der Einplatinen-Computer Raspberry Pi bietet im Prinzip das alles an und ermöglicht damit die Eigenbau-Lösung eines TTS-Moduls.

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython

Elektronik-Set Pico Edition

Das Elektronik-Set Pico Edition ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Elektronik-Set jetzt bestellen Online-Workshop buchen

Online-Workshop: Programmieren mit dem Raspberry Pi Pico

Programmieren mit dem Raspberry Pi Pico

Gemeinsam mit anderen und unter Anleitung experimentieren? Wir bieten unterschiedliche Online-Workshops zum Raspberry Pi Pico und MicroPython an. Einführung in die Programmierung, Sensoren programmieren und kalibrieren, sowie Internet of Things und Smart Home über WLAN und MQTT.

Online-Workshop buchen

Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.

Termine und Newsletter-Anmeldung

 

Elektronik-Sets für das Hardware-nahe Programmieren