Neues Modul: Text2Speech

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

Vorheriges Thema - Nächstes Thema

Elbgeist

Hi Otto,

danke wegen der Info mit dem Lautsprecher.... werde ich wohl ordern.

Nochmals, falls ich mich undeutlich ausgedrückt hatte. Meine originalen mp3's sind im Verzeichnis /opt/fhem/cache/templates abgelegt. Zugriff auf das Verzeichnis ist frei.
Das sich mir zeigende Szenario ist, dass - wenn ich :gong: verwende die mp3 vorgelesen wird und dann der Text folgt. Verwende ich :gong.mp3: ertönt der Gong aber der Text wird wird ausgelassen.
Hier der Logauszug:
2016.08.22 11:29:45 4: Verwende TTS Spracheinstellung: Deutsch
2016.08.22 11:29:45 4: Text2Speech: Bearbeite jetzt den Text: Auf dem privaten Anrufbeantworter ist eine neue Nachricht
2016.08.22 11:29:45 4: Text2Speech: Textbaustein ist keine direkte MP3 Datei, ermittle MD5 CacheNamen: c9cd46138c60421cf391c2adea28cb8a.mp3
2016.08.22 11:29:45 4: Text2Speech: Verwende Google OnlineResource zum Download
2016.08.22 11:29:45 4: Text2Speech: Hole URL: http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=Auf%20dem%20privaten%20Anrufbeantworter%20ist%20eine%20neue%20Nachricht
2016.08.22 11:29:45 4: Text2Speech: Schreibe mp3 in die Datei cache/c9cd46138c60421cf391c2adea28cb8a.mp3 mit 21024 Bytes
2016.08.22 11:29:45 4: Text2Speech_CalcMP3Duration: cache/c9cd46138c60421cf391c2adea28cb8a.mp3 hat eine Länge von 5 Sekunden.
2016.08.22 11:29:45 4: Text2Speech:/usr/bin/mplayer  -really-quiet -nolirc -noconsolecontrols cache/c9cd46138c60421cf391c2adea28cb8a.mp3
Terminal type `unknown' is not defined.


Mir leuchtet nicht ein, warum der Fehler so wie beschrieben auftritt. Beide Teile gehen ja, Gong wie auch Text. Nur eben nicht miteinander.

Gruß
Thomas

Otto123

#661
Hi Elbgeist,

naja das ist eine neue Frage. Meine Antwort gestern bezog sich darauf ob man FileMapping machen muss oder nicht. Man muss nicht, man kann!
Ich habe kein FileMapping! Ich habe die mp3 Dateien auch in /opt/fhem/cache/templates, Rechte sind rw-r--r-- Besitzer pi.
Wenn ich set MyTTS tts Hallo :DingDong.mp3: oderset MyTTS tts :DingDong.mp3: Hallo geht beides:DingDong und der Text davor oder danach. Wie eigentlich erwartet.

Dein Logauszug zeigt ja die Umwandlung von dem Text in mp3 über google, von gong.mp3 sehe ich da nichts. Hier mal mein Log mit einem text davor und danach. Weiß nicht ob Dir das hilft.
2016.08.22 12:03:38 4: MyTTS: Angabe einer direkten MP3-Datei gefunden:  DingDong1.mp3 => FileTpl_1471860218_#0
2016.08.22 12:03:38 4: MyTTS: Auflistung der Textbausteine nach Aufbereitung:
2016.08.22 12:03:38 4: MyTTS: 0 => Hallo
2016.08.22 12:03:38 4: MyTTS: 1 => templates/DingDong1.mp3
2016.08.22 12:03:38 4: MyTTS: 2 => Das war der Text
2016.08.22 12:03:38 4: Verwende TTS Spracheinstellung: Deutsch
2016.08.22 12:03:38 4: Text2Speech: Bearbeite per MP3Wrap jetzt den Text: Hallo templates/DingDong1.mp3
2016.08.22 12:03:38 4: Text2Speech_CalcMP3Duration: cache/dd249b448b3c2b53953f8ce0580eacfe_MP3WRAP.mp3 hat eine Länge von 13 Sekunden.
2016.08.22 12:03:38 4: Text2Speech:/usr/bin/mplayer -ao alsa:device=hw=0.0  -nolirc -noconsolecontrols -softvol -softvol-max 110 -volume 30 cache/dd249b448b3c2b53953f8ce0580eacfe_MP3WRAP.mp3
MPlayer svn r34540 (Raspbian), built with gcc-4.6 (C) 2000-2012 MPlayer Team

Playing cache/dd249b448b3c2b53953f8ce0580eacfe_MP3WRAP.mp3.
libavformat version 53.21.1 (external)
Mismatching header version 53.19.0
Audio only file format detected.
Load subtitles in cache/
==========================================================================
Requested audio codec family [mpg123] (afm=mpg123) not available.
Enable it at compilation.
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
libavcodec version 53.35.0 (external)
Mismatching header version 53.32.2
AUDIO: 24000 Hz, 1 ch, floatle, 32.0 kbit/4.17% (ratio: 4000->96000)
Selected audio codec: [ffmp3float] afm: ffmpeg (FFmpeg MPEG layer-3 audio)
==========================================================================
[AO_ALSA] Format floatle is not supported by hardware, trying default.
AO: [alsa] 24000Hz 1ch s16le (2 bytes per sample)
[Mixer] No hardware mixing, inserting volume filter.
Video: no video
Starting playback...
A:   0.0 (00.0) of 12.0 (12.0) ??,?% 
A:   0.0 (00.0) of 12.0 (12.0)  4.5% 
A:   0.0 (00.0) of 12.0 (12.0)  4.5% 
A:   0.1 (00.0) of 12.0 (12.0)  4.4% 
A:   0.1 (00.0) of 12.0 (12.0)  4.3% 
A:   0.1 (00.1) of 12.0 (12.0)  4.3% 
A:   0.2 (00.1) of 12.0 (12.0)  4.2% 
A:   0.2 (00.1) of 12.0 (12.0)  4.1% 
AO: [alsa] 24000Hz 2ch s16le (2 bytes per sample)
A:   0.8 (00.8) of 12.0 (12.0)  4.5% 
A:   0.5 (00.5) of 12.0 (12.0)  4.9% 
A:   0.5 (00.5) of 12.0 (12.0)  4.7% 
A:   0.5 (00.5) of 12.0 (12.0)  4.8% 
A:   0.5 (00.5) of 12.0 (12.0)  4.8% 
A:   0.6 (00.5) of 12.0 (12.0)  4.7% 
A:   0.6 (00.5) of 12.0 (12.0)  4.8% 
A:   0.6 (00.6) of 12.0 (12.0)  4.8% 
A:   0.6 (00.6) of 12.0 (12.0)  4.8% 
A:   0.6 (00.5) of 12.0 (12.0)  4.8% 
A:   0.7 (00.6) of 12.0 (12.0)  4.8% 
A:   0.7 (00.6) of 12.0 (12.0)  4.8% 
A:   0.6 (00.6) of 12.0 (12.0)  4.9% 
A:   0.7 (00.6) of 12.0 (12.0)  4.8% 
A:   0.7 (00.6) of 12.0 (12.0)  4.9% 
A:   0.7 (00.7) of 12.0 (12.0)  4.8% 
A:   0.7 (00.7) of 12.0 (12.0)  4.8% 
A:   0.7 (00.7) of 12.0 (12.0)  4.9% 
A:   0.8 (00.7) of 12.0 (12.0)  4.8% 
A:   0.8 (00.7) of 12.0 (12.0)  4.9% 
A:   0.8 (00.7) of 12.0 (12.0)  4.9% 
A:   0.8 (00.8) of 12.0 (12.0)  4.9% 
A:   0.8 (00.8) of 12.0 (12.0)  4.9% 
A:   0.9 (00.8) of 12.0 (12.0)  4.8% 
A:   0.8 (00.8) of 12.0 (12.0)  4.9% 
A:   0.9 (00.8) of 12.0 (12.0)  4.8% 
A:   0.9 (00.8) of 12.0 (12.0)  4.8% 
A:   0.9 (00.8) of 12.0 (12.0)  4.9% 
A:   0.9 (00.9) of 12.0 (12.0)  4.8% 
A:   0.9 (00.9) of 12.0 (12.0)  4.9% 
A:   0.9 (00.9) of 12.0 (12.0)  4.9% 
A:   1.0 (00.9) of 12.0 (12.0)  4.8% 
A:   0.9 (00.9) of 12.0 (12.0)  4.9% 
A:   1.0 (01.0) of 12.0 (12.0)  4.8% 
A:   1.0 (00.9) of 12.0 (12.0)  4.9% 
A:   1.0 (00.9) of 12.0 (12.0)  4.9% 
A:   1.1 (01.0) of 12.0 (12.0)  4.8% 
A:   1.0 (01.0) of 12.0 (12.0)  4.9% 
A:   1.0 (01.0) of 12.0 (12.0)  4.9% 
A:   1.1 (01.0) of 12.0 (12.0)  4.9% 
A:   1.1 (01.0) of 12.0 (12.0)  4.9% 
A:   1.1 (01.1) of 12.0 (12.0)  4.8% 
A:   1.1 (01.1) of 12.0 (12.0)  4.9% 
A:   1.1 (01.1) of 12.0 (12.0)  4.9% 
A:   1.1 (01.1) of 12.0 (12.0)  4.8% 
A:   1.1 (01.1) of 12.0 (12.0)  4.9% 
A:   1.2 (01.1) of 12.0 (12.0)  4.8% 
A:   1.2 (01.1) of 12.0 (12.0)  4.9% 
A:   1.2 (01.1) of 12.0 (12.0)  4.9% 
A:   1.2 (01.2) of 12.0 (12.0)  4.8% 
A:   1.2 (01.2) of 12.0 (12.0)  4.9% 
A:   1.3 (01.2) of 12.0 (12.0)  4.8% 
A:   1.3 (01.2) of 12.0 (12.0)  4.9% 
A:   1.3 (01.2) of 12.0 (12.0)  4.9% 
A:   1.3 (01.3) of 12.0 (12.0)  4.8% 
A:   1.3 (01.3) of 12.0 (12.0)  4.9% 
A:   1.3 (01.2) of 12.0 (12.0)  4.9% 
A:   1.3 (01.3) of 12.0 (12.0)  4.8% 
A:   1.3 (01.3) of 12.0 (12.0)  4.9% 
A:   1.4 (01.3) of 12.0 (12.0)  4.8% 
A:   1.4 (01.3) of 12.0 (12.0)  4.8% 
A:   1.4 (01.3) of 12.0 (12.0)  4.9% 
A:   1.4 (01.4) of 12.0 (12.0)  4.8% 
A:   1.4 (01.4) of 12.0 (12.0)  4.9% 
A:   1.4 (01.4) of 12.0 (12.0)  4.9% 
A:   1.4 (01.4) of 12.0 (12.0)  4.8% 
A:   1.4 (01.4) of 12.0 (12.0)  4.9% 
A:   1.5 (01.5) of 12.0 (12.0)  4.8% 
A:   1.5 (01.4) of 12.0 (12.0)  4.9% 
A:   1.5 (01.4) of 12.0 (12.0)  4.9% 
A:   1.5 (01.5) of 12.0 (12.0)  4.9% 
A:   1.5 (01.5) of 12.0 (12.0)  4.9% 
A:   1.6 (01.5) of 12.0 (12.0)  4.9% 
A:   1.6 (01.5) of 12.0 (12.0)  4.9% 
A:   1.6 (01.5) of 12.0 (12.0)  4.9% 
A:   1.6 (01.6) of 12.0 (12.0)  4.9% 
A:   1.6 (01.6) of 12.0 (12.0)  4.9% 
A:   1.6 (01.5) of 12.0 (12.0)  4.9% 
A:   1.7 (01.6) of 12.0 (12.0)  4.9% 
A:   1.6 (01.6) of 12.0 (12.0)  4.9% 
A:   1.7 (01.7) of 12.0 (12.0)  4.9% 
A:   1.7 (01.6) of 12.0 (12.0)  4.9% 
A:   1.7 (01.6) of 12.0 (12.0)  4.9% 
A:   1.7 (01.7) of 12.0 (12.0)  4.9% 
A:   1.7 (01.7) of 12.0 (12.0)  4.9% 
A:   1.7 (01.7) of 12.0 (12.0)  4.9% 
A:   1.8 (01.7) of 12.0 (12.0)  4.9% 
A:   1.7 (01.7) of 12.0 (12.0)  4.9% 
A:   1.8 (01.8) of 12.0 (12.0)  4.9% 
A:   1.8 (01.7) of 12.0 (12.0)  4.9% 
A:   1.8 (01.8) of 12.0 (12.0)  4.9% 
A:   1.8 (01.8) of 12.0 (12.0)  4.9% 
A:   1.8 (01.8) of 12.0 (12.0)  4.9% 
A:   1.9 (01.8) of 12.0 (12.0)  4.9% 
A:   1.9 (01.8) of 12.0 (12.0)  4.9% 
A:   1.9 (01.8) of 12.0 (12.0)  4.9% 
A:   1.9 (01.9) of 12.0 (12.0)  4.9% 
A:   1.9 (01.9) of 12.0 (12.0)  4.9% 
A:   2.0 (01.9) of 12.0 (12.0)  4.9% 
A:   2.0 (01.9) of 12.0 (12.0)  4.9% 
A:   1.9 (01.9) of 12.0 (12.0)  4.9% 
A:   2.0 (01.9) of 12.0 (12.0)  4.9% 
A:   2.0 (01.9) of 12.0 (12.0)  4.9% 
A:   2.0 (01.9) of 12.0 (12.0)  4.9% 
A:   2.0 (02.0) of 12.0 (12.0)  4.9% 
A:   2.1 (02.0) of 12.0 (12.0)  4.9% 
A:   2.1 (02.0) of 12.0 (12.0)  4.9% 
A:   2.1 (02.0) of 12.0 (12.0)  4.9% 
A:   2.1 (02.1) of 12.0 (12.0)  4.9% 
A:   2.1 (02.1) of 12.0 (12.0)  4.9% 
A:   2.1 (02.0) of 12.0 (12.0)  4.9% 
A:   2.2 (02.1) of 12.0 (12.0)  4.9% 
A:   2.2 (02.1) of 12.0 (12.0)  4.9% 
A:   2.1 (02.1) of 12.0 (12.0)  5.0% 
A:   2.2 (02.1) of 12.0 (12.0)  4.9% 
A:   2.2 (02.1) of 12.0 (12.0)  4.9% 
A:   2.2 (02.2) of 12.0 (12.0)  4.9% 
A:   2.2 (02.2) of 12.0 (12.0)  4.9% 
A:   2.2 (02.2) of 12.0 (12.0)  5.0% 
A:   2.3 (02.2) of 12.0 (12.0)  4.9% 
A:   2.3 (02.2) of 12.0 (12.0)  5.0% 
A:   2.2 (02.2) of 12.0 (12.0)  5.0% 
A:   2.3 (02.3) of 12.0 (12.0)  4.9% 
A:   2.3 (02.3) of 12.0 (12.0)  5.0% 
A:   2.4 (02.3) of 12.0 (12.0)  5.0% 
A:   2.4 (02.3) of 12.0 (12.0)  4.9% 
A:   2.3 (02.3) of 12.0 (12.0)  5.0% 
A:   2.4 (02.3) of 12.0 (12.0)  4.9% 
A:   2.4 (02.3) of 12.0 (12.0)  5.0% 
A:   2.4 (02.4) of 12.0 (12.0)  4.9% 
A:   2.4 (02.4) of 12.0 (12.0)  4.9% 
A:   2.4 (02.3) of 12.0 (12.0)  5.0% 
A:   2.5 (02.4) of 12.0 (12.0)  4.9% 
A:   2.4 (02.4) of 12.0 (12.0)  5.0% 
A:   2.4 (02.4) of 12.0 (12.0)  5.0% 
A:   2.5 (02.4) of 12.0 (12.0)  5.0% 
A:   2.5 (02.4) of 12.0 (12.0)  5.0% 
A:   2.5 (02.5) of 12.0 (12.0)  4.9% 
A:   2.5 (02.5) of 12.0 (12.0)  5.0% 
A:   2.5 (02.5) of 12.0 (12.0)  5.0% 
A:   2.6 (02.5) of 12.0 (12.0)  5.0% 
A:   2.6 (02.5) of 12.0 (12.0)  5.0% 
A:   2.6 (02.5) of 12.0 (12.0)  5.0% 
A:   2.6 (02.6) of 12.0 (12.0)  5.0% 
A:   2.6 (02.6) of 12.0 (12.0)  5.0% 
A:   2.6 (02.6) of 12.0 (12.0)  4.9% 
A:   2.6 (02.6) of 12.0 (12.0)  5.0% 
A:   2.7 (02.6) of 12.0 (12.0)  4.9% 
A:   2.7 (02.6) of 12.0 (12.0)  5.0% 
A:   2.7 (02.6) of 12.0 (12.0)  5.0% 
A:   2.7 (02.7) of 12.0 (12.0)  5.0% 
A:   2.7 (02.7) of 12.0 (12.0)  5.0% 
A:   2.8 (02.7) of 12.0 (12.0)  4.9% 
A:   2.8 (02.8) of 12.0 (12.0)  4.9% 
A:   2.8 (02.8) of 12.0 (12.0)  4.9% 


Exiting... (End of file)
2016.08.22 12:03:45 4: Verwende TTS Spracheinstellung: Deutsch
2016.08.22 12:03:45 4: Text2Speech: Bearbeite jetzt den Text: Das war der Text
2016.08.22 12:03:45 4: Text2Speech: Textbaustein ist keine direkte MP3 Datei, ermittle MD5 CacheNamen: 73a5e201068fc02d0ff82f23c6763a49.mp3
2016.08.22 12:03:45 4: Text2Speech: Verwende Google OnlineResource zum Download
2016.08.22 12:03:45 4: Text2Speech: Hole URL: http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=Das%20war%20der%20Text
2016.08.22 12:03:45 4: Text2Speech: Schreibe mp3 in die Datei cache/73a5e201068fc02d0ff82f23c6763a49.mp3 mit 6624 Bytes
2016.08.22 12:03:45 4: Text2Speech_CalcMP3Duration: cache/73a5e201068fc02d0ff82f23c6763a49.mp3 hat eine Länge von 2 Sekunden.
2016.08.22 12:03:45 4: Text2Speech:/usr/bin/mplayer -ao alsa:device=hw=0.0  -nolirc -noconsolecontrols -softvol -softvol-max 110 -volume 30 cache/73a5e201068fc02d0ff82f23c6763a49.mp3
MPlayer svn r34540 (Raspbian), built with gcc-4.6 (C) 2000-2012 MPlayer Team

Playing cache/73a5e201068fc02d0ff82f23c6763a49.mp3.
libavformat version 53.21.1 (external)
Mismatching header version 53.19.0
Audio only file format detected.
Load subtitles in cache/
==========================================================================
Requested audio codec family [mpg123] (afm=mpg123) not available.
Enable it at compilation.
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
libavcodec version 53.35.0 (external)
Mismatching header version 53.32.2
AUDIO: 24000 Hz, 1 ch, floatle, 32.0 kbit/4.17% (ratio: 4000->96000)
Selected audio codec: [ffmp3float] afm: ffmpeg (FFmpeg MPEG layer-3 audio)
==========================================================================
[AO_ALSA] Format floatle is not supported by hardware, trying default.
AO: [alsa] 24000Hz 1ch s16le (2 bytes per sample)
[Mixer] No hardware mixing, inserting volume filter.
Video: no video
Starting playback...
A:   0.0 (00.0) of 1.0 (01.0) ??,?% 
A:   0.0 (00.0) of 1.0 (01.0)  2.5% 
A:   0.0 (00.0) of 1.0 (01.0)  2.6% 
A:   0.1 (00.0) of 1.0 (01.0)  2.6% 
A:   0.1 (00.0) of 1.0 (01.0)  2.6% 
A:   0.1 (00.1) of 1.0 (01.0)  2.7% 
A:   0.2 (00.1) of 1.0 (01.0)  2.7% 
A:   0.2 (00.1) of 1.0 (01.0)  2.7% 
A:   0.2 (00.2) of 1.0 (01.0)  2.7% 
A:   0.2 (00.2) of 1.0 (01.0)  2.7% 
A:   0.3 (00.2) of 1.0 (01.0)  2.8% 
A:   0.3 (00.3) of 1.0 (01.0)  2.8% 
A:   0.3 (00.3) of 1.0 (01.0)  2.8% 
A:   0.4 (00.3) of 1.0 (01.0)  2.8% 
A:   0.4 (00.3) of 1.0 (01.0)  2.8% 
A:   0.4 (00.4) of 1.0 (01.0)  2.7% 
A:   0.5 (00.4) of 1.0 (01.0)  2.8% 
A:   0.5 (00.4) of 1.0 (01.0)  2.8% 
A:   0.5 (00.5) of 1.0 (01.0)  2.8% 
A:   0.5 (00.5) of 1.0 (01.0)  2.8% 
A:   0.6 (00.5) of 1.0 (01.0)  2.8% 
A:   0.6 (00.6) of 1.0 (01.0)  2.8% 
A:   0.6 (00.6) of 1.0 (01.0)  2.8% 
A:   0.7 (00.6) of 1.0 (01.0)  2.8% 
A:   0.7 (00.6) of 1.0 (01.0)  2.8% 
A:   0.7 (00.7) of 1.0 (01.0)  2.8% 
A:   0.8 (00.7) of 1.0 (01.0)  2.8% 
A:   0.8 (00.7) of 1.0 (01.0)  2.8% 
A:   0.8 (00.8) of 1.0 (01.0)  2.8% 
A:   0.8 (00.8) of 1.0 (01.0)  2.8% 
A:   0.9 (00.8) of 1.0 (01.0)  2.8% 
A:   0.9 (00.9) of 1.0 (01.0)  2.8% 
A:   0.9 (00.9) of 1.0 (01.0)  2.8% 
A:   1.0 (00.9) of 1.0 (01.0)  2.8% 
A:   1.0 (00.9) of 1.0 (01.0)  2.8% 
A:   1.0 (01.0) of 1.0 (01.0)  2.9% 
A:   1.1 (01.0) of 1.0 (01.0)  2.8% 
A:   1.1 (01.0) of 1.0 (01.0)  2.8% 
A:   1.1 (01.1) of 1.0 (01.0)  2.9% 
A:   1.1 (01.1) of 1.0 (01.0)  2.8% 
A:   1.2 (01.1) of 1.0 (01.0)  2.8% 
A:   1.2 (01.1) of 1.0 (01.0)  2.8% 


Exiting... (End of file)


Habe eben noch probiert: FileMapping funktioniert bei mir nicht. Wenn ich dort was definiere wird nur vorgelesen.
Da ist wohl was kaputt?

Ich habe auch noch festgestellt:
Wenn man ein Mapping definiert, kann man es nur löschen wenn die Datei existiert!? Also
attr MyTTS TTS_FileMapping gong:willi.mp3
deleteattr MyTTS TTS_FileMapping
erzeugt die Ausgabe file does not exist: <cache/templates/willi.mp3>

Aus der Nummer kommt man nur noch mit shutdown restart raus vorausgesetzt man hat noch nicht save gemacht.  :'(

ZitatVerwende ich :gong.mp3: ertönt der Gong aber der Text wird wird ausgelassen.
Das funktioniert bei mir aber nach wie vor. Auch bei definiertem FileMapping, der Gong ertönt und der Text folgt- allerdings mit überhöhter Geschwindigkeit "Mickimaus"

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

Elbgeist

#662
Hi Otto,

anhand Deines Logfiles sehe ich schon einen Unterschied, ich kann ihn nur nicht zuordnen bzw. weiß ich nicht ob er von Bedeutung ist hinsichtlich der "Fehlfunktion".

Gebe ich diesen Befehl ein

set MyTTS tts :gong.mp3: Hallo

dann ertönt der Gong, das Hallo bleibt aber aus.

Hier das Log für diesen Vorgang:

2016.08.22 12:57:31 4: MyTTS: Angabe einer direkten MP3-Datei gefunden:  gong.mp3 => FileTpl_1471863451_#0
2016.08.22 12:57:31 4: MyTTS: Auflistung der Textbausteine nach Aufbereitung:
2016.08.22 12:57:31 4: MyTTS: 0 => templates/gong.mp3
2016.08.22 12:57:31 4: MyTTS: 1 => Hallo
2016.08.22 12:57:31 4: Verwende TTS Spracheinstellung: Deutsch
2016.08.22 12:57:31 4: Text2Speech: Bearbeite per MP3Wrap jetzt den Text: templates/gong.mp3 Hallo
2016.08.22 12:57:31 4: Text2Speech_CalcMP3Duration: cache/d6dfa8e2ca9ebc02aa482e1407e86ffb_MP3WRAP.mp3 hat eine Länge von 4 Sekunden.
2016.08.22 12:57:31 4: Text2Speech:/usr/bin/mplayer -ao alsa:device=hw=0.0 -really-quiet -nolirc -noconsolecontrols cache/d6dfa8e2ca9ebc02aa482e1407e86ffb_MP3WRAP.mp3


Drehe ich das Ganze um, also


set MyTTS tts Hallo :gong.mp3:

dann passiert gar nichts  - weder Gong noch Text - und es gibt folgendes Log:

2016.08.22 13:03:38 2: Text2Speech: BlockingCall for MyTTS was aborted
2016.08.22 13:04:18 4: MyTTS: Angabe einer direkten MP3-Datei gefunden:   => FileTpl_1471863858_#1
2016.08.22 13:04:18 4: MyTTS: Auflistung der Textbausteine nach Aufbereitung:
2016.08.22 13:04:18 4: MyTTS: 0 => ARRAY(0x2fea520)
2016.08.22 13:04:18 4: MyTTS: 1 => Hallo
2016.08.22 13:04:18 4: MyTTS: 2 => templates/gong.mp3
2016.08.22 13:04:18 4: Verwende TTS Spracheinstellung: Deutsch
2016.08.22 13:04:18 4: Text2Speech: Bearbeite per MP3Wrap jetzt den Text: ARRAY(0x2fea520) Hallo templates/gong.mp3
2016.08.22 13:04:18 4: Text2Speech: mp3wrap cache/e26f8ea7add3eff13b35fdff920f6002.mp3 cache/1814713ad3c1f9f3c7c525798dd95be4.mp3 cache/71ce4185214eb43202358604a63cdcab.mp3 cache/templates/gong.mp3 >/dev/null
2016.08.22 13:04:18 4: Text2Speech_CalcMP3Duration: cache/e26f8ea7add3eff13b35fdff920f6002_MP3WRAP.mp3 hat eine Länge von 27 Sekunden.
2016.08.22 13:04:18 4: Text2Speech:/usr/bin/mplayer -ao alsa:device=hw=0.0 -really-quiet -nolirc -noconsolecontrols cache/e26f8ea7add3eff13b35fdff920f6002_MP3WRAP.mp3
Terminal type `unknown' is not defined.


