Amazon Alexa

Verschiedene Stimmen und Betonungen in Alexa über ioBroker steuern

In diesem Artikel zeige ich Dir, wie Du verschiedene Stimmen und Betonungen in Alexa verwenden kannst.

Amazon hat schon vor einiger Zeit die Alexa Sprachausgabe um die sogenannte SSML (Speech Synthesis Markup Language) Markup-Sprache erweitert. Mit dieser XML-Sprache können Entwickler Einfluss auf die Lautstärke sowie die Aussprachevariationen der Sprachausgabe nehmen. Zudem stehen auch regionale Floskeln zur Verfügung, die die Sprachausgaben noch echter erscheinen lassen. Über die SSML-Definition lassen sich zudem noch weitere Stimmen verwenden.

Ich nutze die folgenden Amazon-Echo Geräte für die Sprach-Ausgabe:

Für die komplette Integration der Echo-Geräte in ioBroker nutze ich den Alexa2-Adapter.

Die Installation sowie die einfache Sprachausgabe habe ich in folgendem Artikel bereits gezeigt:

Über den Datenpunkt ssml am jeweiligen Echo-Device können Sprachausgaben gestartet werden. Hierzu einfach den auszugebenden Text in den Datenpunkt schreiben. Über den Datenpunkt ssml kannst Du aber auch die neue Markupsprache für Textausgaben verwenden.

Bei mir funktionieren die SSML-Sprachausgaben aber auch über den normalen speak Datenpunkt!

In Deutschland steht leider nur ein eingeschränkter Umfang der SSML-Definition zur Verfügung. Folgende Ausgaben sind möglich:

Flüstern

<speak><amazon:effect name="whispered">ich kann auch flüstern</amazon:effect></speak>

Über den Tag speak wird die SSML-Definition für die gesprochene Ausgabe gestartet. Der Effekt-Name gibt dann den jeweiligen Effekt der Ausgabe an. Im oberen Beispiel wird die Ausgabe leise geflüstert.

Verschiedene Stimmen

<speak>
<voice name="Hans">ich bin Hans.</voice>
<voice name="Marlene">und ich bin Marlene,</voice>
<voice name="Vicki">ich Vicki.</voice>
</speak>

In Deutschland stehen derzeit neben der normalen Alexa-Stimme noch Stimmen für Hans, Marlene und Vicki zur Verfügung. Über den Voice-Name Tag kannst du die jeweilige Stimme aktivieren.

Speechcons

Speechcons sind definierte Worte oder ganze Sätze, die eine regionale oder typische Aussprache darstellen. Typische Speechcons sind z.B. (Aber hallo, ach Du liebe Zeit, usw.). In der folgende Tabelle können die verfügbaren Speechons eingesehen werden:

https://developer.amazon.com/de-DE/docs/alexa/custom-skills/speechcon-reference-interjections-german.html

<speak>
<say-as interpret-as="interjection">ach du liebe zeit</say-as>
</speak>

Der Say-As Tag unterstützt aber noch mehr Ausgaben, wie z.B. die hier im Beispiel gezeigte Ausgabe einer Telefon-Nummer.

<speak>
<say-as interpret-as="telephone">0152 1234567890</say-as>
</speak>

Mit dem Attribut interpret-as können eine Vielzahl von verschiedenen Ausgabeformaten eingesetzt werden. Neben der Telefonnummer wird auch die Ansage von numerischen Werte, Adressen oder Datum- und Zeitausgaben ermöglicht. Anbei der Link zur vollständigen Dokumentation:

https://developer.amazon.com/de-DE/docs/alexa/custom-skills/speech-synthesis-markup-language-ssml-reference.html#say-as

Ich hoffe Dir gefällt dieser Artikel. Über Kommentare unterhalb des Artikels oder per E-Mail freue ich mich wie immer 🙂

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

Ein Gedanke zu „Verschiedene Stimmen und Betonungen in Alexa über ioBroker steuern

  • Kannst du ein Beispiel posten, wie man das per Blockly umsetzt. Wenn ich bsp. einen Textblock nehme und dort ein einfüge um eine Sprechpause zu erhalten, funktioniert es leider nicht wie gewünscht

    Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert