Autor Thema: [Gelöst] Sonos Speak - Probleme bei Umlauten  (Gelesen 576 mal)

Offline tfriedrich85

  • Full Member
  • ***
  • Beiträge: 163
[Gelöst] Sonos Speak - Probleme bei Umlauten
« am: 15 August 2021, 22:00:34 »
Hallo zusammen,

ich nutze Sonos Speak schon mehrere Jahre und seit kurzem gibts neue Probleme:
  • Wie hier https://forum.fhem.de/index.php/topic,121192.0.html beschrieben ist die Stimme langsam und klingt sehr "künstlich" / gibts mittlerweile die Möglichkeit eine andere TTS Engine zu verwenden?
  • Beim Ausgeben von z.B. Wetteransagen kommt das Modul mit Umlauten nicht mehr klar. Beispiel: Ich lasse mir aus dem Modul Wetter die den Text zum aktuellen Wetter zusammenbauen https://wiki.fhem.de/wiki/SONOS und sobald im Text ein Umlaut vorkommt, wird der gesamte Text nahezu unverständlich.
    Frage: Wisst ihr wie man bei einem Text string die Umlaute jeweils durch ae oe oder ue ändert? Das würde mir schon helfen, denn oe wird durch Sonos Speak als ö ausgesprochen.
Danke
« Letzte Änderung: 17 August 2021, 10:21:13 von tfriedrich85 »

Offline Maui

  • Sr. Member
  • ****
  • Beiträge: 701
Antw:Sonos Speak - Probleme bei Umlauten
« Antwort #1 am: 16 August 2021, 17:25:51 »
Ich hab grad mal den Standard bei Speak (google) getestet und ja, das ist wirklich schrecklich :D
Hab jetzt nicht weiter geguckt, aber gefühlt wird google da was umgestellt haben.
Ich würde einfach auf espeak bzw. gleich auf pico2wave umstellen, dann hast du auch gleich eine Offline-Fähigkeit, was in manchen Fällen sehr praktisch sein kann (in meinem Fall zb. wenn das Internet ausfällt kommt so trotzdem noch die Meldung, dass es weg ist und wann es wieder da ist)
EDIT: Das mit den Umlauten liegt wohl an dem Sonos Modul, also an dem Umgang mit dem Text für die URL.
Mit pico2wave ist das aber auch kein Problem, da du ja lokal den Text auf deinem Rechner erstellst.
« Letzte Änderung: 16 August 2021, 17:44:24 von Maui »

Offline Jamo

  • Hero Member
  • *****
  • Beiträge: 1407
Antw:Sonos Speak - Probleme bei Umlauten
« Antwort #2 am: 16 August 2021, 19:34:42 »
Hallo Friedrich,
das gehts so. In der 99_MyUtils.pm, in der subroutine, wo Du den Wettertext zusammenbaust:
$wettertext enthaelt dabei die Sprachausgabe, die Du nachher mit speak über Sonos ausgeben willst.
Hier werden alle umlaute in wettertext durch ae/ue/usw ersetzt.
my %umlaute    = ("ä" => "ae", "Ä" => "Ae", "ü" => "ue", "Ü" => "Ue", "ö" => "oe", "Ö" => "Oe", "ß" => "ss");
my $umlautkeys = join ("|", keys(%umlaute));
$wettertext=~ s/($umlautkeys)/$umlaute{$1}/g;
Linux Debian, Homematic (UART/HMUSB), HUEBridge, Zigbee, FB, Alexa (fhem-lazy), livetracking, fhemApp Frontend für FHEM

Offline Maui

  • Sr. Member
  • ****
  • Beiträge: 701
Antw:Sonos Speak - Probleme bei Umlauten
« Antwort #3 am: 16 August 2021, 21:48:20 »
Alternativ kannst du das Modul auch ein wenig anpassen.
Wenn du aus Zeile 4584 folgendes änderst, von
my $url = sprintf(SONOS_Client_Data_Retreive('undef', 'attr', 'SpeakGoogleURL', $SONOS_GOOGLETRANSLATOR_URL), SONOS_URI_Escape(lc($language)), SONOS_URI_Escape($text));
in
my $url = sprintf(SONOS_Client_Data_Retreive('undef', 'attr', 'SpeakGoogleURL', $SONOS_GOOGLETRANSLATOR_URL), SONOS_URI_Escape(lc($language)), SONOS_URI_Escape(SONOS_Latin1ToUtf8($text)));
Dann gehen Umlaute ohne das du den Text anpassen musst.

Offline tfriedrich85

  • Full Member
  • ***
  • Beiträge: 163
Antw:Sonos Speak - Probleme bei Umlauten
« Antwort #4 am: 17 August 2021, 10:20:50 »
Alternativ kannst du das Modul auch ein wenig anpassen.
Wenn du aus Zeile 4584 folgendes änderst, von
my $url = sprintf(SONOS_Client_Data_Retreive('undef', 'attr', 'SpeakGoogleURL', $SONOS_GOOGLETRANSLATOR_URL), SONOS_URI_Escape(lc($language)), SONOS_URI_Escape($text));
in
my $url = sprintf(SONOS_Client_Data_Retreive('undef', 'attr', 'SpeakGoogleURL', $SONOS_GOOGLETRANSLATOR_URL), SONOS_URI_Escape(lc($language)), SONOS_URI_Escape(SONOS_Latin1ToUtf8($text)));
Dann gehen Umlaute ohne das du den Text anpassen musst.

Hallo Leute,

Ich habe beide Lösungsmöglichkeiten getestet, sie funktionieren super!
Danke euch!

Offline MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 10938
  • NIVEAu ist keine Creme...
Antw:Sonos Speak - Probleme bei Umlauten
« Antwort #5 am: 17 August 2021, 11:00:26 »
Hallo Leute,

Ich habe beide Lösungsmöglichkeiten getestet, sie funktionieren super!
Danke euch!

Dann nicht vergessen: exclude_from_pdate ;)

Oder: immer wieder nachpatchen (bis es evtl. übernommen wurde)...

Gruß, Joachim
FHEM PI3B+ Buster: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)
FHEM PI3 RaspiOS (Test)

Offline Maui

  • Sr. Member
  • ****
  • Beiträge: 701
Antw:[Gelöst] Sonos Speak - Probleme bei Umlauten
« Antwort #6 am: 17 August 2021, 11:03:08 »
Hab schon im sonos-thread nen patch zur Verfügung gestellt aber der Maintainer scheint nicht mehr sehr aktiv zu sein