Zum einen fällt auf, dass im Vergleich zu Deinen Logs diese Zeile

Text2Speech:/usr/bin/mplayer -ao alsa:device=hw=0.0 -[b]really-quiet -nolirc -noconsolecontrols[/b] cache/e26f8ea7add3eff13b35fdff920f6002_MP3WRAP.mp3

von Deiner abweicht .
Zum anderen habe ich einen Abbruch von MyTTS:

Text2Speech: BlockingCall for MyTTS was aborted

warum und wieso auch immer. Ohne einen Neustart von FHEM spricht hier gar nichts mehr was TTS betrifft. Dieser BlockingCall fiel mir heute zum ersten Male auf. Hab in der Referenz nach gelesen, aber wirklich schlau bin ich daraus nicht geworden.

Vielleicht fällt Dir Otto, oder gerne auch jemanden anderen etwas dazu ein wie dieses Problem behoben werden kann. Der Teufel steckt wie immer wohl im Detail.

Gruß
Thomas

Otto123

Moin Thomas,

ich habe mir das Ganze nochmal genau durchgelesen. Ich denke er spielt Dein "Hallo" schon, aber eben "-really-quiet " --> ganz leise.
Nein das stimmt natürlich nicht, realy-quiet bedeutet ohne jede Ausgabe und Statusmeldung  8)

Was er bei der zweiten Variante mit BlockingCall macht? Es ist aber auch 30 sec vorher..
Aber dann diese Sache mit "MyTTS: 0 => ARRAY(0x2fea520)" Wo nimmt er das her?

Du sagst er schaltet damit quasi jede Textausgabe ab bis zum Neustart von FHEM? Nur Text geht aber ansonsten?

Ich habe keine Ahnung was da passiert, da kann wenn überhaupt noch Tobias helfen.

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

Elbgeist

Moin Otto,

ich habe das TTS-Modul nun komplett entfernt und nach einem Update neu aufgebaut.
In den Attributen nichts eingesetzt, alles so gelassen wie es nach der Installation stand,
Anfangs ging es einwandfrei..... bis zum Abend jedoch stellten sich wieder Fehler ein. Zuletzt heute Morgen.
Der Gong ertönt.... dann ist es vorbei.

2016.08.24 08:45:00 5: exec at command at_Wetter_morgens
2016.08.24 08:45:00 5: redefine at command at_Wetter_morgens as *08:45:00 set T2S tts :gong.mp3: Die aktuellen Wetterdaten. {speakWetterDaten()}
2016.08.24 08:46:00 1: Timeout for Text2Speech_DoIt reached, terminated process 8945
2016.08.24 08:46:00 2: Text2Speech: BlockingCall for T2S was aborted


Nach Recherche hier im Forum fand ich den Hinweis, dass der gesamt Prozess zu lang sein könnte. Bei 60 Sekunden ist hier die Begrenzung.
Das kann jedoch auch nicht sein. Alles in allem liege ich bei rund 30 Sekunden.

Vielleicht liest Tobias hier ja zufällig mit und kann helfend eingreifen.

Für Deine Unterstützung herzlichen Dank und einen schönen Tag.

Gruß
Thomas

Elbgeist

Noch ein Nachtrag der eventuell zur Fehlerbehebung beiträgt.
Es funktioniert nur, wenn ich mittels eines Cronjobs alle 30 Minuten die temporärer mp3-Dateien (von Goggle) löschen lasse.
Aber - immer wieder liest TTS einen Array vor und kümmert sich dann erst um die eigentlichen Texte.

2016.08.26 09:06:25 4: T2S: 0 => ARRAY(0x26d26d0)

Gruß
Thomas

Devender

Hallo und kurze Rückmeldung von mir :-)

Mein Jay-tech Lautsprecher ist heute angekommen und ich habe ihn direkt angeschlossen.

Ergebnis: Eine klare und deutlich lautere Sprachausgabe über den neuen aktiven Lautsprecher  :)
Ich habe diesen bei mir direkt an den PI (Line out) und USB (Strom) angeschlossen. Bei der Sprachausgabe habe ich bisher keine Störgeräusche wahrgenommen.
Auch passt er durch die gerine Größe noch in meinen Technikbereich in der Wand.

