Squeezebox Modul - erste Version

Begonnen von bugster_de, 17 Dezember 2013, 22:12:10

Vorheriges Thema - Nächstes Thema

ChrisD

Hallo,

Danke für die Tests, ich habe die Version auf Github eingecheckt.

Grüße,

ChrisD

DigiNecro

Danke für die tolle Arbeit an dem Modul! :)

czcbe

Zitat von: czcbe am 27 Mai 2022, 10:42:58Hallo zusammen

Mir ist aufgefallen, dass seit einigen Wochen/Monaten folgender talk-Befehl die gewünschten Texte nicht mehr in korrekter Reihenfolge in Sprache ausgibt:


set SB_Player_HIFI talk In Stadt gibt es bis zum Nachmittag eine Mischung aus Sonne und Wolken bei Temperaturen von 10 bis 22 Grad. Abends sind in Stadt Teile des Himmels mit Wolken bedeckt bei Temperaturen von 16 bis 20 Grad. Nachts bleibt die Wolkendecke geschlossen bei einer Temperatur von 14 Grad. Böen können Geschwindigkeiten zwischen 11 und 37 kmh erreichen. Freuen Sie sich auf bis zu 8 Sonnenstunden.
Leider konnte ich es nicht zurückverfolgen, seit wann die Veränderung auftritt.

Ich habe dazu aber auf dem Device "SB_Player_HIFI" das Attribut "ttsOptions" auf "debug" und "debugsaverestore" gesetzt und dabei im Log festgestellt, dass das Queuen in falscher Reihenfolge passiert, d.h. es wird der gesamte Textblock in Fragmente zerlegt (vermutlich wegen einem Limitwert pro Ausgabe) und danach nicht mehr in der ursprüngl. Reihenfolge ausgegeben.


Kann das reproduziert werden als generelles Fehlverhalten oder ist in meiner Konfiguration etwas schief?


Dank Euch


Ich konnte inzwischen das Verhalten einkreisen: bei eingeschaltetem Shuffle beim gewählten Ausgabegerät kommt es zur Umverteilung auch der Reihenfolge von langen talk-Ausgaben...
Workaround: bei jeder Ausgabe schalte ich jetzt (wenn aktiv) kurzzeitig den Shuffle ab - Problem umgangen.

Danke für deine Prüfung
FHEM 5.9 mit TabletUI | Pagebuttonmenü | Win2012R2 | Lubuntu 18.04 | Load-Balancing/Failover 2xFHEM | cygwin | nanoCUL 433 | Harmony Hub | IT Funksteckdosen | Squeezebox-Server (LMS) | Kodi | Sprachsteuerung | Webcams | Wetteransage | Telegram Bot | Presence-Script | Winconnect-Powershell

ChrisD

Hallo,

Danke für den Hinweis. Shuffle wurde beim talk nicht abgeschaltet so dass die Wiedergabe durcheinander kommt.

Ich habe dies geändert, die aktuelle Version befindet sich im Anhang und auf Github.

Grüße,

ChrisD

lichtimc

Hello!
Gibt es eine Möglichkeit bei der Sprachausgabe die Stimme von Alexa zu bekommen? (Amazon Polly heißt das Service glaub ich)
Danke und lg

ChrisD

Hallo,

Im Prinzip ist dies möglich. Leider unterstützt Amazon keine Parameter in der URL so dass der LMS nicht direkt darauf zugreifen kann. Eine Anbindung wäre aber über einen kleinen lokalen Web-Server möglich. Als Basis könnte das Python/HTML-Beispiel von Amazon dienen.

Wenn das Python-Skript auf dem gleichen Rechner wie der LMS läuft würde ich versuchen das Attribut ttslink auf
http://127.0.0.1:8000/read?text=<TEXT>&voiceId=Marlene&outputFormat=mp3zu setzen.

Grüße,

ChrisD

lichtimc

#2181
Ja, das läuft tatsächlich so.
Ein Problem hab ich aber noch: Der resultierende Stream wird zu schnell abgespielt. Hast du eine Ahnung woran das liegen könnte?

ChrisD

Hallo,

Wird der Stream auch zu schnell abgespielt wenn du die URL im Browser aufrufst ?

Wenn nicht könnte es an einer Unverträglichkeit zwischen Amazon und der Player-Software liegen, insbesondere squeezelite ist etwas wählerisch.

