<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Berrnd</id>
	<title>FHEMWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Berrnd"/>
	<link rel="alternate" type="text/html" href="http://wiki.fhem.de/wiki/Spezial:Beitr%C3%A4ge/Berrnd"/>
	<updated>2026-04-12T17:40:48Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Text2Speech&amp;diff=12594</id>
		<title>Text2Speech</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Text2Speech&amp;diff=12594"/>
		<updated>2015-10-19T11:47:30Z</updated>

		<summary type="html">&lt;p&gt;Berrnd: Installationshinweise für SVOX-pico (und auch Espeak) hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Sprachausgabe über Fhem&lt;br /&gt;
|ModType=d&lt;br /&gt;
&amp;lt;!-- |ModCategory=?? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- |ModCmdRef=alternativerModulName --&amp;gt;&lt;br /&gt;
|ModForumArea=Unterstützende Dienste&lt;br /&gt;
|ModTechName=98_Text2Speech.pm&lt;br /&gt;
|ModOwner=tobiasfaust ([http://forum.fhem.de/index.php?action=profile;u=118 Forum] / [[Benutzer_Diskussion:Tobias.faust|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Das Modul [[Text2Speech]] ist ein Modul um eine Sprachausgabe über FHEM zu realisieren. Das Modul ist Client-Server-fähig.&lt;br /&gt;
&lt;br /&gt;
==Definition Lokale Architektur==&lt;br /&gt;
Voraussetzung ist ein installierter Mplayer:&lt;br /&gt;
 sudo apt-get install mplayer&lt;br /&gt;
&lt;br /&gt;
Danach den Mplayer für alle aufrufbar machen&lt;br /&gt;
====a) per SUDOERS====&lt;br /&gt;
 EDITOR=nano&lt;br /&gt;
 visudo&lt;br /&gt;
Dort an letzter Stelle eintragen:&lt;br /&gt;
 ALL     ALL = NOPASSWD: /usr/bin/mplayer&lt;br /&gt;
====b) oder(!) per GruppenRechte====&lt;br /&gt;
 sudo usermod -aG audio fhem &lt;br /&gt;
&lt;br /&gt;
Hat man Mplayer per Gruppenrechte verfügbar gemacht, muss aber später folgendes Attribut gesetzt sein. Damit wird verhindert, das Mplayer mit dem Defaultmäßig eingestelltem &amp;quot;sudo&amp;quot; aufgerufen wird welches für a) per sudoers gebraucht wird.&lt;br /&gt;
 attr MyTTS TTS_MplayerCall /usr/bin/mplayer&lt;br /&gt;
&lt;br /&gt;
Empfohlen wird die Nutzung von MP3Wrap. Dadurch wird bei wiederholten Sprachbausteinen ein deutlich flüssigerer Sprachfluss erreicht:&lt;br /&gt;
 sudo apt-get install mp3wrap&lt;br /&gt;
&lt;br /&gt;
per &#039;&#039;aplay -l&#039;&#039; erhält man eine Liste der möglichen Audio Ausgabedevices. Von dem gewünschten Ausgabedevice ermittelt man nun die Kartennummer und das Subdevice. Mit diesen Daten kann man nun das Modul Text2Speech definieren:&lt;br /&gt;
 define MyTTS Text2Speech hw=0.0;&lt;br /&gt;
 attr MyTTS room Text2Speech;&lt;br /&gt;
 attr MyTTS TTS_UseMP3Wrap 1;&lt;br /&gt;
 attr MyTTS verbose 4;&lt;br /&gt;
&lt;br /&gt;
Ein erster Test kann wie folgt durchgeführt werden:&lt;br /&gt;
 set MyTTS tts Das ist ein Test. Jetzt prüfen wir, ob wir etwas aus dem angeschlossenen Lautsprecher hören. Beim ersten Mal haben wir allerdings noch Sprechpausen. Spätestens beim zweiten durchlauf ist der Textfluss flüssiger.&lt;br /&gt;