Danke nochmal an Otto für den wirklichen klasse Tipp!!!!  ;D
FHEM 5.8 auf RasPi mit Jessy - CUL868, JeeLink Lacrosse
Komponenten: HM, IT, ELV, FB7390, FritzPL543,Sonos Play3
Mehrere Wandtablets sowie einen Smart Mirror
https://wiki.fhem.de/wiki/Anwesenheitserkennung#PRESENCE-Modul

PsychoD

Zitat von: Elbgeist am 26 August 2016, 09:12:03
Noch ein Nachtrag der eventuell zur Fehlerbehebung beiträgt.
Es funktioniert nur, wenn ich mittels eines Cronjobs alle 30 Minuten die temporärer mp3-Dateien (von Goggle) löschen lasse.
Aber - immer wieder liest TTS einen Array vor und kümmert sich dann erst um die eigentlichen Texte.

2016.08.26 09:06:25 4: T2S: 0 => ARRAY(0x26d26d0)

Gruß
Thomas

Dieses Problem quält mich leider auch nach wie vor. michaelfhem hatte geholfen mp3wrap umzustellen, mir leider nicht. Mehr hier:
https://forum.fhem.de/index.php/topic,18481.msg451875.html#msg451875

Tobias

#668
Hi,
in dem Beispiel sieht man ab er, das nach exakt 60sek abgebrochen wird:
2016.08.24 08:45:00 5: redefine at command at_Wetter_morgens as *08:45:00 set T2S tts :gong.mp3: Die aktuellen Wetterdaten. {speakWetterDaten()}
2016.08.24 08:46:00 1: Timeout for Text2Speech_DoIt reached, terminated process 8945