Testweise könntest du das Format im ttslink (outputFormat=pcm oder outputFormat=ogg_vorbis) oder die Samplerate für mp3 im synthesize_speech-Aufruf anpassen.

                # Request speech synthesis
                response = polly.synthesize_speech(Text=text,
                                                    VoiceId=voiceId,
                                                    OutputFormat=outputFormat,
                                                    SampleRate="22050",
                                                    Engine="neural")

Grüße,

ChrisD


FHEMAN

Gibt es die Möglichkeit, ohne weitere Installationen noch andere Stimmen für Text-To-Speech zu nutzen?

Ich benötige für ein "Projekt" eine männliche Stimme.. wenn ich es richtig sehe, gibt es die nur bei VoiceRSS. Die klingen nur leider sehr synthetisch alle.
Bei Goolge wird ja anscheinend die Translate URL genutzt mit der (auch recht einfachen) Frauenstimme.

Kommt man irgendwie an Google Cloud TTS ran?
   
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

ChrisD

Hallo,

Generell können alle Dienste die über GET-Requests funktionieren ohne zusätzliche Software angebunden werden. Leider ist dies weder bei Amazon Polly noch bei Google Cloud TTS der Fall.

Für Google Cloud wäre ein ähnliches Konstrukt wie bei Amazon Polly nötig.

Grüße,

ChrisD

FHEMAN

Zitat von: ChrisD am 04 Dezember 2023, 12:23:16Generell können alle Dienste die über GET-Requests funktionieren ohne zusätzliche Software angebunden werden. Leider ist dies weder bei Amazon Polly noch bei Google Cloud TTS der Fall.

Für Google Cloud wäre ein ähnliches Konstrukt wie bei Amazon Polly nötig.

Ich habe die Polly Demo leider nicht zum Laufen bekommen. Möglicherweise war mein verwendetes Debian aber auch zu alt. Ich will daher nochmal auf der grünen Wiese beginnen, notfalls auch auf dem LMS - der ist ja schnell neu installiert.
 
Gibt es irgendwo eine ausführliche Beschreibung, wie man sich einen Polly Webservice einrichtet?
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

FHEMAN

Es funktioniert jetzt auch bei mir mit der vorher beschriebenen Einschränkung, dass der Text zu schnell gelesen wird.
Ein Ändern der SampleRate hat nichts gebracht.
Ich habe mir jetzt damit beholfen, dass ich auf SSML als Textinput umgestellt habe und damit die Geschwindigkeit standardmäßig reduziere:

polly.py
                # Request speech synthesis
                response = polly.synthesize_speech(Text=text,
                                                    VoiceId=voiceId,
                                                    OutputFormat=outputFormat,
                                                    TextType="ssml",
                                                    Engine="neural")

ttslink Attribut
http://YOURSERVER:8000/read?voiceId=Daniel&text=<speak><prosody%20rate="slow"><TEXT></prosody></speak>&outputFormat=mp3

Vielleicht finden wir ja noch heraus, woran es liegt.
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

FHEMAN

Es ist merkwürdig. Wenn ich die von Alexa TTS generierte MP3 Datei speichere und vom NAS abspiele liest er in normalem Tempo vor. Es muss also was mit der Art der Bereitstellung der MP3 zu tun haben? Kann es irgendwie mit der Synchronisierung zusammenhängen - dass er Tempo aufholen will aus irgendeinem Grund?
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

dirk.k

Hallo zusammen,
ich habe nach langer Zeit mal wieder FHEM aktualsisiert.
Seit dem habe ich ein Problem mit dem Reading "presence".
Bisher wurde es auf "present" gesetzt, wenn das Gerät erschien (in LMS gelistet wurde)
Jetzt passiert das erst, wenn eine Aktion (play) gestartet wird.

Ich setze einige ESP32 mit SqueezeESP32 ein. Diese haben kein "autoplay".
Ich habe das bisher über das Reading "presence" getriggert und dann den PLAY-Befehl gesendet.
... geht nun nicht mehr und die Geräte bleiben nach dem Einschalten stumm.

Hat sich da was am Modul geändert?
Kann mir jemand helfen?
Danke
 

ChrisD

Hallo,

Die letzte Änderung im Bereich Presence war 2017 in der Player-Version 0092. Welche Version hattest du vor dem Update ?

Sind nur die ESP32 davon betroffen oder alle Player ?

Grüße,

ChrisD