Neues Modul: Text2Speech

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

Vorheriges Thema - Nächstes Thema

WarLord

kann man irgendwie bei dem Modul die Sprache ändern? Das es nicht die deutsche sonder zB die schwedische stimme nimmt?
FHEM auf RaspberryPi B+
HMLAN Adapter + Div HM Komponenten

Tobias

zur zeit noch nicht. Unterstützt Google überhaupt Schwedisch?
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

Tobias

gerade festgestellt das ich diese Version noch nicht eingecheckt habe... Mache ich nach meinem Urlaub....

Bzgl. MickeyMouse-Stimme... keine Ahnung. Kann ich nicht reproduzieren
Schwedisch? benötige ich den passenden Google Parameter "lang=???"
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

WarLord

Hi

Parameter wäre sv

ich find den dialekt toll, wenn die schwedische stimme deutsch spricht.

evtl könnte man das attribut "lang" über ein parameter selbst setzen?
FHEM auf RaspberryPi B+
HMLAN Adapter + Div HM Komponenten

TeeVau

@von xs1 nach FHEM

Bei mir läuft der code direkt so, als notify. Die Funktion stellt Fhem zur Verfügung.
Kannst du die Funktion denn direkt als Perl befehl in der fhem leiste ausführen?
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

Tobias

Habe mal das Attribut "TTS_Language" eingebaut. Bitte mal testen...
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

WarLord

Hi

ich habs etz mal getestet.

so hab ichs eingebunden:
attr MyTTS TTS_Language sv


Das kommt dabei raus:
2015.05.06 18:13:05 1: PERL WARNING: Use of uninitialized value within %language in concatenation (.) or string at ./FHEM/98_Text2Speech.pm line 623.
2015.05.06 18:13:05 1: PERL WARNING: Use of uninitialized value within %language in concatenation (.) or string at ./FHEM/98_Text2Speech.pm line 669.
2015.05.06 18:13:05 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Text2Speech.pm line 572.
2015.05.06 18:13:05 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Text2Speech.pm line 573.
2015.05.06 18:13:05 1: PERL WARNING: Use of uninitialized value $mp3Duration in string at ./FHEM/98_Text2Speech.pm line 520.
FHEM auf RaspberryPi B+
HMLAN Adapter + Div HM Komponenten

Tobias

kann mir den Fehler gerade nicht erklären da die Variablen beim Start initialisiert werden.
Kannst du bitte mal nach ModulImport FHEM nochmal neu starten??
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

WarLord

Nach neustart. (Hatte ich zwar gemacht, aber evtl hat sich doch was verhaspelt)

2015.05.07 18:04:09 1: PERL WARNING: Use of uninitialized value within %language in concatenation (.) or string at ./FHEM/98_Text2Speech.pm line 623.



der befehl mit dem ichs probiert habe:

set MyTTS tts Hallo! Ich hoffe dein Tag war schön
FHEM auf RaspberryPi B+
HMLAN Adapter + Div HM Komponenten

Toto1973

Das Feature ist der Hammer!  ;D
Da kann man schöne Spielereien mit anstellen!
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

Navigator

hmmm, die Perl Warnings habe ich auch schon ne Weile, obwohls funktioniert.

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

Tobias

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

hexenmeister

Zitat von: Tobias am 17 Mai 2015, 13:37:47
Jetzt endlich committed.

Hallo!
Habe heute upgedated. Seit dem werden MP3-Dateien nicht mehr wiedergegeben, sondern die Namen vorgelesen:
set tts tts ":sonar-ping0.mp3:"
Log:
2015.05.21 19:10:29 4: tts: Auflistung der Textbausteine nach Aufbereitung:
2015.05.21 19:10:29 4: tts: 0 => "
2015.05.21 19:10:29 4: tts: 1 => sonar-ping0.
2015.05.21 19:10:29 4: tts: 2 => mp3
2015.05.21 19:10:29 4: tts: 3 => "
2015.05.21 19:10:29 4: Verwende TTS Spracheinstellung: Deutsch
2015.05.21 19:10:29 4: Text2Speech: Bearbeite per MP3Wrap jetzt den Text: " sonar-ping0. mp3 "
2015.05.21 19:10:29 4: Text2Speech: mp3wrap cache/1a4b0ca63ad1fab9ab40d064d12dec45.mp3 cache/2b37e2c7bcc98fb6f9d832187166b505.mp3 cache/393d8b5f391d81951979b1dfeab1a9ac.mp3 cache/81245759aed4c728b979f83378c81be4.mp3 cache/2b37e2c7bcc98fb6f9d832187166b505.mp3
2015.05.21 19:10:30 4: Text2Speech_CalcMP3Duration: cache/1a4b0ca63ad1fab9ab40d064d12dec45_MP3WRAP.mp3 hat eine Länge von 3 Sekunden.
2015.05.21 19:10:30 4: Text2Speech:sudo /usr/bin/mplayer   -nolirc -noconsolecontrols -softvol -softvol-max 110 -volume 40 cache/1a4b0ca63ad1fab9ab40d064d12dec45_MP3WRAP.mp3
2015.05.21 19:10:30 4: Text2Speech_readingsSingleUpdateByName: Dev:tts Reading:duration Val:3
2015.05.21 19:10:30 4: Text2Speech_readingsSingleUpdateByName: Dev:tts Reading:endTime Val:00:00:00

List:
fhem> l tts
Internals:
   ALSADEVICE none
   DEF        none
   MODE       DIRECT
   NAME       tts
   NR         1259
   STATE      Initialized
   TYPE       Text2Speech
   VOLUME     40
   Readings:
     2015-05-21 19:10:30   duration        3
     2015-05-21 19:10:30   endTime         00:00:00
     2015-05-21 19:04:02   volume          40
   Helper:
     Text2Speech:
Attributes:
   TTS_Ressource Google
   TTS_UseMP3Wrap 1
   alias      Sprachausgabe
   group      HumanInterface
   icon       audio_audio
   room       IO_Devices
   verbose    5


Nachdem ich die alte Version ($Id: 98_Text2Speech.pm 7588 2015-01-16 17:32:08Z tobiasfaust $) zurückgespielt habe, geht alles wieder richtig.
Log dazu:
2015.05.21 19:09:32 4: tts: Angabe einer direkten MP3-Datei gefunden:  sonar-ping0.mp3 => FileTpl_143222817265024_#0
2015.05.21 19:09:32 4: tts: Auflistung der Textbausteine nach Aufbereitung:
2015.05.21 19:09:32 4: tts: 0 => "
2015.05.21 19:09:32 4: tts: 1 => templates/sonar-ping0.mp3
2015.05.21 19:09:32 4: tts: 2 => "
2015.05.21 19:09:32 4: Text2Speech: Bearbeite per MP3Wrap jetzt den Text: " templates/sonar-ping0.mp3 "
2015.05.21 19:09:32 4: Text2Speech_CalcMP3Duration: cache/bbc2da0fd12f2f7cb5be7f2399556697_MP3WRAP.mp3 hat eine Länge von 4 Sekunden.
2015.05.21 19:09:32 4: Text2Speech:sudo /usr/bin/mplayer   -nolirc -noconsolecontrols -softvol -softvol-max 110 -volume 40 cache/bbc2da0fd12f2f7cb5be7f2399556697_MP3WRAP.mp3
2015.05.21 19:09:32 4: Text2Speech_readingsSingleUpdateByName: Dev:tts Reading:duration Val:4
2015.05.21 19:09:32 4: Text2Speech_readingsSingleUpdateByName: Dev:tts Reading:endTime Val:00:00:00


Wäre schön, wenn die Ausgabe wieder korrekt ginge ;)
Kann ich noch etwas beitragen/testen?

Danke und Grüße,

Alexander

Tobias

keine Ahnung warum perl folgendes nicht kennt: /:([\w]+.mp3):/g
dieses aber schon:
/:([^:]+.mp3):/g

Hier ein aktualisiertes Modul: bitte mal testen
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

hexenmeister

Zitat\w stands for "word character", usually [A-Za-z0-9_]. Notice the inclusion of the underscore and digits.
Ich denke, hier ist Minus-Zeichen das Problem.

Danke für schnelle Lösung, werde heute Abend testen, wenn ich wieder zuhause bin.