Irgendwo liegen dann Laichen als Folgefehler rum, das ist dann das Array. Nach einem Fhem Neustart ist auch das Array wieder weg. Die exakten Fehler dazu habe ich aber auch noch nicht finden können. Aber: Bekommt man das ursächliche Problem weg, ist auch die Array-Geschichte von gestern ;) :(

Folge mal bitte https://forum.fhem.de/index.php/topic,18481.msg451875.html#msg451875
und poste auch die Ergebnisse wenn du den mplayeraufruf mit der mp3wrap datei von Hand machst. Ev. wird es dann schon ersichtlich
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

chunter1

#669
Kurze Frage...

Wenn ich folgenden Code verwende, spricht er nur die erste und manchmal die letzte Zeile.
Was mach ich denn da falsch?
Muss ich zwischen den Zeilen eine Wartebedingung einfügen die prüft, ob der Player fertig ist?
Aber dadurch würde dann FHEM hängen?


if (...) {
  fhem("set MyTTS tts Guten Morgen.");
  fhem("set MyTTS tts Es gibt Stau.");
  fhem("set MyTTS tts Zeitverlust zirka $valDelay Minuten.");
}

Ellert

Was spricht dagegen, alles mit einem set-Befehl auszuführen?

chunter1

Zitat von: Ellert am 01 September 2016, 17:55:40
Was spricht dagegen, alles mit einem set-Befehl auszuführen?

Wäre eine Lösung, wenn nicht weiter unten im Code dann wieder optionale Sprachausgaben folgen würden.

PsychoD

Zitat von: chunter1 am 01 September 2016, 17:00:17
Kurze Frage...

Wenn ich folgenden Code verwende, spricht er nur die erste und manchmal die letzte Zeile.
Was mach ich denn da falsch?
Muss ich zwischen den Zeilen eine Wartebedingung einfügen die prüft, ob der Player fertig ist?
Aber dadurch würde dann FHEM hängen?


if (...) {
  fhem("set MyTTS tts Guten Morgen.");
  fhem("set MyTTS tts Es gibt Stau.");
  fhem("set MyTTS tts Zeitverlust zirka $valDelay Minuten.");
}


Hi,
ist nicht getestet, aber ich glaube du kannst das so lösen:


fhem("sleep 5;;set tts Türöffnung bei Abwesenheit. Alarm ausgelöst.");;\
fhem("sleep 15;;set tts Türöffnung bei Abwesenheit. Alarm ausgelöst.");;\


Viele Grüße

Ellert

Zitat von: chunter1 am 01 September 2016, 20:56:36
Wäre eine Lösung, wenn nicht weiter unten im Code dann wieder optionale Sprachausgaben folgen würden.

Ich baue den Text vollständig zusammen und spiele ihn erst dann ab, das gibt dann auch eine flüssige Ausgabe. Diese Verfahrensweise wurde hier im Thread schon mehrfach empfohlen.

Hollo

Zitat von: Ellert am 01 September 2016, 23:32:12
Ich baue den Text vollständig zusammen und spiele ihn erst dann ab...
Mach ich auch so.  :)
Mit mehreren Ausgaben hintereinander bin ich auch schon "auf die Nase gefallen".
Da läuft dann noch die eine "Abfrage", und wird schon von der nächsten "überschrieben".
Ich hab da irgendwie noch im Hinterkopf, dass der Punkt auch eine Trennung bzw. Ende des Sprachkommandos darstellt.  :-\
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"