NEWS
Austausch zu neuem Alexa2 (Alpha 2.1!) SSML Feature
-
Hast du einfach mal von hinten weg gekürzt bis exakt die Zeichenanzahl erreicht wird, die noch vollständig ausgegeben wird?
Könnte mir vorstellen dass es ein Zeichenlimit gibt.
In dem Fall müsstest du den Text einfach auf mehrere Strings aufteilen und die nacheinander an den Echo übergeben. `
Das war auch meine Idee. Aber wie stelle ich das an? wenn ich zwei Strings übergebe, mischt alexa den Text.string1= Guten Tag ich heisse alexa
string2= und ich heisse ingo
da macht dann alexa: "guten und tag ich ich heisse alexa heisse ingo ".
Kennst du einen Befehl, mit dem alexa es nach einander abspielt?
Ich habe es mit ssml noch nicht ausprobiert.
Würde das so funktionieren?
ssml= <speak>erster langer text</speak><speak>zweiter langer text</speak>
> Außerdem könntest du auch den bisher nicht gesprochenen Teil mal einzeln übergeben um zu sehen ob der als solcher funktioniert. Ungewöhnliche Zeichenkombinationen sind mir jetzt nicht aufgefallen, die ggf. beim Parsen Probleme verursachen könnten.
Habe ich getestet, das funktioniert. Ich glaube das Limit liegt bei 1000 Zeichen. -
Wenn du den Datenpunkt mehrfach hintereinader befüllst, muss du das natürlich mit einem delay.
D.h. du müsstest mal stoppen wie lange die Ausgabe der ersten 1000 Zeichen dauert und den zweiten Teil dann mit einem entsprechenden timeout übergeben.
Ich dachte bisher du nutzt SSML, weil den <speak>tag brauchst du doch beim speak Datenpunkt gar nicht mit übergeben.
Aber SSML wird sicher ebenso ein Zeichenlimit haben. Ob es auch bei 1000 liegt, wäre zu prüfen.</speak>
-
Wenn du den Datenpunkt mehrfach hintereinader befüllst, muss du das natürlich mit einem delay.
D.h. du müsstest mal stoppen wie lange die Ausgabe der ersten 1000 Zeichen dauert und den zweiten Teil dann mit einem entsprechenden timeout übergeben.
Ich dachte bisher du nutzt SSML, weil den <speak>tag brauchst du doch beim speak Datenpunkt gar nicht mit übergeben.
Aber SSML wird sicher ebenso ein Zeichenlimit haben. Ob es auch bei 1000 liegt, wäre zu prüfen.</speak> `
sorry habe mich blöd ausgedrückt. Ich habe beides getestet. per SSML und per Datenpunkt. Beim Datenpunkt mit ; und da war bei ca 1000 Zeichen schluss. Beim SSML das gleiche (ohne ; natürlich). auch hier lag die Grenze bei 1000 Zeichen.
> Ich habe es mit ssml noch nicht ausprobiert.
Damit meinte ich, zwei Strings zu übergeben. Den Rest hatte ich getestet. War blöd formuliert.> …muss du das natürlich mit einem delay.
Wie funktioniert das bei SSML? -
Der timeout ist nichts SSML spezifisches. Einfach mit den Standard Blockly Elementen arbeiten. Dort kannst du es innerhalb jedes "Steuere" aktivieren oder du verschachtelst sie mit timeout Blöcken. Bei Javascript kann ich es dir nicht sagen. Aber wenn du das nutzt, dann kannst du ja programmieren.
-
Sind die 1000 Zeichen SSML "gesetzt" oder vermutet? Wenn es ein Limit ist könnte ich das berücksichtigen udn mehrere "<speak>…</speak>" auch entsprechend nacheinander übergeben an Alexa
-
Aber so eon Splitting gibt es für speak doch auch nicht und der User muss sich selbst drum kümmer, also wieso auf eonmal für SSML?
-
Wenn man Text in zwei Teilen an Alexa übergibt wird doch die erste Ansage abgebrochen und die zweite gestartet. Kann man denn feststellen wann Alexa fertig ist und dann weiteren Text ausgeben?
-
Aber so eon Splitting gibt es für speak doch auch nicht und der User muss sich selbst drum kümmer, also wieso auf eonmal für SSML? `
Aber sicher gibt es so ein Splitting. Per Semikolon. Dann trennt der Adapter das in mehrerer Speak befehle die als "Sequenz" an Alexa übergeben werden und so mit einer Kurzen Pause dazwischen nacheinander abgespielt werden
-
Ah, das wusste ich auch noch nicht. Brauchte bisher aber auch keine derartig langen Textausgaben.
Kannte nur den Trick mit der Lautstärke am Anfang mit Semikolon als Trennung.
In der readme sind keine Beispiele für solche Konstrukte. Gibt es da irgendwo eine umfassende Doku?
-
https://github.com/Apollon77/ioBroker.a … ercommands ... unter der Tabelle steht das an sich alles
-
Sind die 1000 Zeichen SSML "gesetzt" oder vermutet? Wenn es ein Limit ist könnte ich das berücksichtigen udn mehrere "<speak>…</speak>" auch entsprechend nacheinander übergeben an Alexa `
bisher nur eine Vermutung. Werde es aber weiter testen 980 geht. 1020 geht nicht. Werde genaue Zahl noch austesten.
-
Aber sicher gibt es so ein Splitting. Per Semikolon. `
Kann man trotzdem irgendwie feststellen ob gerade eine Sprachausgabe erfolgt und erst die neue Ausgabe starten wenn diese beendet wurde? -
@WaJoWi:Aber sicher gibt es so ein Splitting. Per Semikolon.
Kann man trotzdem irgendwie feststellen ob gerade eine Sprachausgabe erfolgt und erst die neue Ausgabe starten wenn diese beendet wurde?
Der Trick mit dem ; Klappt nur bis zur Grenze von 1000 (+-20).
Wenn ich eine Rückmeldung von Alexa bekommen würde, Ansage ist beendet, wäre super.
-
@WaJoWi:Aber sicher gibt es so ein Splitting. Per Semikolon.
Kann man trotzdem irgendwie feststellen ob gerade eine Sprachausgabe erfolgt und erst die neue Ausgabe starten wenn diese beendet wurde?
Nein, es gibt keine Rückmeldung
PS: 1000+-20 … interessant ... lass Ihr Alexa eigentlich Romane vorlesen? :lol:
-
@WaJoWi:Aber sicher gibt es so ein Splitting. Per Semikolon.
Kann man trotzdem irgendwie feststellen ob gerade eine Sprachausgabe erfolgt und erst die neue Ausgabe starten wenn diese beendet wurde?
Nein, es gibt keine Rückmeldung
PS: 1000+-20 … interessant ... lass Ihr Alexa eigentlich Romane vorlesen? :lol: `
Danke für deine Rückmeldung.
Ich lasse keine Romane vorlesen, aber von verschiedenen Skripten eine Sprachausgabe machen die sich manchmal überschneiden. Da wäre es gut, wenn die nächste Ansage erst beginnt wenn die laufende beendet wurde. Aber wenn das nicht geht…
-
ich bin auch gerade am testen und es funktioniert ohne Probleme, einzig was mir auffällt das es ziemlich lange dauert bis der Echo den Text ausgibt? kommt aber drauf an welche stimme man auswählt!
#Edit#
sorry war mein fehler hatte eine verzögerung drinne!
-
Kann man irgendwie SSML auch in Kombination mit dem "announcement" command benutzen?
-
Das hätte ich auch gern, also den Announcement Ton optional vor SSML.
Eine zeitlang habe ich ein leeres Announcement gestartet und danach leicht verzögert das SSML. Leider hat das immer mal dazu geführt dass das SSML nicht gesprochen wurde. Selbst mit 6 Sekunden Verzögerung zw. dem leeren Announcement und dem SSML. Daher lasse ich es aktuell wieder weg und dann wird das SSML auch 100% ausgegeben. -
@apollon77 sagte in Austausch zu neuem Alexa2 (Alpha 2.1!) SSML Feature:
@WaJoWi:Aber sicher gibt es so ein Splitting. Per Semikolon.
Kann man trotzdem irgendwie feststellen ob gerade eine Sprachausgabe erfolgt und erst die neue Ausgabe starten wenn diese beendet wurde?
Nein, es gibt keine Rückmeldung
PS: 1000+-20 … interessant ... lass Ihr Alexa eigentlich Romane vorlesen? :lol:
Ja, ein bisschen schon, weil es lustig ist.
Beispiel:
Hans sagt: "Hey Leute, dass Garagentor ist mal wieder offen. Alexa sag denen mal wie sie es schließen können.
Alexa Antwortet: "Na klar Hans, mache ich gerne. Zum schließen des Garagentor sagt einfach "Alexa, schließe die Garage".Das hört sich an wie bei einem Verkaufgespräch bei diesen Shopingsendern muahaha.
Grüße
-
Nabend.
ich teste auch gerade das SSML Feature.Leider bleibt mein Echo Dot 3 stumm wenn ich etwas in den SSML DP schreibe.
<speak><amazon:effect name="whispered">Guten Abend. Test bestandn.</amazon:effect></speak>
Alexa2 Adapter 2.6.4
Muss ich noch etwas tun um das Sprechen zu starten?