ChrisD70 / FHEM-Modules

3 stars 0 forks source link

Sonderzeichen für Google ersetzen #4

Open STT65 opened 3 months ago

STT65 commented 3 months ago

Hallo @ChrisD70 ,

In 98_SB_PLAYER.pm 0117 2024-04-19 22:00:00Z wurde die Zeile 3203 vermutlich versehentlich auskommentiert:

$w =~ s/($Sonderzeichenkeys)/$Sonderzeichen{$1}/g if(AttrVal( $name, "ttslink", "x" ) !~ m/voicerss/i); # CD 0045 Sonderzeichen für VoiceRSS nicht ersetzen

Das Ersetzen der Sonderzeichen ist für Google erforderlich.

Viele Grüße Stefan

ChrisD70 commented 3 months ago

Hallo,

Das wurde nach einigen Tests absichtlich so gemacht da das Ersetzen nicht mehr nötig ist, resp. zu teils falschen Texten führt. Im Commit ist dies auch so beschrieben.

Zum Testen verwende ich den Befehl:

set player1 talk Typisch fiese Kater würden Vögel bloß zum Jux quälen.

Daraus ergibt sich im Server die URL https://translate.google.com/translate_tts?ie=UTF-8&tl=de&q=Typisch+fiese+Kater+w%C3%BCrden+V%C3%B6gel+blo%C3%9F+zum+Jux+qu%C3%A4len.&client=tw-ob die korrekt wiedergegeben wird.

Grüße,

ChrisD

STT65 commented 3 months ago

Hallo ChrisD,

vielen Dank für deine Antwort. Ich habe mal deinen Test-Befehl in meinem Fhem ausgeführt. Leider erzeugt der 98_SB_PLAYER.pm bei mir eine andere URL als bei dir !? https://translate.google.com/translate_tts?ie=UTF-8&tl=de&q=Typisch%2Bfiese%2BKater%2Bw%C3%BCrden%2BV%C3%B6gel%2Bblo%C3%9F%2Bzum%2BJux%2Bqu%C3%A4len.&client=tw-ob

Meine Version: $Id: 98_SB_PLAYER.pm 0117 2024-04-19 22:00:00Z CD/MM/Matthew/Heppel $

LG, Stefan

ChrisD70 commented 3 months ago

Hallo,

Die URL ist eigentlich die Gleiche, bei dir sind die '+'-Zeichen durch %2B kodiert.

Ich habe eine neue Version von 98_SB_PLAYER erstellt die es erlaubt das Ersetzen der Umlaute über das Attribut ttsOptions zu aktivieren.

Wenn replacediacritics in ttsOptions gesetzt ist, werden die Umlaute unabhängig vom TTS-Dienst ersetzt. Kannst du testen ob damit das Problem behoben ist ?

Grüße,

ChrisD