Neues Modul: Text2Speech

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

Vorheriges Thema - Nächstes Thema

marvin78

Dass es an mplayer liegt, ist klar. Trotzdem könnte man das im Modul abfangen. Soll keine Kritik am Modul sein, es lässt sich ja lösen.

Tobias

Normalerweise arbeitet das Modul mit einer internen Queue die genau dafür da ist. Warum es hier nicht funktioniert weiß ich auch nicht. Diesen extremen testfall hatte ich nicht geprüft.

Gesendet von meinem ALCATEL ONE TOUCH 997D 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

marvin78

Mag sein aber schon 2 Nachrichten funktionieren nur manchmal.

Tobias

Workaround ist erstmal wirklich den Text String vorher fertig zusammen zu bauen. Zur Zeit komme ich nicht zum bugfixing. Oder du schickst mir einen Patch wo der Fehler beseitigt ist :)

Gesendet von meinem ALCATEL ONE TOUCH 997D 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

marvin78

Naja wie gesagt, ich will das nicht kritisieren. Für mich ist das so völlig ok und es kann so bleiben, wie es ist, da ich mir zum zusammensetzen ohnehin meine eigene sub gebaut habe. Ich wollte dem fragenden User nur die Ursache seines Problems erklären ;)

daschauher

Danke für die ausführliche Erklärung.
Ich bin zufrieden wenn es funktioniert. Und das tut es wirklich super mit der Lösung von marvin78.
Danke!

Der Post #278 von ChristianS ist hier durch meine Frage etwas untergegangen.
Vielleicht könnt ihr ihm auch weiterhelfen?

Grüsse

ergerd

Hallo zusammen,

ich habe seit längerem mal wieder ein Update gemacht und bekomme jetzt bei der Definition von Text2Speech

define MyTTS Text2Speech 192.168.48.53:7082

folgenden Fehler:


2015.01.25 19:28:01 1: PERL WARNING: Prototype after '@' for main::Text2Speech_SplitString : @$$$$ at /usr/local/FHEM/share/fhem/FHEM/98_Text2Speech.pm line 451.
2015.01.25 19:28:01 1: reload: Error:Modul 98_Text2Speech deactivated:
Can't locate MP3/Info.pm in @INC (@INC contains: ./FHEM/lib ./lib /usr/local/perl/lib/site_perl/5.16.0/armv5tel-linux /usr/local/perl/lib/site_perl/5.16.0 /usr/local/perl/lib/5.16.0/armv5tel-linux /usr/local/perl/lib/5.16.0 . /usr/local/FHEM/share/fhem/FHEM) at /usr/local/FHEM/share/fhem/FHEM/98_Text2Speech.pm line 528.
BEGIN failed--compilation aborted at /usr/local/FHEM/share/fhem/FHEM/98_Text2Speech.pm line 528.


Info.pm ist aber im Verzeichnis FHEM/lib/MP3 vorhanden.

Fehlt mir etwas, ein Modul o.ä.?

Grüße
Rainer
FHEM auf RasPi 4, ZigBee, 1Wire2WLAN, DS2423, Buderus KM200, Button+, LaCrosseGateway, PCA301, ConBee III, LuftdatenInfo, OneWireGW, Div. ESPs u. Shellys

Kuzl

#292
Hallo Zusammen,

ich versuche gerade das modul auf meinem Ubuntu-rechner ans laufen zu bekommen. Der sound soll über HDMI ausgegeben werden. Wenn ich den Befehl als meinen Standard-User ausführe funktioniert es auch schon. als User fhem kommt immer eine Fehlermelduung über fehlende berechtigungen, obwohl ich mplayer in visudo hinzugefügt habe wie im wiki beschrieben. Kann mir jemand helfen?

hier die komplette rückgabe des befehls:

Zitat
kuzl@zbox:/opt/fhem$ sudo -u fhem sudo /usr/bin/mplayer   -nolirc -noconsolecontrols cache/598d4c200461b81522a3328565c25f7c.mp3
MPlayer 1.1-4.8 (C) 2000-2012 MPlayer Team

