Neues Modul: Text2Speech

Begonnen von Tobias, 07 Januar 2014, 12:57:23

Vorheriges Thema - Nächstes Thema

Tobias

#1170
ohh shit, ich habe vergessen die letzten beiden änderungen ins fhem repo einzuchecken.
Mache ich asap, incl der controls namensänderung. Hatte mir bisher noch keiner gesagt das es da probleme gibt....

Edit: das neue controls.txt file heißt jetzt "controls_tobiasfaust.txt" da ich im Repo mehr als nur text2speech habe
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Martin Fischer

Zitat von: Tobias am 19 November 2021, 10:02:53
Edit: das neue controls.txt file heißt jetzt "controls_tobiasfaust.txt" da ich im Repo mehr als nur text2speech habe

Super, danke Tobias!
--
Admin, Developer, Gründungsmitglied des FHEM e.V.

Tobias

Die letzten Änderungen bei Text2Speech sind jetzt auch im FHEM Repo


  • Google kann jetzt 200 Zeichen anstatt 100 Zeichen
  • Das Homedir wird jetzt per Attribut (TTS_AWS_HomeDir) festgelegt anstatt es automatisiert auszulesen. Dieses hatte bei sehr vielen Usern nicht funktioniert
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Martin Fischer

Nach jahrelanger Nutzung von Text2Speech in Kombination mit Google, hatte ich kürzlich auf Amazon Polly umgestellt. Siehe oben...

Nun tritt bei mir der Effekt auf, dass Teile der Sprachausgabe verschluckt werden, wenn ich mp3wrap nutze. Konkret geht es um folgenden Text:
:notify02: Es hat geklingelt. Jemand steht vor der Haustür. Bitte prüfen! :notify02:

":notify02:" ist ein mp3 File im Template Pfad. Ich hänge es hier mal mit an.

Setze ich TTS_UseMP3Wrap 1 endet der Text in etwa mit "... Bitte p", gefolgt vom Soundfile.

Kann das jemand nachstellen? Hast Du, Tobias, eine Idee warum das passiert?

Note:
Als ich die erzeugten Files gerade hier anhängen wollte, habe ich sie mir vorab noch einmal angehört. Dabei ist mir aufgefallen, dass das von mp3wrap bearbeitete Soundfile defekt ist. Bzw. egal welchen Player ich nehme, es wird nicht korrekt abgespielt.

Weiterhin stimmt da noch irgendwas mit der Kodierung nicht: Im Logfile werden Umlaute falsch interpretiert.

Ohne mp3wrap:

2021.11.23 17:16:53 4: EG.wz.TTS.01: MaxChar = 3000, Delimiter = (?<=[\.!?])\s*, ForceSplit = 0, AddDelimiter =
2021.11.23 17:16:53 4: EG.wz.TTS.01: Auflistung der Textbausteine nach Aufbereitung:
2021.11.23 17:16:53 4: EG.wz.TTS.01: 0 => /opt/fhem/mp3/cache/templates/103_notify_tone_02.mp3
2021.11.23 17:16:53 4: EG.wz.TTS.01: 1 => Es hat geklingelt. Jemand steht vor der Haust�r. Bitte pr�fen!
2021.11.23 17:16:53 4: EG.wz.TTS.01: 2 => /opt/fhem/mp3/cache/templates/103_notify_tone_02.mp3
2021.11.23 17:16:53 4: EG.wz.TTS.01: Verwende TTS Spracheinstellung: Deutsch
2021.11.23 17:16:53 4: EG.wz.TTS.01: /opt/fhem/mp3/cache/templates/103_notify_tone_02.mp3 als direkte MP3 Datei erkannt!
2021.11.23 17:16:53 4: EG.wz.TTS.01: Bearbeite jetzt den Text: /opt/fhem/mp3/cache/templates/103_notify_tone_02.mp3
2021.11.23 17:16:53 4: EG.wz.TTS.01: /opt/fhem/mp3/cache/templates/103_notify_tone_02.mp3 gefunden, kein Download
2021.11.23 17:16:53 4: EG.wz.TTS.01: /opt/fhem/mp3/cache/templates/103_notify_tone_02.mp3 hat eine Länge von 5 Sekunden.
2021.11.23 17:16:53 4: EG.wz.TTS.01:sudo /usr/bin/mplayer  -really-quiet -nolirc -noconsolecontrols -softvol -softvol-max 110 -volume 60 /opt/fhem/mp3/cache/templates/103_notify_tone_02.mp3 >/dev/null
2021.11.23 17:16:59 4: EG.wz.TTS.01: Es wurde nur ein Teil ausgegeben und weitere Teile folgen!
2021.11.23 17:16:59 4: EG.wz.TTS.01: Verwende TTS Spracheinstellung: Deutsch
2021.11.23 17:16:59 4: EG.wz.TTS.01: Textbaustein ist keine direkte MP3 Datei, ermittle MD5 CacheNamen: 0f5dcc151ba0bcc65b0a3cce6b01eeca.mp3
2021.11.23 17:16:59 4: EG.wz.TTS.01: Bearbeite jetzt den Text: Es hat geklingelt. Jemand steht vor der Haust�r. Bitte pr�fen!
2021.11.23 17:16:59 4: EG.wz.TTS.01: /opt/fhem/mp3/cache/0f5dcc151ba0bcc65b0a3cce6b01eeca.mp3 gefunden, kein Download
2021.11.23 17:16:59 4: EG.wz.TTS.01: /opt/fhem/mp3/cache/0f5dcc151ba0bcc65b0a3cce6b01eeca.mp3 hat eine Länge von 4 Sekunden.
2021.11.23 17:16:59 4: EG.wz.TTS.01:sudo /usr/bin/mplayer  -really-quiet -nolirc -noconsolecontrols -softvol -softvol-max 110 -volume 60 /opt/fhem/mp3/cache/0f5dcc151ba0bcc65b0a3cce6b01eeca.mp3 >/dev/null
2021.11.23 17:17:04 4: EG.wz.TTS.01: Es wurde nur ein Teil ausgegeben und weitere Teile folgen!
2021.11.23 17:17:04 4: EG.wz.TTS.01: Verwende TTS Spracheinstellung: Deutsch
2021.11.23 17:17:04 4: EG.wz.TTS.01: /opt/fhem/mp3/cache/templates/103_notify_tone_02.mp3 als direkte MP3 Datei erkannt!
2021.11.23 17:17:04 4: EG.wz.TTS.01: Bearbeite jetzt den Text: /opt/fhem/mp3/cache/templates/103_notify_tone_02.mp3
2021.11.23 17:17:04 4: EG.wz.TTS.01: /opt/fhem/mp3/cache/templates/103_notify_tone_02.mp3 gefunden, kein Download
2021.11.23 17:17:04 4: EG.wz.TTS.01: /opt/fhem/mp3/cache/templates/103_notify_tone_02.mp3 hat eine Länge von 5 Sekunden.
2021.11.23 17:17:04 4: EG.wz.TTS.01:sudo /usr/bin/mplayer  -really-quiet -nolirc -noconsolecontrols -softvol -softvol-max 110 -volume 60 /opt/fhem/mp3/cache/templates/103_notify_tone_02.mp3 >/dev/null
2021.11.23 17:17:10 4: EG.wz.TTS.01: Es wurden alle Teile ausgegeben und der Befehl ist abgearbeitet.


Mit mp3wrap:

