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

Mit ** gekennzeichnete Links auf dieser Seite sind Affiliatelinks.

FHEM Tutorial-Reihe - Part 38: Text To Speech - Sprachausgabe und Sounds
FHEM Tutorial-Reihe - Part 38: Text To Speech - Sprachausgabe und Sounds
  • Matthias Kleine
  • 30.08.2017
  • Webservice
  • Audio

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

Ich will mehr

Smart-Home-Training von A-Z

Steig noch tiefer in die Themen ein und meistere Deine Projekte!

ioBroker-Master-Kurs

ioBroker-Master-Kurs

Mehr Infos
NodeRed-Kurs

NodeRed-Kurs

Mehr Infos
Lox-Kurs

Lox-Kurs

Mehr Infos
FHEM-Kurs

FHEM-Kurs

Mehr Infos