Neues Modul: Text2Speech

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

Vorheriges Thema - Nächstes Thema

ChrisK

Zitat von: Tobias am 29 Juli 2015, 20:39:41
fix eingecheckt mit "&client=t&prev=input&"

morgen verfügbar
Danke schön!

Pfriemler

Zitat von: Otto123 am 29 Juli 2015, 09:02:20
Melde dich mit Terminal an und mach es mit sudo rm /opt/fhem/cache/...
Linux, das unbekannte Wesen.  ::)
Danke, hat perfekt funktoniert. Auch die manuelle Änderung.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

stoxx

Hallo - vielleicht habe ich einen change im modul nicht mitbekommen, aber seit einiger zeit bekomme ich mit dem befehl
set MyTTS tts :beep.mp3::beep.mp3::beep.mp3:
den beep nur einmal ausgeführt. War leider bei der Suche hier im Forum nicht erfolgreich - kann mir jemand helfen?
Raspberry mit CUL, FS20, FHT, HMS, BLE, Z-Wave, Zigbee ..

Otto123

Guten Morgen,
ist bei mir auch so. Ob das aber schon mal anders kann ich nicht sagen...
Ich kann also nicht helfen, aber Dir beistehen :)

Wenn man Text und mp3 mischt dann reagiert das so:
Zitat:dingdong.mp3: Ding Dong
Wird ausgegeben erst mp3 und dann sagt sie Ding Dong
Zitat:dingdong.mp3:Ding Dong:dingdong.mp3:
Hier erscheint nur ein Ding Dong ohne Text

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

stoxx

Ich verwende jetzt eine Version von Ende Juni - da funktioniert die mp3 Ausgabe noch.
Raspberry mit CUL, FS20, FHT, HMS, BLE, Z-Wave, Zigbee ..

fruemmel

#425
Hallo,

leider habe ich das Problem mit der Sprachausgabe immer noch (Use of uninitialized value in addition (+) at ./FHEM/98_Text2Speech.pm line 545.), obwohl der Link aus dem Log (google-Aufruf) im Browser funktioniert:
Exiting... (End of file)


LAVF_header: av_find_stream_info() failed
[mp3 @ 0xb63ff0e8]Estimating duration from bitrate, this may be inaccurate
[mp3 @ 0xb63ff0e8]Could not find codec parameters (Audio: mp3, 0 channels, s16)
[mp3 @ 0xb5d20850]Header missing
libavformat file format detected.
Mismatching header version 53.19.0
libavformat version 53.21.1 (external)
Playing cache/1412f2e88da0f4dd7ff0cbe67239842c.mp3.

MPlayer svn r34540 (Raspbian), built with gcc-4.6 (C) 2000-2012 MPlayer Team
2015.08.03 21:01:55 4: Text2Speech_readingsSingleUpdateByName: Dev:Audio Reading:endTime Val:00:00:00
2015.08.03 21:01:54 4: Text2Speech_readingsSingleUpdateByName: Dev:Audio Reading:duration Val:0
2015.08.03 21:01:54 4: Text2Speech:sudo /usr/bin/mplayer -ao alsa:device=hw=0.0  -nolirc -noconsolecontrols -softvol -softvol-max 110 -volume 40 cache/1412f2e88da0f4dd7ff0cbe67239842c.mp3
2015.08.03 21:01:54 4: Text2Speech_CalcMP3Duration: cache/1412f2e88da0f4dd7ff0cbe67239842c.mp3 hat eine Länge von 0 Sekunden.
2015.08.03 21:01:54 1: PERL WARNING: Use of uninitialized value in addition (+) at ./FHEM/98_Text2Speech.pm line 545.
2015.08.03 21:01:54 4: Text2Speech: Schreibe mp3 in die Datei cache/1412f2e88da0f4dd7ff0cbe67239842c.mp3 mit 2812 Bytes
2015.08.03 21:01:54 4: Text2Speech: Hole URL: http://translate.google.com/translate_tts?tl=de&client=t&prev=input&q=Testausgabe
2015.08.03 21:01:54 4: Text2Speech: Textbaustein ist keine direkte MP3 Datei, ermittle MD5 CacheNamen: 1412f2e88da0f4dd7ff0cbe67239842c.mp3
2015.08.03 21:01:54 4: Text2Speech: Bearbeite jetzt den Text: Testausgabe
2015.08.03 21:01:54 4: Verwende TTS Spracheinstellung: Deutsch
2015.08.03 21:01:54 4: Audio: 0 => Testausgabe
2015.08.03 21:01:54 4: Audio: Auflistung der Textbausteine nach Aufbereitung:


Hat jemand noch einen spontanen Tipp? Es ist die aktuelle Version von 98_Text2Speech.pm installiert.
Die (neuen) Files im cache sind m. E. alle zu klein, ca. 2 bis 3 kB bei mehreren Worten Text.

Gruß Wolfgang

fruemmel

Noch ein Nachtrag: Die vermeintlich zu kurzen mp3-Files sind die html-Antwort von google, dass das captcha gewünscht wird. Angeblich wurden aus meinem Netz zu viele Requests gesendet.
Allerdings verstehe ich nicht, warum es aus dem Browser vom PC aus problemlos geht (selbe IP-Adresse nach außen). Auch ein Wechsel der dynamischen IP-Adresse hat nichts gebracht.

ChrisK

Zitat von: fruemmel am 04 August 2015, 08:29:11
Noch ein Nachtrag: Die vermeintlich zu kurzen mp3-Files sind die html-Antwort von google, dass das captcha gewünscht wird. Angeblich wurden aus meinem Netz zu viele Requests gesendet.
Allerdings verstehe ich nicht, warum es aus dem Browser vom PC aus problemlos geht (selbe IP-Adresse nach außen). Auch ein Wechsel der dynamischen IP-Adresse hat nichts gebracht.
Wenn Du das Captcha im Browser ein Mal eingibst, dann ist dort erstmal Ruhe und er fragt nicht nochmal.
Das Modul hat aber keinen Browser in dem Sinne, dass sich gemerkt werden kann, dass Du das Captcha korrekt eingegeben hast.

Hast Du die aktuelle Version vom Modul:
Zitat von: Tobias am 29 Juli 2015, 20:39:41
fix eingecheckt mit "&client=t&prev=input&"

morgen verfügbar
Damit sollte es eigentlich klappen. Tut es bei mir zumindest.

fruemmel

Zitat von: ChrisK am 04 August 2015, 10:26:59
Wenn Du das Captcha im Browser ein Mal eingibst, dann ist dort erstmal Ruhe und er fragt nicht nochmal.
Das Modul hat aber keinen Browser in dem Sinne, dass sich gemerkt werden kann, dass Du das Captcha korrekt eingegeben hast.

Hast Du die aktuelle Version vom Modul:Damit sollte es eigentlich klappen. Tut es bei mir zumindest.
Die neue Version habe ich drauf, daran kann es nicht mehr liegen. Komisch ist auch, dass ich bei Eingabe des Links im Browser auf meinem PC die Sprachausgabe ohne Captcha sofort bekomme, aber in fhem auf dem Raspberry (selbes Netz, also selbe IP-Adresse nach Außen) das Captcha gefordert wird. Wertet google hier evtl. noch den Client aus oder sowas? Leider habe ich auf dem Raspberry kein GUI installiert, sonst könnte ich weiter testen.

Hollo

Google wertet die Header-Daten aus.
Wenn Du also per Browser aufrufst, kommt z.B. ein Mozilla für den Firefox mit.

Ist das nicht der Fall, geht Google halt von robots aus, die geblockt werden.
In der LOG-Fehlermeldung siehst Du auch was von "terminal=unknown not defined" oder so.

Der "würgaround" ist also kein Dauerlösung.   :'(
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

fruemmel

#430
Zitat von: Hollo am 04 August 2015, 17:18:03
Google wertet die Header-Daten aus.
Wenn Du also per Browser aufrufst, kommt z.B. ein Mozilla für den Firefox mit.

Ist das nicht der Fall, geht Google halt von robots aus, die geblockt werden.
In der LOG-Fehlermeldung siehst Du auch was von "terminal=unknown not defined" oder so.

