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

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

Dir gefällt dieses Video? Dann abonniere meinen Kanal, um in Zukunft kein Video mehr zu verpassen!

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

Falls Dir dieser Beitrag gefallen hat, würde ich mich sehr freuen wenn Du Dich in meinen Newsletter einträgst.

Über diesen Weg verpasst Du keine Inhalte, bekommst jede Menge wertvolle Tipps und Informationen um Dein Zuhause smarter zu gestalten.

Matthias Kleine

Matthias Kleine

Großer Fan und Anhänger von OpenSource-Projekten und erweiterbare 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. Hauptberuflich Softwareentwickler und Blogger, sowie Trainer im Bereich Smart Home mit FHEM.


** Wenn Du über einen dieser Links etwas kaufst, bekommen wir eine kleine Provision von Amazon. Das Produkt wird dadurch natürlich NICHT teurer.