FHEM Tutorial-Reihe - Part 38: Text To Speech - Sprachausgabe und Sounds

Mit ** gekennzeichne Links auf dieser Seite sind Affiliatelinks.

Schon lange wollte ich einmal Sprache und Sounds zu bestimmten Events über die Boxen ausgeben können. Mit dem Modul TTS (TextToSpeech) ist genau dies sehr einfach am Raspberry Pi zu realisieren. In diesem Beitrag möchte ich einmal vorstellen wie man Text mit verschiedenne Diensten wie Google oder VoiceRSS zu Sound umwandelt um diesen dann über am Raspberry Pi angeschlossene Boxen auszugeben.

Was wird benötigt?

  • Eine FHEM-Installation
  • Ein Raspberry Pi mit angeschlossenen Lautsprechern

Video

FHEM-Kurs

Befehle

Alle verwendeten Kommandos aus dem Video sind hier zu finden. Generell ist auch eine Ausgabe über Bluetooth möglich, welche im Wiki erklärt wird.

Als erstes müssen ein paar Pakete installiert werden

sudo apt-get install mplayer
sudo usermod -aG audio fhem
sudo apt-get install mp3wrap

Dann kann auch schon das erste FHEM-Device registriert werden, welches in diesem Fall aus der Soundkarte 0.0 den Ton ausgeben soll (Klinkenbuchse des Raspberry Pi).

define MyTTS Text2Speech hw=0.0
attr MyTTS TTS_UseMP3Wrap 1

Zum testen kann dann ein beliebiger Text ausgegeben werden

set MyTTS tts Das ist ein Test.
aplay -l

In meinem Fall hat das setzen der Benutzergruppe leider nicht ausgereicht um FHEM genügend Rechte zum Abspielen einer Audiodatei gegeben. Daher habe ich die sudo-Rechte für den mplayer für alle User so konfiguriert, dass kein Passwort mehr benötigt wird.

sudo visudo
ALL     ALL = NOPASSWD: /usr/bin/mplayer

Nun kann erneut getestet werden

set MyTTS tts Das ist ein Test.

HomeMatic-Inside Türklingeln Download

Als nächstes legen wir ein mp3-Verzeichnis an und kopieren die entsprechenden Dateien dort hinein

cd /opt/fhem
sudo mkdir mp3
sudo chown fhem:dialout mp3/

Kopieren geht am einfachsten per scp auf der Shell. Alternativ kann auch WinSCP oder FileZilla genutzt werden, wenn man sich eine grafische Oberfläche wünscht.

scp mp3_doorbells.zip pi@192.168.178.31:.

Nun entpacken wir auf dem Raspberry die Zip-Datei und geben dem FHEM-Benutzer die erforderlichen Rechte um die Dateien auch Lesen zu dürfen. Die Zip-Datei kann dann natürlich gelöscht werden.

sudo mv mp3_doorbells.zip /opt/fhem/mp3/
cd /opt/fhem/mp3/
sudo unzip mp3_doorbells.zip
sudo rm mp3_doorbells.zip
sudo chown fhem:dialout /opt/fhem/mp3/*

Hier noch ein Beispiel wie dann mit diesen mp3-Dateien umgegangen wird. Ich würde immer empfehlen diese über das Filemapping zu setzen, da es dann später ganz einfach ist einzelne Sounds in allen Nachrichten auszutauschen, da es nur an einer Stelle geändert werden muss.

set MyTTS tts :doorbell_01.mp3:
attr MyTTS TTS_FileMapping klingel:doorbell_01.mp3
set MyTTS tts :klingel:
set MyTTS tts :klingel: Willkommen Zuhause

Auf VoiceRSS kann man sich hier registrieren


Newsletter

Trage Dich jetzt in den Newsletter ein und genieße dadurch viele Vorteile:

  • 5€-Gutschein als Dankeschön
  • Zugang zu exklusiven Inhalten
  • Rabattaktionen für Kurse
  • Angebote für Produkte

* Durch Angabe meiner E-Mail-Adresse erkläre ich mich damit einverstanden, dass mir regelmäßig Informationen und Produktempfehlungen aus dem Fachgebiet Smart Home zugesendet werden. Mit dem Eintrag akzeptieren Sie unsere Datenschutzbestimmungen. Meine Einwilligung kann ich jederzeit widerrufen.

Matthias Kleine

Matthias Kleine

Großer Fan und Anhänger von OpenSource-Projekten und erweiterbaren Haus-Automatisierungskomponenten. Je offener und flexibler das System, desto besser. Ich lege mich ungern auf einzelne Protokolle oder Standards fest, sondern probiere aus allen Welten das Beste zu verheiraten. Unterwegs als Softwareentwickler, Trainer und Blogger im Bereich Smart Home.

Auf YouTube und hier im Blog gibt es bereits unzählige kostenlose Videos, Informationen und Tutorials. Wenn Dir das noch nicht reicht, ist ein Training genau das richtige für Dich! Die folgenden Trainings haben den Vorteil, dass immer von Anfang an gestartet wird und Du ohne Vorwissen teilnehmen kannst.