Codeschnipsel – FHEM für TTS vorbereiten

Veröffentlicht am Veröffentlicht in Code Schnipsel

Klar wollten wir auch eine Sprachausgabe der wichtigsten Werte unserer Hausinstallation. Derzeit auf Knopfdruck an der Fernbedienung im Wohnzimmer verfügbar. Grundlage bildet die Audio-Schnittstelle des Banana (beim Raspi genauso vorhanden) und ein darauf laufender FHEM-Server. Da gibt es in der folgenden Anleitung also keine Unterschiede…

Hauptsache ein Debian-Wheezy ist drauf. Und das dann zu realisieren, ist nicht mal sonderlich schwierig. Hat man ein “pures” Linux zur Verfuegung, muss man zuerst „mplayer“ (Grundlage) installieren:

$ sudo apt-get install mplayer

Anschliessend mit „visudo“ den „mplayer“ fuer alle aufrufbar machen und im Texteditor die folgende Zeile anfuegen:

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

Ausserdem empfiehlt sich der Einsatz von „MP3wrap“, damit mindestens ab dem zweiten Aufruf die Sprachwiedergaben fluessig rueberkommen:

$ sudo apt-get install mp3wrap

Jetzt kann man in FHEM das Sprachmodul initialisieren. Wichtig natuerlich, dass ueberhaupt eines da ist. Deshalb am besten auf dem FHEM-Mirror nachschauen und das entspechende Perl-Modul (98_text2speech.pm) herunterladen und in das Modulverzeichnis von FHEM kopieren. Danach in der „fhem.cfg“ folgendes definieren:

define myTTS Text2Speech hw=0.0
attr myTTS room Text2Speech
attr myTTS TTS_UseMp3Wrap 1
attr myTTS verbose 4

Und jetzt geht in der Kommandozeile von FHEM oder in Verbindung von diversen Notifies das Folgende:

$fhem: set myTTS tts ‘Ich liebe Dich.’

Es gilt, Gross- und Kleinschreibung zu beachten. Damit wird jedenfalls der Satz oben “vorgelesen” mit der Stimme der Google-Engine und ueber das Device.Subdevice “0.0”. Die zur Verfuegung stehenden Hardware-Devices lassen sich uebrigens mit „aplay -l“ anzeigen und gegebenenfalls aendern.

Zuletzt noch dies hier in z.B. die „rc.local“ eintragen, um nach jedem Reboot die gewünschte Ausgangslautstärke anliegen zu haben:

$ amixer cset numid=1 53
 

Swen Hopfe

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Blue Captcha Image
Refresh

*