Sprachausgabe – Unser Haus kann sprechen

Es hat etwas gedauert aber das Projekt Sprachausgabe ist so gut wie abgeschlossen. Wie in einem Sciene-Fiction Film kann unser Haus jetzt sprechen. Natürlich (noch) ein Monolog aber auch das könnte sich bald ändern 😉 .

Die Lösung kann mit vielen Smart Home Systemen oder Standalone (mit reinen http Befehlen) betrieben werden. Es könnte auch ein Internet Radiostream oder MP3s aus dem Netzwerk abgespielt werden, also ein günstiges Unterputz- bzw. Netzwerkradio (im Vergleich zu anderen Lösungen) mit vielen Extras. Das Ziel war aber eine dynamische Sprachausgabe um z. B. folgende Informationen auszugeben: Wetter in 4 Stunden, Regenwarnung, offene Fenster, Klingelbetätigung, Interne Ruffunktion (wenn der Mann in der Werkstatt die Zeit vergessen hat), Post ist da (frisierter Briefkasten vorausgesetzt), (viel) Bewegung im Garten, eine nette Begrüßung am morgen 😉 oder beim gehen einfach nur die Info den Schlüssel nicht zu vergessen. Der Fantasie sind hier fast keine Grenzen gesetzt.

Mein erster Plan war es, selbst erstellte MP3-Files über eines der diversen verfügbaren MP3 Sound Module abzuspielen, doch irgendwie hatte jede Lösung mindestens einen Punkt der mich gestört hat. Ich habe mich dann relativ schnell, wie man in den anderen Beiträgen schon erahnen konnte, für die kleine “Allzweckwaffe” Raspberry Pi entschieden. Hier habe ich die größte Flexibilität und die Integration in die Hausautomatisierung ist dank der Netzwerkschnittstelle auch sehr einfach. Damit ich den Raspberry Pi auch in den Verteilerschrank montieren kann, habe ich ihn etwas angepasst. Was genau könnt ihr dem Beitrag Raspberry Pi im Verteilerschrank entnehmen.

Verstärker

Da der Raspberry Pi zu schwach ist einen Lautsprecher zu versorgen, benötigt man noch einen Verstärker. Ich habe mich für den Mini-Digitalverstärker MDV2 Bausatz von ELV entschieden. Im Vergleich zu anderen Mini Verstärker passt dieser von der Leistung (2×2 W @ 4 Ohm), der Versorgungsspannung von 5V und von dem sehr geringen Standby-Verbrauch sehr gut in den Aufbau. Der Bausatz war wirklich sehr einfach zu löten.

Den Verstärker habe ich dann mit passenden Abstandshalter (Achtung: Die Platine hat nur 3,2 mm Bohrungen. Die meisten sind für 4 mm gedacht) in ein 4 TE Gehäuse für die Hutschiene geklebt. Natürlich habe ich für das Gehäuse auch einen Deckel, diesen habe ich nur noch nicht montiert.VerstärkerDer Raspberry Pi und der Verstärker fertig verkabelt auf der Hutschiene. Hier kann man auch den Adapter von Klinke Stecker 3,5 mm auf Terminalblock sehen, den ich genutzt habe um das Audiosignal auf den Verstärker zu bekommen.Aufbau

Lautsprecher

Passend zu unserem Schalterprogramm gibt es einen Gira Unterputz Lautsprecher (228228) der neben der Tür im HWR installiert ist. Dank des KNX Taster war das 4x2x0,8 Kabel noch fast unbenutzt und ich konnte zwei Adern für den Lautsprecher nutzen.Lautsprecher

Netzteil

Das MEANWELL DR-30-5 hatte ich noch rumliegen. Es reicht mit 5V und 3A völlig aus um den Raspberry Pi sowie den Mini-Verstärker zu betreiben.Netzteil

Verdrahtung

Um einen kurzen Überblick über die Komponenten und deren Verdrahtung zu geben, habe ich eine kleine Zeichnung angefertigt. Der Kommunikationsweg ist auch mit vier einfachen Schritten erklärt.Zeichnung

Loxone Miniserver

In der Loxone Steuerung wird ein virtueller Ausgangsverbinder erstellt und darunter die entsprechenden virtuellen Befehle. Wird ein virtueller Befehl aktiviert sendet die Loxone über http die Parameter an den Raspberry Pi.

Raspberry Pi

Kommen wir nun zur http Schnittstelle auf dem Raspberry Pi. Für Text To Speech (TTS) gibt es unter Linux mehrere Lösungswege. Ich habe mich für die Google Translate API entschieden, da diese sehr einfach genutzt werden kann und eine recht gute Sprachqualität besitzt. Kleines Manko: Es gibt eine Begrenzung bei 100 Buchstaben pro Sprachausgabe. Das sollte aber für ein paar Infos reichen.

Das PHP Skript läuft auf einem normalen Apache Webserver mit installiertem PHP5 Paket. Bei Aufruf von z. B.

http://<RPI IP>/loxone/tts.php?text=Ich kann sprechen!&gain=100

lädt das Skript die von Google Translate erstellte MP3 herunter und spielt dieses über MPG321 ab.

Wer mehr wissen oder auch ein sprechendes Haus haben möchte, kann sich gerne bei mir melden!

UPDATE 2015-05-10

Da der Abschnitt mit der Software etwas kurz geraten ist, habe ich auf Wunsch noch einen extra Beitrag Linux Text-to-Speech Gateway verfasst.

5 Gedanken zu „Sprachausgabe – Unser Haus kann sprechen“

  1. Vielen Dank für diese schöne Idee, war schon länger auf der Suche danach.
    Dachte auch zuerst an ein mp3 Modul, aber dieses ist ja dann doch auf nur wenige Ansagen begrenzt.
    Aufrufbar ist das ganze ja dann auch über den Gira Homeserver 🙂

    Wäre es evtl. möglich von dem “Endprodukt” ein Video hochzuladen, das uns das mal vorführt? 😛

    1. Hallo Michael,

      du kannst dir die Soundqualität über die Live Demo Webseite von VoiceRSS anhören. Viel zum vorführen gibt es leider nicht, die Sprachausgabe habe ich immer noch nicht eingebunden und aus dem einzigen Raum in dem aktuell ein Lautsprecher verbaut ist (Technik- und Hauswirtschaftsraum) möchtest du kein Video haben 😉 .

      Viele Grüße
      Stefan

      1. Du bist nicht zufällig im KNX User Forum angemeldet?
        Das “Gerät” interessiert mich dann doch, würde aber gerne noch paar Fragen darüber stellen, was hier nicht so tolle funktioniert.
        Muss halt echt zugeben, dass ich komplett 0 Ahnung von Linux habe 😛

  2. Hi,
    das sieht genau so aus wie das, was mir im Kopf rumschwirrt. Die Idee den Lautsprecher einfach in einem Doppelrahmen unter der KNX Taster zu hängen, gefällt mir. Ich hatte bis eben vor, eine separate Dose weiter oben in die Wand zu setzen. Evtl. melde ich mich nochmal wenn ich auf Probleme mit der Programmierung stoße.
    Grüße
    Christian

Schreibe einen Kommentar

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