Das macht für mich alles Sinn, ich verstehe nur nicht, warum es bei einigen Leuten nun funktioniert, bei mir aber nicht. Ich bin ja hier wahrscheinlich nicht der Einzige mit einem Raspberry (bzw. Banana) als Server ...

eppi

Meine Erfahrung:

Auf dem iPad, Safari den Link aufgerufen und capcha ausgefüllt, danach funktionierte TTS nicht. Das gleiche gemacht am PC mit Firefox, danach funktionierte es einwandfrei...

Ellert

Da es Probleme mit dem Google Translate Zugang gab, habe ich überhaupt erstmal den Cache angesehen und war erstaunt über die Zahl Dateien.
Deshalb habe ich nach einer Möglichkeit gesucht, zukünftig Dateien im Cache zu löschen, wenn mir bekannt ist, dass ein gesprochener Text wahrscheinlich nicht wiederholt wird. Bei mir ist das z.B. die Wettervorhersage. Ich bin dabei auf den find Befehl gestossen mit dem man Dateien in einem Zeitfenster löschen kann, zumindest unter Linux.

Der nachstehende Befehl z.B. löscht alle in den nächsten 5 Minuten entstehenden mp3-Dateien. Setzt man den Befehl vor einen tts Aufruf, werden die entstehenden Dateien gelöscht.

define delmp3 at +00:05:00 "find /opt/fhem/cache -maxdepth 1 -name '*.mp3' -mmin -5 -exec rm {} \;;"


Da in dem TTS-Modul das automatische Löschen noch nicht implementiert ist, würde mich interessieren nach welchen Kriterien Ihr die nicht benötigten Dateien löscht.

Invers

Ich bekomme seit einigen Tagen die folgende Meldung:

015.08.04 16:35:30 1: PERL WARNING: Problem closing 'cache/.': Is a directory at ./FHEM/98_Text2Speech.pm line 543.
2015.08.04 16:35:30 1: PERL WARNING: Use of uninitialized value in addition (+) at ./FHEM/98_Text2Speech.pm line 545.
2


Hat das Problem sonst noch jemand? Es scheinen alle Ansagen zu kommen. 
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

TeeVau

Ich lösche den cache gar nicht. Auch nicht die wettervorhersage, denn Regen kann es auch nächste Woche geben :-)
Da ich mir jeden morgen im Bad die Wettervorhersage vorlesen lasse, wäre ein löschen sogar kontraproduktiv. Nur wegen dem Chace habe ich z.B. gar nicht die captcha Probleme bemerkt :-D

Eine Ansage ist dann z.B.:
Guten Morgen. Die Aussentemperatur beträgt $temp Grad und die Luftfeuchtigkeit liegt bei $humi Prozent. Gefühlte Temperatur aktuell $tg Grad. Windgeschwindigkeit $tw kmh. Die Vorhersage für heute $t1 .Temperatur von $t2 bis $t3 Grad.

Optional gibt es noch:
Bei glatteis:
Achtung, vorsichtig Autofahren. Aktuell gibt es $tcond

Am Tag vor Müll oder Sperrmüll:
Heute müssen die Mülltonnen $muell2 rausgestellt werden. Morgen früh werden diese geleert.
Der Sperrmüll wird morgen abgeholt.

Am Tag der Abholung:
Heute werden die Mülltonnen $muell1 geleert.

Und jeden Montag noch:
Heute ist im Aquarium Fastentag, die Fische bekommen kein Futter.

Nach ein paar Monaten sind fast alle Werte durch und alles ist im Cache :-)
FHEM 5.8 dev (virtualisiert) / FBF 7390 (CUL 868MHz V 1.51 / panStick (AVR1))
FS20: fs20di,fs20pira,fs20sm8,fs20st2,fs20tfk,fs20ue1,fs20ws1
panStamp (AVR1): RGB Multi von ext23, 1W-DSxxxx, I/O Sketch, Spritzpumpe
Multimedia: Panasonic TV (VIERA), Kodi, Yamaha RX-V781, LMS
Sonstiges: XiaomiFlowerSen