Neues Modul: Text2Speech

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

Vorheriges Thema - Nächstes Thema

mumpitzstuff

Stimmt. Das habe ich mir gar nicht angesehen. Dann bleibt dir tatsächlich nur, das Modul manuell zu ändern und es vom Update auszuschliessen. Da es hierfür wahrscheinlich sowieso kein Update mehr gibt, ist das Risiko relativ gering.

my %language        = ("Google"     =>  {"Deutsch"        => "de",
                                         "English-US"     => "en-us",
                                         "Schwedisch"     => "sv",
                                         "Indian-Hindi"   => "hi",
                                         "Arabic"         => "ar",
                                         "France"         => "fr",
                                         "Spain"          => "es",
                                         "Italian"        => "it",
                                         "Chinese"        => "cn"
},


Hier könntest du einfach deinen Fall mit eintragen.

Tobias

Es steht auf meiner ToDo Liste, leider aber wenig Zeit aufgrund anderer Projekte

Gesendet von meinem Leap mit Tapatalk

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

monty_burns_007

Zitat von: mumpitzstuff am 02 März 2018, 16:37:24
Stimmt. Das habe ich mir gar nicht angesehen. Dann bleibt dir tatsächlich nur, das Modul manuell zu ändern und es vom Update auszuschliessen. Da es hierfür wahrscheinlich sowieso kein Update mehr gibt, ist das Risiko relativ gering.

my %language        = ("Google"     =>  {"Deutsch"        => "de",
                                         "English-US"     => "en-us",
                                         "Schwedisch"     => "sv",
                                         "Indian-Hindi"   => "hi",
                                         "Arabic"         => "ar",
                                         "France"         => "fr",
                                         "Spain"          => "es",
                                         "Italian"        => "it",
                                         "Chinese"        => "cn"
},


Hier könntest du einfach deinen Fall mit eintragen.

Yep, habe ich gerade "Dutch"     => "nl" eingetragt und funzt super ! :-)
danke

duke-f

Vielleicht hat hier jemand einen Hinweis. Seit einigen Wochen habe ich große Verzögerungen bei Text2Speech, wenn ich dies automatisch durch den Bewegungsmelder an der Haustür auslöse. Der Bewegungsmelder ist

defmod Antwort_HT2 FS20 632d 56
attr Antwort_HT2 IODev CUL_0
attr Antwort_HT2 follow-on-for-timer 1
attr Antwort_HT2 room FS20
attr Antwort_HT2 showtime 1


Text2Speech wird ausgelöst durch

defmod BewegungAnHaustur2 DOIF ([Antwort_HT2] =~ "on"){Meldung_Bewegung();;}

mit der myUtils-Funktion


sub
Meldung_Bewegung
{
fhem ("set Audio_Cubie on;
       defmod antwort0 at +00:00:02 set MyTTS tts Es ist jemand vor der Haustür;
       defmod antwort1 at +00:00:08 set alabama ttsSay Ja. Das habe ich auch gehört;
       defmod antwort2 at +00:00:12 set MyTTS tts Vielleicht kommt Besuch. Jemand muss mal nachsehen;
       defmod wiederaus at +00:00:20 set Audio_Cubie off;
   setstate Antwort_HT off")
}

Es sollen drei Texte nacheinander gesprochen werden. antwort0 durch die Lautsprecher am Cubie, die dazu erst eingeschaltet werden. antwort1 ist die Antwort es Steuer-Tablets im Flur mit WebViewControl, schließlich antwort2 wieder im Wohnzimmer. Später wird dann der Lautsprecher wieder ausgeschaltet. Die Zeiten habe ich schon öfters versucht anzupassen und vielfach geändert. Leider wird der erste Text erst meist bis zu 10 Sekunden verspätet gesprochen, egal ob das Cache-Verzeichnis leer war, ob der Text bereits von Google aufbereitet vorliegt oder erst online generiert wird. Damit kommt die Antwort im Flur vor dem ersten Text.
Sende ich hingegen einen Text direkt, wird der auch ohne wesentliche Verzögerung gesprochen.
Kennt jemand das Phänomen - und vielleicht auch die Ursache? Das ging über Monate und Jahre ohne Problem, seit einigen Wochen aber nicht mehr.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

Ellert

Wenn die Remote Recher verzögert ausgeben, kann es am Ping liegen, mit denm Text2Speech prüft, ob der Rechner online ist.
Falls es eine PRESENCE Instanz für den Remote Rechenr gibt, sollte es keine verzögerungen geben.

Ggf. gibt es viele gleichzeitige BlockingCalls (s. blockinginfo) auf einem Rechner, auch Text2Speech nutzt BlockingCall (Attribut blockingCallMax)

duke-f

Ich fürchte, es liegt an den BlockingCalls - da muss ich mal recherchieren. Kapiert habe ich das nämlich noch nicht. Die Verzögerung gibt es dummerweise genau an dem Rechner, auf dem FHEM läuft, also lokal und nicht remote.

Aber danke für den Tipp.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

monty_burns_007

Zitat von: monty_burns_007 am 04 März 2018, 11:31:35
Yep, habe ich gerade "Dutch"     => "nl" eingetragt und funzt super ! :-)
danke

Hi, wenn wird diese änderung auch in die repo eingetragen ?
Jetzt muss ich immer nach eine update von FHEM diese änderung manuel zuruck eintragen.
wäre schon sein das die Dutch (nl) auch in die repo angepasst wird.

mfg

Monty

Tobias

Zitat von: monty_burns_007 am 13 April 2018, 15:50:45
Hi, wenn wird diese änderung auch in die repo eingetragen ?
Jetzt muss ich immer nach eine update von FHEM diese änderung manuel zuruck eintragen.
wäre schon sein das die Dutch (nl) auch in die repo angepasst wird.

mfg

Monty

erledigt .... endlich ;)
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