Playing cache/598d4c200461b81522a3328565c25f7c.mp3.
libavformat version 54.20.4 (external)
Mismatching header version 54.20.3
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 54.35.0 (external)
AUDIO: 16000 Hz, 1 ch, floatle, 32.0 kbit/6.25% (ratio: 4000->64000)
Selected audio codec: [ffmp3float] afm: ffmpeg (FFmpeg MPEG layer-3 audio)
==========================================================================
Home directory not accessible: Permission denied
AO: [pulse] Init failed: Connection refused
Failed to initialize audio driver 'pulse'
Home directory not accessible: Permission denied
AO: [alsa] 48000Hz 1ch floatle (4 bytes per sample)
Video: no video
Starting playback...
A:   0.5 (00.5) of 0.7 (00.6)  0.8%


Exiting... (End of file)


EDIT: Gerade festgestellt es geht auch bei meinem normalen user mit "sudo" nicht

EDIT2: Mitlerweile hab ich es herausgefunden. Es lag daran, dass Pulseaudio standardmäßig nur für den eingeloggten user zugänglich ist und dadurch fhem natürlich nicht zugreifen lies. Ich habe dann Pulseaudio als systemweiten Dienst eingestellt und schon gings :)

Navigator

...ich wollte gerade das Mapping Attribut löschen. Jedoch habe ich vorher die MP3 Dateien in /templates entfernt. Dann bekommt man in FHEM auch eine Fehlermeldung und das Attribut wird nicht gelöscht. Nachdem ich einen neue Datei gleichen Namens angelegt habe klappts wieder.
Gruß aus Sachsen. FHEM auf Cubietruck. Vormals EZControl XS1 User.

spiedo

Hi Tobias,

Dein Modul funktioniert tadellos. Zwei kleine Wünsche bzw. Fragen hätte ich dazu:

- Könnte man bei der Eingabe der MP3-Files die Extension .mp3 optional machen?

- Zur Steuerung des angeschlossenen Verstärkers würde ich zum Stromsparen ein Status-Signal brauchen, um den Verstärker aus dem Stand Bye zu  wecken. Der Status (z.B. on/off) sollte um paar ms zeitiger/später anliegen.


Ciao Spiedo

Tobias

Es gibt ein neues Reading zur Anzeige, wie lange das folgende/aktuelle MP3 benötigt. Ev. kannst du darauf reagieren.

Warum sollte .mp3 optional sein? Kannst du doch automatisiert hinten anhängen?
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

spiedo

Hi Tobias,

Zitat von: Tobias am 01 Februar 2015, 13:25:50
Es gibt ein neues Reading zur Anzeige, wie lange das folgende/aktuelle MP3 benötigt. Ev. kannst du darauf reagieren.

Schaue ich mal mir an.

Zitat von: Tobias am 01 Februar 2015, 13:25:50
Warum sollte .mp3 optional sein? Kannst du doch automatisiert hinten anhängen?

ich habe schon paarmal vergessen .mp3 mit einzugeben. Da zwischen den Doppelpunkten nur MP3-Files eingegeben werden, könnte doch die Extension wegfallen.

Wie funktioniert das "automatisiert hinten anhängen"?

Ciao spiedo

Navigator

Kann mir jemand einen Tipp geben bezüglich der Mickeymousstimme bei Sprachausausgabe mit vorangestellter mp3 Datei? Ich dachte das hier schon mal gelesen zu haben.

Gruß aus Sachsen. FHEM auf Cubietruck. Vormals EZControl XS1 User.

Tobias

Nicht ganz sauber schaut der Textbaustein #0 aus, ein Array hat da nix zu suchen. Wo kommt der her??

Wird deine einleitung.mp3 ausgegeben?? Normalerweise sollte dort noch ein mp3wrap dazwischen kommen im Log um alles füssig in einer Ansage ohne Verzögerung auszugeben. Hast du mp3wrap eingeschaltet??
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

Navigator

#299
...mp3wrap ist installiert und eingeschaltet. manchmal kommt die einleitung doppelt, manchmal folgt der mikeystimme noch die richtige stimme. es ist irgendwie kein system drin. solo abgespielt funktioniert aber einleitung und ansage korrekt.

...falsches Array? ... wie kann ich das prüfen?

bei meinem hin und herprobiere hat ich auch mal ein..

PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Text2Speech.pm line 397.
Gruß aus Sachsen. FHEM auf Cubietruck. Vormals EZControl XS1 User.