2021.11.23 17:18:31 4: EG.wz.TTS.01: MaxChar = 3000, Delimiter = (?<=[\.!?])\s*, ForceSplit = 0, AddDelimiter =
2021.11.23 17:18:31 4: EG.wz.TTS.01: Auflistung der Textbausteine nach Aufbereitung:
2021.11.23 17:18:31 4: EG.wz.TTS.01: 0 => /opt/fhem/mp3/cache/templates/103_notify_tone_02.mp3
2021.11.23 17:18:31 4: EG.wz.TTS.01: 1 => Es hat geklingelt. Jemand steht vor der Haust�r. Bitte pr�fen!
2021.11.23 17:18:31 4: EG.wz.TTS.01: 2 => /opt/fhem/mp3/cache/templates/103_notify_tone_02.mp3
2021.11.23 17:18:31 4: EG.wz.TTS.01: Verwende TTS Spracheinstellung: Deutsch
2021.11.23 17:18:31 4: EG.wz.TTS.01: /opt/fhem/mp3/cache/templates/103_notify_tone_02.mp3 als direkte MP3 Datei erkannt!
2021.11.23 17:18:31 4: EG.wz.TTS.01: Textbaustein ist keine direkte MP3 Datei, ermittle MD5 CacheNamen: 0f5dcc151ba0bcc65b0a3cce6b01eeca.mp3
2021.11.23 17:18:31 4: EG.wz.TTS.01: /opt/fhem/mp3/cache/templates/103_notify_tone_02.mp3 als direkte MP3 Datei erkannt!
2021.11.23 17:18:31 4: EG.wz.TTS.01: Bearbeite per MP3Wrap jetzt den Text: /opt/fhem/mp3/cache/templates/103_notify_tone_02.mp3 Es hat geklingelt. Jemand steht vor der Haust�r. Bitte pr�fen! /opt/fhem/mp3/cache/templates/103_notify_tone_02.mp3
2021.11.23 17:18:31 4: EG.wz.TTS.01: /opt/fhem/mp3/cache/2ae352789e9ad05ccf29883b79e990e4.mp3 hat eine Länge von 12 Sekunden.
2021.11.23 17:18:31 4: EG.wz.TTS.01: sudo /usr/bin/mplayer  -really-quiet -nolirc -noconsolecontrols -softvol -softvol-max 110 -volume 60 /opt/fhem/mp3/cache/2ae352789e9ad05ccf29883b79e990e4.mp3 >/dev/null
2021.11.23 17:18:45 4: EG.wz.TTS.01: Es wurden alle Teile ausgegeben und der Befehl ist abgearbeitet.
--
Admin, Developer, Gründungsmitglied des FHEM e.V.

Tobias

Hi,
ich habe das noch nicht beobachtet, mal sehen was die anderen sagen.
Die falschen Umlaute im Log sollten nur ein schönheitsfehler sein. Die Sprache ist hoffentlich korrekt.
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Robert1963

Hallo,

nachdem mich die Google Trantute sooo nerft , hab ich Amazon-Polly installiert.
Die Polly spricht ein wenig schnell, TTS_Speed Einstellung brachte, wie auch bei Google, nichts.
Also Cache gelöscht und geschaut ob ich das irgendwo einstellen/ändern kann. Forum,Wiki, Aws etc. .
Nichts gefunden, bzw. für mich nicht verständlich.

Ware Dankbarfür ne Idee wo, wenn überhaupt, eine Möglichkeit bestände die Stimme zu verändern.

Viele Grüße
Nuc 7i7, Ubuntu 20.04.2 LTS, FS20, Homematic, EnOcean, Hue, Conbee, Fritzbox 6490kd,

htschors

Hallo,

ich habe gerade das Text2Speech Modul probiert und bekomme beim Abspielen keine Tonausgabe mit der Fehlermeldung im Log-File:

[AO_ALSA] alsa-lib: pcm_hw.c:1822:(_snd_pcm_hw_open) Invalid value for card

Den Fehler habe ich im Forum bereits gesehen, jedoch hat mir die Lösung nicht weitergeholfen. Wenn ich den Befehl, der von FHEM generiert wird, in der Konsole direkt eingebe funktioniert die Tonausgabe ohne Probleme. Also müsste es ein Rechteproblem sein?

Kann es daran liegen, dass fhem nicht mein FHEM-User ist, sonder pi? Könnt ihr mir sagen, wie ich herausfinden kann, ob FHEM die notwendigen Rechte besitzt?

Otto123

Für die FHEM Kommandozeile
{qx(whoami)}

{qx(groups)}
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

htschors

Hallo Otto123,

danke. Überaschend..

{qx(whoami)} --> fhem

