[Gelöst] Text2Speech Problem

Begonnen von pi-user, 07 Juni 2017, 10:06:25

Vorheriges Thema - Nächstes Thema

pi-user

Hallo zusammen,

ich benutze mein Raspberry Pi mit der Soundkarte HiFiBerry Amp+. Es funktioniert sehr gut. Jetzt möchte ich gerne unter Fhem Text2Speech verwenden. Ich habe mir auch den Link: https://wiki.fhem.de/wiki/Text2Speech angeschaut und alle Pakete installiert, die notwendig waren. Es funktioniert leider nicht. Es kommt kein Ton raus!

pi@box ~ $ aplay -l
**** Liste der Hardware-Geräte (PLAYBACK) ****
Karte 0: sndrpihifiberry [snd_rpi_hifiberry_amp], Gerät 0: HifiBerry AMP HiFi tas5713-hifi-0 []
  Sub-Geräte: 0/1
  Sub-Gerät #0: subdevice #0


Fhem Logdatei:

2017.06.06 19:56:03 4: MyTTS: Auflistung der Textbausteine nach Aufbereitung:
2017.06.06 19:56:03 4: MyTTS: 0 => Das ist ein Test.
2017.06.06 19:56:03 4: MyTTS: 1 => Jetzt pruefen wir, ob wir etwas aus dem angeschlossenen Lautsprecher hoeren.
2017.06.06 19:56:03 4: MyTTS: 2 => Beim ersten Mal haben wir allerdings noch Sprechpausen.
2017.06.06 19:56:03 4: MyTTS: 3 => Spaetestens beim zweiten Durchlauf ist der Textfluss fluessiger.
2017.06.06 19:56:03 4: Verwende TTS Spracheinstellung: Deutsch
2017.06.06 19:56:03 4: Text2Speech: Textbaustein ist keine direkte MP3 Datei, ermittle MD5 CacheNamen: 5e9ab716ca34e426196ac0499f6c17d9.mp3
2017.06.06 19:56:03 4: Text2Speech: Textbaustein ist keine direkte MP3 Datei, ermittle MD5 CacheNamen: d9f755bebf4c139cd62bc78d65e6c32d.mp3
2017.06.06 19:56:03 4: Text2Speech: Textbaustein ist keine direkte MP3 Datei, ermittle MD5 CacheNamen: c4ce5e10c70472c250878fad8d88d90c.mp3
2017.06.06 19:56:03 4: Text2Speech: Textbaustein ist keine direkte MP3 Datei, ermittle MD5 CacheNamen: 4ca5f97110481a453fbc512e3a4b48b3.mp3
2017.06.06 19:56:03 4: Text2Speech: Bearbeite per MP3Wrap jetzt den Text: Das ist ein Test. Jetzt pruefen wir, ob wir etwas aus dem angeschlossenen Lautsprecher hoeren. Beim ersten Mal haben wir allerdings noch Sprechpausen. Spaetestens beim zweiten Durchlauf ist der Textfluss fluessiger.
2017.06.06 19:56:03 4: Text2Speech_CalcMP3Duration: cache/2c26d04638370e8efd5ae7da49d5b291_MP3WRAP.mp3 hat eine Länge von 16 Sekunden.
2017.06.06 19:56:03 4: Text2Speech:/usr/bin/mplayer -ao alsa:device=hw=0.0  -nolirc -noconsolecontrols cache/2c26d04638370e8efd5ae7da49d5b291_MP3WRAP.mp3
Cannot find HOME directory.
MPlayer2 2.0-728-g2c378c7-4+b1 (C) 2000-2012 MPlayer Team
Terminal type `unknown' is not defined.

Playing cache/2c26d04638370e8efd5ae7da49d5b291_MP3WRAP.mp3.
Detected file format: MP2/3 (MPEG audio layer 2/3) (libavformat)
[mp3 @ 0x75beb5b8]max_analyze_duration 5000000 reached
[mp3 @ 0x75beb5b8]Estimating duration from bitrate, this may be inaccurate
[lavf] stream 0: audio (mp3), -aid 0
Clip info:
track: 04
encoded_by: Mp3Wrap  v.  0.5
album: http://mp3splt.sourceforge.net
artist: File wrapped with Mp3Wrap
title: Use Mp3Splt to obtain original tracks
Load subtitles in cache/
Selected audio codec: MPEG 1.0/2.0/2.5 layers I, II, III [mpg123]
AUDIO: 24000 Hz, 2 ch, s16le, 32.0 kbit/4.17% (ratio: 4000->96000)
[AO_ALSA] alsa-lib: pcm_hw.c:1667:(_snd_pcm_hw_open) Invalid value for card
[AO_ALSA] Playback open error: No such file or directory
Failed to initialize audio driver 'alsa:device=hw=0.0'
Could not open/initialize audio device -> no sound.
Audio: no sound
Video: no video


Exiting... (End of file)


In der Logdatei steht, dass die Soundkarte nicht gefunden werden kann oder?

Vielen Dank im Voraus.

Otto123

Hi,

das Problem hatten wir schon mal, der HiFi spielt leider die "schlechten" MP3 von Google nicht ab.

Suche mal im Forum, da gab es schon einen Thread...

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

pi-user

Danke, ich werde nachschauen.

Habe ich richtig verstanden, dass Text2Speech abhängig von Google ist? Verwendet Text2Speech Google, um Texte in mp3 zu konvertieren?

Otto123

#3
Per Default ja, Du  kannst aber andere Speech Module einbinden, die sind dann eventuell kostenpflichtig.
Am Besten auch die Doku lesen -> https://fhem.de/commandref_DE.html#Text2Speech  8)

BTW: Meine Antwort war ein Schnellschuss mit dem Wissen im Hinterkopf...

Vielleicht ist wirklich auch noch etwas nicht konfiguriert. Du kannst das ganze auch einfach mit mplayer in der Kommandzeile testen. Also mit einer anderen MP3
Es gibt jede Menge Unwegsamkeiten bis der Ton kommt :)

Ich denke das Alsadevice stimmt noch nicht, aber am Ende ist es egal, der HiFi Anschluss wird die "Text" MP3 nicht wiedergeben wegen zu geringer Datenrate oder so.

Ich habe den Artikel gefunden  8) -> https://forum.fhem.de/index.php?topic=18481.750

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

Wernieman

Was mich wundert ist folgende Meldung:
"Cannot find HOME directory."

Kannst Du mal als User fhem probieren, Ton abzuspielen?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Otto123

Zitat von: Wernieman am 07 Juni 2017, 11:34:20
Kannst Du mal als User fhem probieren, Ton abzuspielen?
Hallo Werner,

das Log ist doch aber von FHEM, damit ist es doch quasi die Ausgabe die der user fhem bekommt.

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

pi-user

#6
Also, ich habe es direkt in der Konsole (Putty) getestet. Mit dem User Pi kann ich eine mp3 Datei abspielen, aber mit dem User fhem bekomme ich wieder folgende Meldung:

fhem@box:~$ mplayer -ao alsa:device=hw=0.0  -nolirc -noconsolecontrols Datei.mp3
Creating config file: /opt/fhem/.mplayer/config
MPlayer2 2.0-728-g2c378c7-4+b1 (C) 2000-2012 MPlayer Team
Cannot open file '/opt/fhem/.mplayer/input.conf': No such file or directory
Failed to open /opt/fhem/.mplayer/input.conf.
Cannot open file '/etc/mplayer/input.conf': No such file or directory
Failed to open /etc/mplayer/input.conf.

Playing /mp3/Datei.mp3.
Detected file format: MP2/3 (MPEG audio layer 2/3) (libavformat)
[mp3 @ 0x75b3a5b8]max_analyze_duration 5000000 reached
[lavf] stream 0: audio (mp3), -aid 0
Clip info:
encoder: Lavf56.11.100
Load subtitles in /mp3
Selected audio codec: MPEG 1.0/2.0/2.5 layers I, II, III [mpg123]
AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400)
[AO_ALSA] alsa-lib: pcm_hw.c:1557:(snd_pcm_hw_open) open '/dev/snd/pcmC0D0p' failed (-16): Device or resource busy
[AO_ALSA] Playback open error: Device or resource busy
Failed to initialize audio driver 'alsa:device=hw=0.0'
Could not open/initialize audio device -> no sound.
Audio: no sound
Video: no video

Exiting... (End of file)


Der User Pi hat den Ordner .mplayer. Soll ich diesen Ordner nach /opt/fhem/ kopieren?

Otto123

Hi,

eigentlich braucht er das mit dem Ordner .mplayer nicht unbedingt. Also das ist nicht das eigentliche Problem.

Ist user fhem Mitglied der Gruppe Audio? sudo usermod -aG audio fhem

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

pi-user

fhem@box:~$ groups
dialout tty sudo audio video


Ich habe das Gefühl, dass das Ganze an eine Kleinigkeit liegt! Es kann sein, dass eine Berechtigung fehlt, aber welche?

pi-user

Ich habe gerade folgendes festgestellt:

Wenn ich die Parametern beim mplayer weg lasse, dann kann der User fhem eine mp3 Datei abspielen!

So funktioniert es! Hä!

fhem@box:~$ mplayer  Datei.mp3

Otto123

#10
Ja es wird ein Recht sein, am Sounddevice.

Du hast das ganze neu gestartet nach dem Du fhem in die Gruppe audio aufgenommen hast?

Edit: Änder doch mal die DEF - in der Art also ohne hw=0.0
define MyTTS Text2Speech default

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

Wernieman

@Otto

Mir war klar, das es eine Log-Ausgabe von FHEM ist. Aber genau deshalb wollte ich es vereinfachen .. und wie wir sehen ...

Ich denke gerade an etwas anderes, könntest Du bitte mal die Berechtigung Deines FHEM-Ordners prüfen? (Und gucken, wo das Home-Device Deines fhem-Users ist)

grep fhem /etc/passwd
ls -lhad /opt/fhem
id


Das letzte (id) bitte als User fhem ausführen
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

pi-user

grep fhem /etc/passwd

fhem:x:999:20::/opt/fhem:/bin/bash

ls -lhad /opt/fhem

drwxrwxrwx 18 fhem dialout 4,0K Jun  7 12:13 /opt/fhem

id

uid=999(fhem) gid=20(dialout) Gruppen=20(dialout),5(tty),27(sudo),29(audio),44(video)

Wernieman

Zitat27(sudo),44(video)

Braucht fhem wirklich sudo und video rechte?

Ansonsten sieht es eigentlich gut aus .... außer, das Du dem FHEM-Ordner wirklich superviele rechte gegeben hast .....
Mache bitte mal das gleiche ohne "d"
ls -lha /opt/fhem
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

pi-user

pi@box ~ $ ls -lha /opt/fhem
insgesamt 488K
drwxrwxrwx 17 fhem dialout 4,0K Jun  8 09:07 .
drwxr-xr-x  6 root root    4,0K Feb  9 16:21 ..
drwxr-xr-x  2 fhem dialout  12K Jun  7 22:01 backup
drwxr-xr-x  2 fhem dialout 4,0K Jun  7 15:43 backup_cfg-state
-rw-------  1 fhem dialout 3,9K Jun  7 16:02 .bash_history
drwxr-xr-x  2 fhem dialout 4,0K Jun  7 10:10 cache
drwx--x--x  2 fhem dialout 4,0K Jan 26  2016 certs
-rw-r--r--  1 fhem dialout 196K Jun  4 18:46 CHANGED
drwx------  4 fhem dialout 4,0K Jun  6 19:44 .config
-rw-rw-rw-  1 fhem dialout  36K Mai 21 18:59 configDB.pm
drwxrwxrwx 39 fhem dialout 4,0K Nov  7  2016 contrib
drwxrwxrwx  3 fhem dialout 4,0K Jan 25  2016 demolog
drwxr-xr-x  2 pi   pi      4,0K Feb 19 14:03 doc
drwxrwxrwx  4 fhem dialout 4,0K Jan 25  2016 docs
drwxrwxrwx  5 fhem dialout  20K Jun  4 18:46 FHEM
-rw-r--r--  1 fhem dialout  24K Jun  7 15:53 fhem.cfg
-rwxrwxrwx  1 fhem dialout 132K Mai 24 20:41 fhem.pl
drwxrwxrwx  2 fhem dialout 4,0K Jun  3 19:15 log
-rw-rw-rw-  1 fhem dialout  935 Nov 15  2015 README_DEMO.txt
drwxr-xr-x  5 fhem dialout 4,0K Jun  4 18:46 restoreDir
drwxr-xr-x  2 fhem dialout 4,0K Feb 11  2016 unused
drwxrwxrwx 11 fhem dialout 4,0K Mai  7 15:55 www
drwxr-xr-x  3 fhem dialout 4,0K Feb  9 16:24 .yowsup


>Braucht fhem wirklich sudo und video rechte?
Es gibt einen Grund, dass ich diese Rechte vergeben habe. Ich weiß es nicht mehr genau, aber das hat mit dem Ausführen der Skripte auf dem System zutun.

Jetzt ist nur die Frage: warum kann der User fhem mplayer nicht mit Parametern ausführen?? Das gibt's doch gar nicht!