Skip to end of metadata
Go to start of metadata
Autor
Logo

Status

STABLE

Version1.0.9
Min. LB Version

LB 1.2.4

Downloadhttps://github.com/Liver64/LoxBerry-TTS/archive/v1.0.9.zip
Zweck

 Komfortable Text-to-Speech Engine für den LoxBerry. Wandelt Texte im MP3 um und spielt diese ab. Über Add-on's gibt noch div. Erweiterungen wie z. B. Zeit-, Wetter, Pollenansage.

Languages
 Version History...

Version 1.0.0

  • erste öffentliche Version

Version 1.0.1

  • Audioausgabe USB Soundkarte optimiert
  • weather4lox integriert

Version 1.0.3

  • automatische Grußformel bei T2S
  • Logging verbessert

Version 1.0.4

  • HTML5 Korrekturen
  • Übersetzungen EN-DE ergänzt

Version 1.0.5

  • Logging optimiert

Version 1.0.6

  • split MP3 funktion
  • Interface weiter optmiert

Version 1.0.7

  • die erzeugten MP3 Dateien verfügen jetzt über Id3v2.3 Tag Informationen
  • Interface weiter optimiert
  • Error handler hinzugefügt


Inhalt




Zusammenfassung

Komfortable Text-to-Speech Engine für den LoxBerry. Wandelt Texte im MP3 um und spielt diese ab. Über Add-on's gibt es noch div. Erweiterungen wie z. B.:

  • aktuelle Zeitansage
  • Wetteransage (basierend auf installiertem Weather4Lox Plugin)
  • Wetterwarnungen
  • Pollenvorhersage
  • Zeit zum Zielort
  • Müllkalender (basierend auf installiertem CalDAV4Lox Plugin)
  • Kalender (basierend auf installiertem CalDAV4Lox Plugin)

Darüber hinaus können auch gespeicherte MP3 Dateien abgespielt werden.

Das Plugin unterstützt bis zu 150 verschiedene Sprachen (je nach Provider) und die Texte der Add-on's können teilweise (je nach Add-on) frei konfiguriert werden.


Download

Alle Releases: https://github.com/Liver64/LoxBerry-TTS/releases

Dort beim aktuellsten Release

  • entweder den "Source code (zip)" herunterladen, am LoxBerry auswählen und installieren,
  • oder den "Source code (zip)"-Link in die Zwischenablage kopieren, diesen in der Pluginverwaltung bei der URL einfügen, und installieren.

Repository bei Github: https://github.com/Liver64/LoxBerry-TTS


Installation

Das Plugin kann normal installiert werden. Nach der Installation muss der LoxBerry nicht neu gestartet werden. In LoxBerry muss mindestens ein Miniserver konfiguriert sein.


Minimale LoxBerry Version

Zur Verwendung des Plugins ist mindestens die LoxBerry Version 1.2.5 notwendig! Bitte führe vor der Installation über das Update Widget eine Aktualisierung auf die letzte Release-Version Deines LoxBerrys durch.


Konfigurationsoptionen

In der Plugin-Konfiguration können folgend Optionen definiert werden.

Text-to-Speech (T2S) InstanzBeschreibung
T2S EngineAuswahl der Text-to-Speech Engine die verwendet werden soll (Empfehlung: Responsive Voice)


Cache EinstellungenBeschreibung
Cache Verweildauer1 Tag / 1 Woche / 1 Monat / 1 Jahr / Für immer - wie lange eine erzeugte MP3 gespeichert wird, bevor diese bei der täglichen Reorganisation gelöscht wird.
Max. Cachegröße (MB)100 bis 5000 MB. Der Cache wird täglich auf diese Größe reduziert, beginnend mit den ältesten Dateien.

Bitte beachte: Es wird sowohl die "Verweildauer" als auch die "Maximale Cachegröße" gleichermaßen ausgewertet. Wenn du die Dateien beispielsweise nur anhand der Cachegröße bereinigen möchtest, stelle bei der Verweildauer "Für immer" ein.


MP3 erstellen

Um wiederkehrende MP3 Dateien zu erstellen wie z.B. "Die Waschmaschine ist fertig" generiert man einmalig den Text bzw. die Syntax über den Browser:

http://<IP-LOXBERRY> oder <HOSTNAME>/plugins/text2speech/index.php?text=die waschmaschine ist fertig.

Angenommen ihr habt als Speicherort "Local Data Dir" ausgewählt, wechselt dann in das Verzeichnis /opt/loxberry/data/plugins/text2speech, kopiert von dort die gerade erzeugte MP3 Datei in das Verzeichnis /opt/loxberry/data/plugins/text2speech/mp3/ und benennt Sie einfach um in z.B. "waschmaschine.mp3". Anschließend kann diese in Zukunft immer mit folgender Syntax aufgerufen werden:

http://<IP-LOXBERRY> oder <HOSTNAME>/plugins/text2speech/index.php?file=waschmaschine

Hinweis: Die Originaldatei wird nach Ablauf der Verweildauer dann automatisch gelöscht. Hinweis 2: Es darf hier die Dateierweiterung ".mp3" nicht mit angegeben werden!

Wähle JingleBeschreibung
Dateiname des Standard Jingles

Vor jedem Aufruf eines T2S Requests kann ein beliebiges Jingle abgespielt werden (näheres unter "Funktionen des Plugins").

Mit dieser Option wird das Standardjingle definiert.

Auswahl des AusgabemediumsBeschreibung
MP3 AusgabesteuerungWahl der zur Verfügung stehenden Ausgabemöglichkeiten des LoxBerry.
Speicherplatz für MP3 DateienBeschreibung
Speicherplatz für MP3 Dateien

Es werden nur Speichermöglichkeiten gemäß deiner LoxBerry Konfiguration angezeigt, die lesen und schreiben erlauben.

Dateien im /data/plugins/text2speech/tts/mp3/ Ordner (siehe unten) werden automatisch verschoben, nicht jedoch der TTS-Cache.

  

Funktionen des Plugins

Das Plugin wandelt geschriebenen Text in MP3 Dateien um und spielt diese auf den am LoxBerry angeschlossenen Audio Outputs ab. Der Text wird je nach Auswahl der T2S Engine aufbereitet, anschließend an den Provider geschickt, dieser wandelt den Text in Sprache um und schickt eine MP3 zurück, die dann final gespeichert wird. Wurde ein Text bereits im Vorfeld verwendet, wird die Anforderung nicht mehr an den Provider geschickt, sondern die vorhandene Datei wird erneut abgespielt (insofern sie noch vorhanden ist → siehe "Verweildauer der MP3 Dateien").

Folgende Funktionen sind möglich:

Allgemeine Parameter

Folgende Werte sind Parameter, die in der Syntax bei jedem Befehl optional genutzt werden können. Die jeweilige Befehlsverknüpfung ist ein "&vorangestellt