{qx(groups)}  --> fhem tty mail dialout audio video bluetooth gpio i2c

Aber fürs Einloggen in FHEM nutze ich "pi". Und wenn ich Rechte für den User fhem vergeben will, kommt diese Ausgabe:

sudo usermod -aG audio fhem
usermod: user 'fhem' does not exist


Ergibt das Sinn?

VG aus Limbach
Holger

Otto123

Hallo Holger,

das klingt "verbogen"  ::)
ZitatAber fürs Einloggen in FHEM nutze ich "pi".
Was genau meinst Du damit? Du hast im FHEMWEB einen User pi angelegt mit dem Du Dich an der Weboberfläche anmelden kannst?

Die Ausgabe von usermod kann ich mir nicht erklären, allerdings ist ja der user fhem schon in der Gruppe audio.

FHEM läuft direkt auf dem System oder in irgendwelchen Containern?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

htschors

Ja, richtig, in FHEMWEB logge ich mich mit pi ein. Ich nutze hab zur Installation ein Skript von https://ei23.de/diy-smarthome/ genutzt, welches FHEM als Docker Container installiert hat.

Woran kann der Fehler bei mir liegen, wenn die Rechte anscheinend vorhanden sind, ich aber aus FHEM heraus keinen Sound bekomme, wenn ich das Kommando aber über doe Kommandozeile ausführe alles funktioniert?

Otto123

#1181
Sound aus dem Dockercontainer heraus auf die lokale Soundkarte. Keine Ahnung, ich gehe davon aus, das geht nicht so direkt. Man kann sicher einen Umweg "remote" über den Host stricken. Habe ich für Sound nicht gemacht, kommt bei mir nicht vor.
Das Text2Speech Modul funktioniert unter docker im Remote Modus oder als Text zu mp3 Erzeuger.
Ich verwende bei sonos2mqtt das Text2Speech Modul mit einem http Server, man kann aus dem container heraus den soundBefehl per ssh auf dem Host ausführen lassen - sollte funktionieren ;)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

htschors

#1182
Rhasspy ist ja auch als Dockercontainer installiert und der Zugriff auf die Soundkarte (Ausgabe sowie Mikrofon) klappt ohne Probleme.

Otto123

ja da scheinst Du Recht zu haben, leider lässt Du Dir alle Informationen einzeln "aus der Nase ziehen" dann wirst Du den docker FHEM Container analog zum Rhasspy einrichten müssen. Habe ich keine Ahnung von  :)
Suchtext
Zitat- "/dev/snd/:/dev/snd/"
Entweder kann es hier zufällig einer oder Du solltest die Frage nochmal konkret mit allen Infos separat stellen. ;)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Tobias

#1184
Zitat von: Robert1963 am 02 Dezember 2021, 11:25:23
Hallo,

nachdem mich die Google Trantute sooo nerft , hab ich Amazon-Polly installiert.
Die Polly spricht ein wenig schnell, TTS_Speed Einstellung brachte, wie auch bei Google, nichts.
Also Cache gelöscht und geschaut ob ich das irgendwo einstellen/ändern kann. Forum,Wiki, Aws etc. .
Nichts gefunden, bzw. für mich nicht verständlich.

Ware Dankbarfür ne Idee wo, wenn überhaupt, eine Möglichkeit bestände die Stimme zu verändern.

Viele Grüße
Hi,
die TTS_Speed wird nur von VoiceRSS unterstützt. Kann man im Modulcode Zeile 64 erkennen. Google unterstützt einen solchen Parameter leider nicht (imho)

Bei Polly kann man mit SSML-Tags quasi fast alles beeinflussen. Hast du das mal probiert? -> https://docs.aws.amazon.com/de_de/polly/latest/dg/supportedtags.html
Beispiel: set <MyTTS> tts <speak>Ansage der heutigen Wetterlage:<prosody rate="slow">Das Wetter sieht heute nicht gut aus. Es wird schneien und glatt werden</prosody></speak>
Siehe auch hier: https://docs.aws.amazon.com/de_de/polly/latest/dg/voice-speed-vip.html
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter