Neues Modul: Text2Speech

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

Vorheriges Thema - Nächstes Thema

JensS

Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

Tobias

ich habe eben noch das Beispiel mit MaryTTS und SSML in die Readme hinzugefügt.
https://github.com/tobiasfaust/MyFHEM/tree/master/FHEM
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

Ellert

#1232
Zitat von: Tobias am 16 März 2024, 08:14:45@Ellert, es wäre super wenn du als Basis immer den aktuellen Stand aus dem Git nimmst
@Tobias:
Mache ich das nächste Mal, bin davon ausgegangen, dass Du noch nichts übernommen hast, weil es hier keine Rückmeldung gab zur Datei aus #1219.

Es gibt ein Reading 'endTime'  das keine weitere Funktion zu haben scheint, es wird immer auf 00:00:00 gesetzt.
Es wird nur in der Sub Text2Speech_BuildMplayerCmdString (Zeile 827) verwendet.
BlockingInformParent("Text2Speech_readingsSingleUpdateByName", [$hash->{NAME}, "endTime", "00:00:00"], 0);
Kann das entfernt werden ?





Ellert

Ich möchte hier kurz feststellen, dass ich meinen Teil ausgiebig getestet habe und kein unerwünschtes Verhalten festgestellt habe.
Ich nutze das Modul aus dem GitHub im Wirkbetrieb.

Aus meiner Sicht könnte das Modul ins FHEM-Repo.

Tobias

@ellert: Hab ich rausgenommen
Werde den Stand die nächsten Tage ins FHEM-Repo einchecken
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

Ellert

@Tobias: Ich möchte Dich erinnern das Text2Speech Modul mit dem RemotePlayerCall einzuchecken.

Tobias

Hi,

Das hätte ich schon länger längst gemacht aber ich muss den fehlenden Abschlusstag noch finden. Vorher kann ich es nicht einchecken. Bin aber gerade im Urlaub. Steht noch auf meiner To-do Liste.
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

Beta-User

Hab's mir mal angesehen (letzte Fassung aus deinem contrib?), vermutlich ist in #1647 (ca.)
The Text2Speech devices provide a URL to the last generated mp3 file:<b>falsch, weil da eigentlich ein <br> am Ende stehen sollte?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Tobias

Hi,
ich konnte es nun einchecken. Bitte schaut mal ob es jetzt so passt
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

Ellert


Elektrolurch

Hallo Tobias,

den ganzen thread hier habe ich jetzt nicht verfolgt... Ich benutze das Modul jetzt schon seit einigen Jahren, habe aber jetzt eine weitere Anwendung hinzugenommen: Eine wav - Datei an die Apple Homepod's für das Ansagen von Meldungen zu schicken. Dabei habe ich das Modul etwas gründlicher getestet und mir ist da etwas aufgefallen:
1.  Wenn das Attribut TTS_OutputFile  gesetzt ist, wird kein event mehr für das reading lastFilename  generieert.
2.  Ich nutze das Attribut TTS_SentenceAppendix.  Ich hätte erwartet, dass das File dann im Verzeichnis TTS_FileTemplateDir  gesucht wird, tatsächlich sucht das Modul aber im Verzeichnis TTS_CacheFileDir. Da ist die Doku auch nicht ganz stimmig. Leider kann man auch keinen vollständigen Pfad für das Attribut angeben.
3.  Wenn TTS_TimeOut  erreicht wird, weil z.B. die Internet - Verbinung nicht ok ist, wird der request ja mit der Funktion Text2Speech_AbortFn abgebrochen. Dann passiert es jedoch, das bei einem erneuten Aufruf des Moduls der neue Text an die alten Teile hinten angefügt wird.  Da gibt es intern ein array (Text2Speech?), in dem die übersetzten Texteile vermerkt werden. Bei Abbruch wird dieses array nicht gelöscht. Das müsste noch in die abortFN eingefügt werden.

Gruß


Elektrolurch
configDB und Windows befreite Zone!

Elektrolurch

Habe da noch einen Fehler gefunden:
Nach einem Neustart ist das Attribut TTS_SentenceAppendix  verschwunden.
Das liegt daran, dass es nach einem Neustart nicht gesetzt werden kann, da u.U. die anderen Attribute, wie cache_dir oder template_dir ja noch nicht eingelesen wurden und somit die Existenz der appendix - Datei nicht korrekt geprüft werden kann.
Siehe Anfang der sub Text2Speech_attr:
 

sub Text2Speech_Attr(@) {
  my @a = @_;
  my $do = 0;
  my $hash = $defs{$a[1]};
  my $value = $a[3];

# nach einem Neustart noch gar nicht vorhanden!!!!!!
  my $TTS_FileTemplateDir = AttrVal($hash->{NAME}, "TTS_FileTemplateDir", "templates");
  my $TTS_CacheFileDir = AttrVal($hash->{NAME}, "TTS_CacheFileDir", "cache");
  my $TTS_FileMapping  = AttrVal($hash->{NAME}, "TTS_FileMapping", ""); # zb, silence:silence.mp3 ring:myringtone.mp3;
  my $TTS_AWS_HomeDir = AttrVal($hash->{NAME}, "TTS_AWS_HomeDir", "/home/fhem");


Gruß

Elektolurch
configDB und Windows befreite Zone!

cocojambo

Hallo Tobias,
ich muß mich auch mal bei dir melden.
Nachdem ich schon einen Thread aufgemacht hatte unter " Absturz von FHEM nach dem letzten Update und anschließender Eingabe von "rereadcfg" und es keinen Lösungsansatz gab, habe ich ich mich in "Kleinarbeit" vertieft und nach der Datei gesucht, die nach dem Update den Absturz verursacht.
Dabei bin ich dann auf Text2Speech gekommen. Wenn ich die Version 25785 verwende und dann " rereadcfg" eingebe funktioniert es einwandfrei. Nach dem Update in die neue Version funktioniert die Eingabe nicht mehr und FHEM stürzt ab. Ich habe vorläufig erst mal Text2Speech vom Update ausgeschlossen. Ich hoffe du kannst den Fehler nachvollziehen und im nächsten Release berücksichtigen. Wenn du noch irgendwelche Angaben von mir brauchst, melde dich.
Gruß aus Köln
Norbert
FHEM6.2 FB7490 FB7430 3xraspi2+3+4 2xHM-LAN-CFG 2xESP CUL868 CUNO868 HUE-Bridge Harmony-Hub 5xHM-LC-Sw-PI-2 3xHM-WDS30-T2-SN 1xHM-LC_Sw4-DR 3xHM-ES-PMSw1-PI 7xFS20SIG2 6xFS20KSE 2xHM-ES-PMSW1-PL 5xS300TH 1xASH2200 1xEM1000