EigenschaftWertBeschreibung
Lautstärke der Audio Ausgabevolume=<WERT>Angabe der Lautstärke der Audioausgabe. Nur Werte von x bis xxx der Standardlautstärke sind zulässig.
Standard Jingle welches vor der T2S ausgegeben werden solljingledas Standard Jingle aus der Plugin Konfiguration wird ausgegeben. Dieses muss sich in /data/plugins/text2speech/tts/mp3/ befinden.
Jingle welches vor der T2S ausgegeben werden solljingle=<MP3 DATEI>Dateiname des für diese Ansage individuellen Jingle wird ausgegeben. Dieses muss sich in /data/plugins/text2speech/tts/mp3/ befinden.
automatische GrußformelgreetBei einer T2S (nicht file) kann eine Begrüßung vor dem Text angesagt werden. Die Begrüßungstexte können über das Translate Widget des LB individualisiert werden (t2s-text_en.ini). Je nach Tageszeit (4h-10h, 10h-17h, 17h-22h und >22h können jeweils 5 Grußformeln hinterlegt werden die per Zufallsgenerator vor der eigentlichen T2S angesagt werden. Bitte bei der Pflege Interpunktion beachten!
nur für Enwicklerjsonerstellt das MP3 und gerneriert das JSON file mit den notwendigen Informationen zur Weiterverarbeitung (näheres siehe Text2speech#T2S Request)

Spezifische Parameter

Nachfolgende Übersicht über die zur Verfügung stehenden Befehle

EigenschaftWertBeschreibung
Ausgabe eines Textes (ohne Werte aus LoxConfig)text=<TEXT>Text der ausgegeben werden soll → "Als Digitalausgang verwenden" im MS muss "aktiv" sein.
Ausgabe eines Textes (mit Werten aus LoxConfig)text=<TEXT>Text der ausgegeben werden soll → "Als Digitalausgang verwenden" im MS darf "nicht aktiv" sein. Der Text kann die Variable <v> enthalten.
Ausgabe einer gespeicherten MP3 Dateifile=<DATEINAME>Datei die ausgegeben werden soll.

Add-on Parameter

Nachfolgende Übersicht über die zur Verfügung stehenden Befehle für die Addon's

EigenschaftWertBeschreibung
Ausgabe der Wettervorhersage in Abhängigkeit zur Uhrzeittext=weatherAusgabe der Wettervorhersage (nur bei installiertem "Weather4Lox" Plugin).
Ausgabe der Uhrzeittext=clockAusgabe der aktuellen MS Uhrzeit.
Augabe einer Wetterwarnung (insofern vorhanden)text=warningAusgabe einer vorhandenen Wetterwarnung (basierend auf dem DWD).
Ausgabe eine Pollenvorhersagetext=pollenAusgabe einer Pollenvorhersage.
Ausgabe eines evtl. vorhanden Abfallkalenderstext=abfallAusgabe der abzuholenden Abfallbehälter (nur bei installiertem "CalDAV4Lox" Plugin).
Ausgabe eines Kalendereintragestext=calendarAusgabe eines anstehenden Kalendereintrages (nur bei installiertem "CalDAV4Lox" Plugin).
Ausgabe eines Zufallwitzestext=witzAusgabe eines 18+ Witzes nach dem Zufallsprinzip
Ausgabe der Zeit und Entfernung zu einem angegebenen Zielorttext=&distance&to=<ZIEL>Ausgabe der Strecke und die zu erwartende Fahrzeit zu einem Ziel.

Beispiele

SyntaxBeschreibung
/plugins/text2speech/index.php?text=die waschmaschine ist fertigAbspielen der MP3 mit dem Inhalt von "text"
/plugins/text2speech/index.php?file=gartentor_offen&jingleAbspielen der Datei "gartentor_offen.mp3" mit dem Standardjingle vorher
/plugins/text2speech/index.php?text=das gartentor_ist noch offen&jingle&volume=120Abspielen der MP3 mit dem Inhalt von "text", dem Standardjingle vorher in 20% höherer Lautstärke als Standard
/plugins/text2speech/index.php?text=weather&jingle=gongAbspielen der Wetteransage mit dem Jingle "gong.mp3" vorher


Einrichtung in der Loxone Config Software

Virtuellen Ausgang einrichten

Dafür einen Virtuellen Ausgang erstellen:

EigenschaftWertAnmerkung
Bezeichnung und BeschreibungNach BeliebenIst für die Funktion nicht relevant.
Adressehttp://<HOSTNAME> oder <LOXBERRY IP>Hostname des LoxBerry oder IP-Adresse des LoxBerry eingeben. (siehe Hinweis "Text2speech#Troubleshooting")
Verbindung nach Senden schließenAktiv

Virtuellen Ausgang Befehl anlegen

im zweiten Schritt einen Virtuellen Ausgang Befehl erstellen:

EigenschaftWertAnmerkung
Bezeichnung und BeschreibungNach BeliebenIst für die Funktion nicht relevant.
Befehl bei EIN/plugins/text2speech/index.php?<BEFEHL>

Befehl der ausgeführt werden soll (siehe oben).

Als Digitalausgang verwendenAktivFür den Fall es sollen keine Werte aus dem Miniserver angesagt werden (z.B. Text: Die Waschmaschine ist fertig).
Als Digitalausgang verwendenNicht aktivFür den Fall das Werte aus dem Miniserver angesagt werden sollen (z.B. Text: Die momentane Zimmertemperatur beträgt <v> Grad).

Loxone XML Vorlage

XML Vorlage zum importieren in die Loxone Config. Bitte noch die IP-Adresse deines LoxBerry eintragen:

Text2speech.xml

Roadmap

Übersicht der nächsten geplanten Erweiterungen

LIVE automatische Grußformel je nach Tageszeit

WORKING Schnittstelle zu anderen Plugins/Hard- und Software Plattformen


Troubleshooting

GELÖST: Bei der parallelen Verwendung von weather4lox UND eingeschaltetem "Wetter Service Emulator" bitte in der Loxone Ausgangskonfiguration die IP-Adresse statt dem Hostnamen angeben, ansonsten wird keine MP3 ausgegeben


Fragen stellen und Fehler melden

Fragen und Probleme wie immer im Forum oder ein Issue auf Github


Wer Fehler im Wiki findet darf sie gerne behalten oder korrigieren (Lächeln)


9 Comments

  1. Geht das eigentlich auch so, dass als Ausgabe der Loxone Music Server aktiviert wird? Falls ja, wie?

    1. Der Loxone Musicserver hat ja eh seine eigene TTS-Engine, war ich der Meinung...? Den Loxone Musicserver als Output zu integrieren, da besteht deswegen kein wirkliches Interesse. Allerdings habe ich begonnen, den Logitech Media Server als TTS-Ziel zu implementieren. Da der Loxone Musicserver ja eh auch den kostenlosen Logitech Media Server als Software nutzt, könnte das bei Zeiten vielleicht funktionieren.



  2. Hello Christian,
    have you succeeded in integrating LMS as a target for TTS?

    1. Not finalized yet! It’s quite complicated, but coming soon!

      1. Christian Fenzl Any news? This would be VERY interesting!

        1. It still has issues with the sync groups.

          If you want to try something:

          Native LMS TTS-Integration für Squeezelite Plugin

          But, as I said: Especially with sync groups it is buggy!

  3. Hello,
    Could You help me please?
    How can I add a Hifiberry DAC+ sound card in Text2Speech plugin?
    Hifibery card is installed and plays in the squeeze Player plugin but missing in text2speech plugin.
    Thank you Peter.


  4. Hallo zusammen,

    Google hat mittlerweile sog. WaveNet-Voices im Angebot (Beispiel erzeugen). Dafür muss man sich zwar einen Google-API-Key besorgen, aber solange man unter einer Millionen Buchstaben/Monat beim Nutzen von TTS bleibt, sind auch diese kostenlos. Bevor ich nun "meine Bastellösung (die fast dieselbe Funktionalität bietet, wie dieses Plugin)" ertüchtige, WaveNet-Voices zu nutzen, kann ich mir auch vorstellen, dies ins Text2Speech Plugin einzubauen (und mir damit dann auch LoxBerry ins Haus zu holen) - oder arbeitet schon jemand daran?

    Viele Grüße,
    Chriss

  5. Hallo Christian,

    ich nutze die VMware Plattform mit x64 Architektur somit kann der omxplayer leider nicht installiert werden, da es diesen nur für ARM Architektur gibt. Gibt es eine Möglichkeit, dass ich den omxplayer durch einen anderen ersetzte welcher auf x64 läuft?