monty_burns_007


micha0815

Hallo,

ich habe heute mein raspbian von jessie auf stretch upgedatet und mich gewundert warum mein lokales text2speech nicht mehr funktionert.

Wie schon weiter vorne angesprochen liegt es daran, dass sich beim mplayer die Syntax geändert hat.

Der neue Paketname unter debian ist  "mpv" Version 0.23.0-2+deb9u2.

Ich habe es jetzt bei mir wie folgt angepasst.

diff 98_Text2Speech.pm 98_Text2Speech.pm.orig
44c44
< my $mplayerOpts     = '';
---
> my $mplayerOpts     = '-nolirc -noconsolecontrols';
46c46
< my $mplayerAudioOpts  = '--audio-device=';
---
> my $mplayerAudioOpts  = '-ao alsa:device=';


Die Konfig im FHEM geändert von
define MyTTS Text2Speech alsa:device=fhemvol
auf
defmod MyTTS Text2Speech alsa/fhemvol

Wäre toll, wenn man ein Attribut hätte, wo man die mplayer Version einstellen kann.

mumpitzstuff

Mit dem Attribut TTS_MplayerCall kann man doch den Mplayer Aufruf völlig frei vorgeben. Oder habe ich was falsch verstanden?

Toto1973

#866
Ich habe genau das selbe Problem wie mischa0815.
Bin hier schon verzweifelt!
SRadio funktioniert bei mir auch nicht mehr seit dem Update...
Ebenfalls funktioniert meine Wanduhr nicht mehr. Da muss ich mich erst mit der neuen Syntax vom Player beschäftigen.

Wäre es eigentlich möglich, die alte Mplayer Version auf Stretch zu installieren?
Das würde ein Umbau der Module erübrigen!
Raspberry PI2, Rademacher DuoFern Stick, CUL, 2 x SCC,  JeeLink 868 Mhz, JeeLink 433 Mhz, 3x Magic UFO LED WiFi Controller, 4x MAX BC-RT-TRX-CyG, 2x MAX Fensterkontakt, 5x Rademacher Gurtwickler, 6x TX29DTH-it, 2x TX25-it als Helligkeitssensor, 1X HM-ES-PM, 6x Sonoff, 7x G-Homa, PIR-1000

Toto1973

Über apt install mplayer habe ich Text2Speech wieder zum laufen bekommen. Aber SRadio geht dennoch nicht!
Raspberry PI2, Rademacher DuoFern Stick, CUL, 2 x SCC,  JeeLink 868 Mhz, JeeLink 433 Mhz, 3x Magic UFO LED WiFi Controller, 4x MAX BC-RT-TRX-CyG, 2x MAX Fensterkontakt, 5x Rademacher Gurtwickler, 6x TX29DTH-it, 2x TX25-it als Helligkeitssensor, 1X HM-ES-PM, 6x Sonoff, 7x G-Homa, PIR-1000

micha0815

@mumpitzstuff: danke für den Hinweis, manchmal liegt die Lösung direkt vor einem und man kommt nicht drauf.

Habe es jetzt bei mir wie folgt gelöst. Wichtig ist, dass man hier nicht mplayer startet, da dass Script sonst die "alten" Parameter übergibt. Da ist ne Abfrage drin, ob mplayer aufgerufen wird.
defmod MyTTS Text2Speech alsa/fhemvol
attr MyTTS TTS_MplayerCall sudo /usr/bin/mpv --audio-device=alsa/fhemvol -really-quiet


Noch in die "visudo" den mpv eingetragen, dass dieser auch ohne Passwort aufgerufen werden kann.
ALL ALL = NOPASSWD: /usr/bin/mpv

Toto1973

Wenn ich bei mir das Atribut "TTSMplayerCall" auf den neuen mpv setze, bekomme ich alle Textansagen als Mickeymaus-Stimme ausgegeben. Muss dort noch ein spezielle Option des mpv mit übergeben werden?
Raspberry PI2, Rademacher DuoFern Stick, CUL, 2 x SCC,  JeeLink 868 Mhz, JeeLink 433 Mhz, 3x Magic UFO LED WiFi Controller, 4x MAX BC-RT-TRX-CyG, 2x MAX Fensterkontakt, 5x Rademacher Gurtwickler, 6x TX29DTH-it, 2x TX25-it als Helligkeitssensor, 1X HM-ES-PM, 6x Sonoff, 7x G-Homa, PIR-1000