NEWS
(gelöst) Automatisch Echo-Lautstärke für Antworten setzen
-
@dslraser Richtig, nur bei speak. Aber in der ursprünglichen Frage war keine Rede von ssml.
-
@Ahnungsbefreit das habe ich auch gemacht und funktioniert so auch aber hier geht es jetzt um das Blockly
-
@biker1602 sagte in (gelöst) Automatisch Echo-Lautstärke für Antworten setzen:
@Ahnungsbefreit das habe ich auch gemacht und funktioniert so auch aber hier geht es jetzt um das Blockly
Ich war "gedanklich" in dem verlinkten Beitrag von gestern (ich bin am Handy und dachte das war die Antwort auf den verlinkten Beitrag von gestern. Ich habe nicht gesehen das dies hier ein anderer Beitrag ist)
Also worum geht es Dir jetzt hier genau ?
Das Blockly ist schon älter, sollte aber den angesprochenen ECHO ermitteln und dort diese Testantwort ausgeben. Ich kann es aber gerade nicht selbst ausprobieren ob das noch so funktioniert.(am Handy)
EDIT: wenn bei Dir in der History "test ansage" steht, dann ändere es in dem Testblockly auch so ab, denn da steht "testansage" (zusammen geschrieben) drinn
-
@dslraser Ja dann funktioniert es aber halt nicht mit der Lautstärke für ssml. Er stellt die normale Lautstärke auf 80 ist ganz kurz laut sowie im Blockly aber der ssml Text ist dann wieder leise.
-
@biker1602 sagte in (gelöst) Automatisch Echo-Lautstärke für Antworten setzen:
@dslraser Ja dann funktioniert es aber halt nicht mit der Lautstärke für ssml. Er stellt die normale Lautstärke auf 80 ist ganz kurz laut sowie im Blockly aber der ssml Text ist dann wieder leise.
Ja, dachte ich mir. Dann mußt Du das für ssml so einbauen wie oben in dem Beispiel gezeigt.
-
Ich bin jetzt kurz am Rechner, aber nur per VPN und nicht vor Ort. Ich kann es also nicht probieren.
was mir noch einfällt...Du könntest auch versuchen vor der ssml Ansage die "generelle Lautstärke" des ECHOS auf die gewünschte Lautstärke zu stellen, das müßte unter Player.volume sein.
Also erst den alten Wert von Player.volume des angesprochenen ECHO auslesen, dann den gewünschten Wert unter Player.volume setzen und nach der Ansage den alten/vorherigen Wert wieder setzen lassen. Ist nur eine Idee und ich weiß auch nicht ob das funktioniert. Ob man mitbekommt wann die Ansage zu Ende ist weiß ich jetzt auch nicht aus dem Kopf.
-
@chrbo80
Nur weil ich mich damit auch gerade rumärgere und das Thema als "gelöst" markiert ist:
Darf ich fragen, wie das jetzt konkret gelöst werden konnte? -
@alexi was genau?
du kannst bei speak, direkt die Lautstärke mitgeben z.b.
50; test bla blaoder wenn du announcement nutzen möchtest
https://forum.iobroker.net/post/670091das selbe kannst du bei ssml machen, musst dann nur
alexa2.0.Echo-Devices.xyz.Commands.speak
ersetzten durchalexa2.0.Echo-Devices.xyz.Player.volume
-
@crunchip
Danke für deine Antwort.
Äh, sorry. War so auf die letzten Antworten fixiert, dass ich die Originalfrage nicht ganz auf dem Schirm hatte.
Speak ist klar.
Es geht aber mir um SSML. Den Lautstärkewert vorher zu setzen bekomme ich hin, aber wie setze ich ihn nach der Ausgabe zurück? -
@alexi sagte in (gelöst) Automatisch Echo-Lautstärke für Antworten setzen:
aber wie setze ich ihn nach der Ausgabe zurück
na so wie in meinem blockly Beispiel, du schreibst erst in die Variable und setzt zum Schluss wider zurück auf den Wert der Variablen
-
@crunchip
Funktioniert bei mir nicht.
Meinst du das so (sorry nur als JScript):let curVolume; curVolume = getState('alexa2.0.Echo-Devices.L08XXXXXXXXX.Player.volume').val; setState('alexa2.0.Echo-Devices.L08XXXXXXXXX.Player.volume',90); setState("alexa2.0.Echo-Devices.L08XXXXXXXXX.Commands.ssml", "<speak>Test Test Test Test</speak>"); setState('alexa2.0.Echo-Devices.L08XXXXXXXXX.Player.volume',curVolume);
Liegt wohl daran, dass er das asynchron ausführt und somit die Lautstärke gleich zu Beginn der Ausgabe wieder auf den Originalwert gesetzt wird. Wie kann ich das Rücksetzen zum Ende der Ausgabe setzen? Oder hab ich dich falsch verstanden?
-
@alexi hab das selbst noch nicht getestet, vllt mal mit ner Verzögerung probieren
-
@crunchip
Sobald die Lautstärke zurück gesetzt wird, wird die Sprache leiser.
Verzögerung bringt nix, da das dynamisch erzeugte teils lange Texte sind, d.h. entweder bleibt es zu lange laut, oder der Text wird mitten drin leiser. -
@alexi dann bleibt wohl nur https://docs.aws.amazon.com/de_de/polly/latest/dg/supportedtags.html#prosody-tag, wie paar Beträge weiter oben erwähnt
-
@crunchip
Hatte ich als erstes probiert. Das geht leider auch nicht. Anscheinend ist die Basis immer die eingestellte Lautsärke, d.h. wenn die Lautstärke auf 10% steht, kann man mit dem Tag volume="x-loud" maximal so laut werden, wie eingestellt (also im Beispiel 10%). Zumindest kam das bei meinen Tests so raus.