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

Offline tfriedrich85

  • Full Member
  • ***
  • Beiträge: 164
[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: 702
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: 1459
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;
Inten NUC mit Linux Debian 10, Homematic (UART/HMUSB), HUEBridge, Zigbee, FB, Alexa (fhem-lazy), livetracking, fhemApp Frontend für FHEM

Offline Maui

  • Sr. Member
  • ****
  • Beiträge: 702
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: 164
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!

Online MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 11308
  • 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: 702
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

Offline shamal2008

  • Full Member
  • ***
  • Beiträge: 136
Antw:[Gelöst] Sonos Speak - Probleme bei Umlauten
« Antwort #7 am: 05 November 2021, 23:34:06 »
Hallo Maui,

zuerst mal danke für deinen Patch - hab ihn angewendet, allerdings in Zeile 4854 (da dürfte bei dir ein Zahlendreher drin sein), FHEM restarted, leider ohne Erfolg. Das Sonos-Modul neigt bei mir sowieso immer wieder zum "ich vergesse, dass ich existiere" (soll heißen, die Player sind angeblich alle appeared, aber man kann nichts steuern)...

Gibts da noch einen Workaround?

Danke, Thomas
FHEM auf RasPiI 3+, MapleCUL 868+433MhZ, MAX! via CUL, LD686 LED-Controller, GHoma Plugins,, Shelly, ConbeeII + IKEA + Xiaomi, div. Infodienste & Google Assistant via FHEM;