Hört man etwas aus dem Lautsprecher, so führen wir das Kommando ein zweites Mal aus. Jetzt sollte es sich besser anhören ;)&lt;br /&gt;
Bleiben die Lautsprecher stumm, so ist das fhem-Log zu kontrollieren. Gegebenenfalls ist das verbose-Level auf 5 zu stellen.&lt;br /&gt;
&lt;br /&gt;
War der Test erfolgreich, kann das verbose-Attribut wieder gelöscht werden.&lt;br /&gt;
&lt;br /&gt;
====Abhängikeiten der lokalen Sprachengines====&lt;br /&gt;
Für beide lokale Engines ist &amp;lt;code&amp;gt;lame&amp;lt;/code&amp;gt; für die Umwandlung von .wav in .mp3 notwendig.&lt;br /&gt;
 sudo apt-get install lame&lt;br /&gt;
======Espeak======&lt;br /&gt;
 sudo apt-get install espeak&lt;br /&gt;
======SVOX-pico======&lt;br /&gt;
 sudo apt-get install libttspico-utils&lt;br /&gt;
Für ARM/Raspbian sind die &amp;lt;code&amp;gt;libttspico-utils&amp;lt;/code&amp;gt; leider nicht verfügbar, deswegen müsste man diese selbst kompilieren oder das vorkompilierte Paket aus [http://www.robotnet.de/2014/03/20/sprich-freund-und-tritt-ein-sprachausgabe-fur-den-rasberry-pi/ dieser Anleitung] verwenden, folgend in aller Kürze:&lt;br /&gt;
 sudo apt-get install libpopt-dev&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://www.dr-bischoff.de/raspi/pico2wave.deb&lt;br /&gt;
 sudo dpkg --install pico2wave.deb&lt;br /&gt;
&lt;br /&gt;
==Definition Client-Server Architektur==&lt;br /&gt;
Es gibt Installationen, bei der der FHEM-Server zb. im Keller steht, die Sprachausgabe soll aber räumlich entfernt stattfinden, z. B. im Wohnzimmer. Hierzu ist am Zielort eine FHEM-Instanz anzulegen, z.B. über einen RaspberryPi, IP: 192.168.178.10. &lt;br /&gt;
Auf dem FHEM-Server ist Text2Speech als Remote zu definieren:&lt;br /&gt;
 define MyTTS Text2Speech 192.168.178.10:7072 fhempasswd;&lt;br /&gt;
 attr Text2Speech room Text2Speech;&lt;br /&gt;
&lt;br /&gt;
Am Zielort ist Text2Speech auf dem Raspi wie folgt zu definieren:&lt;br /&gt;
 attr global globalpassword fhempasswd;&lt;br /&gt;
 define MyTTS Text2Speech hw=0.0;&lt;br /&gt;
 attr MyTTS room Text2Speech;&lt;br /&gt;
 attr MyTTS TTS_UseMP3Wrap 1;&lt;br /&gt;
 attr MyTTS verbose 4;&lt;br /&gt;
Bitte die Installation von Mplayer und Mp3Wrap nicht vergessen!&lt;br /&gt;
Danach der Test wie oben angegeben.&lt;br /&gt;
&lt;br /&gt;
==Sprachausgabe per Bluetooth-Lautsprecher==&lt;br /&gt;
Es ist ebenfalls möglich die Sprachausgabe nicht über einen direkt per Kabel angeschlossenen Lautsprecher auszugeben, sondern per Bluetooth an einen oder mehrere Bluetooth-Lautsprecher. Der Test2Speech-Author verwendet einen CreativeD80.&lt;br /&gt;
Dabei ist auf dem Client mit der lokal eingerichteten Text2Speech-Instanz folgendes vorzunehmen:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; USB-Bluetooth-Stick verbinden&lt;br /&gt;
per &#039;&#039;lsusb&#039;&#039; prüfen, ob der Stick erkannt wurde.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Bluetooth Bibliotheken installieren&lt;br /&gt;
 sudo apt-get install bluez bluez-alsa mplayer&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Bluetooth für eine AudioVerbindung konfigurieren&lt;br /&gt;
Dazu in &#039;&#039;/etc/bluetooth/audio.conf&#039;&#039; in der &#039;&#039;global section&#039;&#039; folgendes einfügen:&lt;br /&gt;
 Enable=Source,Sink,Headset,Gateway,Control,Socket,Media&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; den Rechner neu starten&lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.&#039;&#039;&#039; Den Bluetooth-Lautsprecher lokalisieren&lt;br /&gt;
Den Lautsprecher in den Pairing-Modus versetzen. Erst Dadurch wird er im Scanning sichtbar&lt;br /&gt;
 hcitool scan&lt;br /&gt;
Folgendes Ergebnis sollte kommen:&lt;br /&gt;
 Scanning ...&lt;br /&gt;
    11:22:33:44:55:66   device 1&lt;br /&gt;
    12:34:56:78:90:12   device 2&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6.&#039;&#039;&#039; eine RFComm Connection vorbereiten&lt;br /&gt;
Dazu &#039;&#039;/etc/bluetooth/rfcomm.conf&#039;&#039; editieren und folgendes eintragen (Mac-Adresse anpassen!)&lt;br /&gt;
 rfcomm0 {&lt;br /&gt;
   # Automatically bind the device at startup&lt;br /&gt;
   bind no;&lt;br /&gt;
   # Bluetooth address of the device&lt;br /&gt;
   device 11:22:33:44:55:66;&lt;br /&gt;
   # RFCOMM channel for the connection&lt;br /&gt;
   channel 3;&lt;br /&gt;
   # Description of the connection&lt;br /&gt;
   comment &amp;quot;This is Device 1&#039;s serial port.&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7.&#039;&#039;&#039; rebooten&lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8.&#039;&#039;&#039; Pairing-Key vergeben&lt;br /&gt;
Die meisten Bluetoothgeräte verlangen einen Schlüssel während des Pairings. Der Creative-D80 erwartet den Schlüssel 0000&lt;br /&gt;
 bluetooth-agent 0000 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9.&#039;&#039;&#039; Das eigentliche Pairing&lt;br /&gt;
Den Lautsprecher in den Pairing-Modus versetzen. Danach:&lt;br /&gt;
 sudo rfcomm connect rfcomm0&lt;br /&gt;
Jetzt sollte keine Fehlermeldung mehr kommen....&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10.&#039;&#039;&#039; Alsa konfigurieren&lt;br /&gt;
Der Bluetooth-Lautsprecher muss nun noch als Alsa-Audiodevice bekannt gemacht werden. Dazu muss &#039;&#039;/etc/asound.conf&#039;&#039; erstellt werden. MAC anpassen!&lt;br /&gt;
 pcm.bluetooth {&lt;br /&gt;
   type bluetooth&lt;br /&gt;
   device 11:22:33:44:55:66&lt;br /&gt;
   profile &amp;quot;auto&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Danach Alsa restarten:&lt;br /&gt;
 /etc/init.d/alsasound restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;11.&#039;&#039;&#039; Testen der Verbindung&lt;br /&gt;
:&amp;lt;code&amp;gt;mplayer -ao alsa:device=hw=0.0 -nolirc -noconsolecontrols -http-header-fields &amp;quot;User-Agent:Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22m&amp;quot; &amp;quot;http://translate.google.com/translate_tts?tl=de&amp;amp;q=Das ist ein Test.&amp;quot;;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Vorstellung und Diskussion des Moduls im [http://forum.fhem.de/index.php/topic,18481.0.html Fhem Forum]&lt;br /&gt;
* [[Wetter_vorlesen_lassen|Code Snippets: Wetter vorlesen lassen]]&lt;/div&gt;</summary>
		<author><name>Berrnd</name></author>
	</entry>
</feed>