Sprachausgabe & Klingelton über Multiroom im Smarthome

22. Mai
2018
geschrieben von Roland Meier

Nachdem die DoorPI Türsprechanlage sehr gut funktioniert und auch die ersten Räume mit Lautsprecher ausgestattet sind, möchte ich nun darüber auch ein paar Informationen erhalten.

Zum Beispiel soll über sämtliche Lautsprecher im Haus ein Klingelton abgespielt werden, sobald jemand an der Türe steht. Auch Temperaturdurchsagen oder sonstige Informationen zu gewissen Aktionen wären denkbar.

 

Text to Speech Sprachdateien

Ich recherchierte bereits vor einiger Zeit nach Dienste, mit welche ich bequem gezielt Sprache in ein MP3 packen kann.

Einer der ersten Anlaufstellen war die Seite http://www.fromtexttospeech.com mit welchem ich neben einem beliebigen Text auch die Sprache, Sprechgeschwindigkeit und mehreren Stimmen auswählen kann.

Dazu kann die gesprochene Audio Datei erstellt und heruntergeladen werden.

 

Auch eine sehr coole Sache hat Nico Bode in seinem Blogbeitrag Mit Fibaro und dem Bose Soundtouch System Text to Speech Funktionen umsetzen (Anzeige) geschrieben.

Dazu gibt es auch ein nettes Video:

https://www.14dd5266c70789bdc806364df4586335-gdprlock/watch?v=NeZSEEwhxO4

 

Steuerung des Logitech Media Servers per HTTP

Die eigentliche Herausforderung war, den Logitech Media Servers bei diversen Aktionen so anzusteuern, dass die gewünschte MP3 Datei abgespielt wird.

Der Media Server ist über folgende Beispiel-URL im Netzwerk erreichbar und man kann ihm direkt eine Datei zum Abspielen übergeben:

http://IP-ADRESSE:9000/anyurl?p0=mixer&p1=volume&p2=50
http://IP-ADRESSE:9000/anyurl?p0=playlist&p1=play&p2=file%3A%2F%2F%2Fmnt%2Fmusic%2FAlice%2Fihr-habt-besuch.mp3
http://IP-ADRESSE:9000/anyurl?p0=mixer&p1=volume&p2=20

Hier erhöhe ich mit dem ersten Aufruf erst mal die Lautstärke auf 50%, spiele anschließend den Ton ab und setze sie dann wieder auf 20%.

Mit einen beliebigen Browser im Netzwerk kann diese URL angesteuert und die MP3 ausgegeben werden.

Die Datei muss natürlich der Squeezebox bekannt sein, also entweder auf der Squeezebox selbst oder einem Netzlaufwerk liegen.

Für diesen Eintrag habe ich mal unter /music/Alice/ihr-habt-besuch.mp3 vom oben genannten Text-To-Speech Dienst verwendet.

 

Weitere Ideen wären:

  • "Guten Morgen"
    (soll mal als einfacher Weckton Wochentags um 6 Uhr ausgeführt werden. Diesen möchte ich später noch mit diversen Infos wie z.B. Wettervorhersage erweitern.

  • "Gong" anstelle der "ihr-habt-besuch.mp3"
    (angesteuert von der Türklingel)

 

Der Nachteil ist, wenn bereits eine Datei abgespielt wird, dass die Wiedergabe nach dem Tonbefehle gestoppt ist.

Hierfür möchte ich später über IP-Symcon evtl. diverse Stadien auslesen z.B. welche Lautstärke ich bereits eingestellt habe und welche Playlist gerade spielt, damit diese dann auch wieder fortgesetzt wird.

Den Status kann ich später durch folgenden Befehl als HTML oder XML einlesen:

http://IP-ADRESSE:9000/status.html
http://IP-ADRESSE:9000/xml/status.xml

 

Ansteuerung der Tracks bei Ereignissen über IP-Symcon

Für die eigentliche Ansteuerung der Multiroom Anlage habe ich im IP-Symcon ein eigenes "Besuch Durchsage" Skript mit folgendem Inhalt geschrieben:

<?php
// Multiroom Notice
IPS_Sleep(2000);
@file_get_contents("http://192.168.178.155:9000/anyurl?p0=mixer&p1=volume&p2=60", false, NULL, 0,0);
IPS_Sleep(1000);
@file_get_contents("http://192.168.178.155:9000/anyurl?p0=playlist&p1=play&p2=file%3A%2F%2F%2Fmnt%2Fmusic%2FAlice%2Fihr-habt-besuch.mp3", false, NULL, 0,0);
IPS_Sleep(1000);
@file_get_contents("http://192.168.178.155:9000/anyurl?p0=mixer&p1=volume&p2=30", false, NULL, 0,0);

 

Wie oben, erhöhe ich zuerst die Lautstärke, spiele dann die Datei ab und verringere die Lautstärke wieder.

Die Verzögerung von 2s soll warten, bis der eigentliche Türgong welcher bereits vorhanden ist überbrückt wird. Andernfalls würde man die Ansage nicht verstehen.

 

Das Skript wird mit der IPS-RunScript Funktion gleichzeitig mit dem Relay- und Blinklicht Skript ausgeführt:

symcon sprachausgabe

 

Hier noch ein kurzes Video, in welchem der Gong angesteuert wird, die LED-Leiste grün blinkt und nun auch die Durchsage kommt: (Ton aktivieren!)

 

Gelesen 5850 mal Letzte Änderung am Mittwoch, 05 Dezember 2018
Artikel bewerten
(4 Stimmen)

1 Kommentar

  • Matthias 27. Mär 2020
    gepostet von Matthias

    "Der Nachteil ist, wenn bereits eine Datei abgespielt wird, dass die Wiedergabe nach dem Tonbefehle gestoppt ist."

    Hier die Lösung. Funktioniert 1A:

    https://www.nexus0.net/pub/sw/lmsannounce/

Bitte anmelden, um einen Kommentar zu posten
Anzeige

Anzeige

123RF.com - For all your creative needs!

Kalender

« Mai 2024 »
Mo Di Mi Do Fr Sa So
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Newsletter

Euch interessieren meine Themen hier? Dann tragt euch einfach in den Newsletter ein und ihr werden bei neuen Beiträgen informiert.

Anzeige