Amazon Polly
Entwicklerhandbuch

Von Amazon Polly unterstützte SSML-Tags

Indem Sie den Eingabetext durch SSML-Tags ergänzen, erhalten Sie mehr Kontrolle darüber, wie Amazon Polly Sprachausgaben daraus generiert.

Sie können beispielsweise eine lange Pause in den Text einfügen oder Sprechgeschwindigkeit oder Tonlage ändern. Amazon Polly ermöglicht diese Kontrolle mit einer Teilmenge der unter Speech Synthesis Markup Language (SSML) Version 1.1, W3C Recommendation definierten SSML-Tags.

Unterstützte SSML-Tags

Amazon Polly unterstützt die folgenden SSML-Tags:

Nicht unterstützte SSML-Tags im Eingabetext führen zu Fehlern.

Identifizieren von Text mit SSML-Tags

<speak>

Das Tag <speak> ist das Stammelement aller Amazon Polly-SSML-Texte. Der gesamte Text mit SSML-Tags muss in ein Paar <speak>-Tags eingeschlossen werden.

<speak>Mary had a little lamb.</speak>

Hinzufügen einer Pause

<break>

Verwenden Sie das Tag <break>, um Ihrem Text eine Pause hinzuzufügen. Sie können eine Pause auf Grundlage der Stärke (entspricht der Pause nach einem Komma, Satz oder Absatz) oder den Wert auf eine bestimmte Dauer in Sekunden oder Millisekunden festlegen. Wenn Sie kein Attribut angeben, um die Länge der Pause zu bestimmen, verwendet Amazon Polly den Standardwert <break strength="medium">, der die Länge einer Pause nach einem Komma hinzufügt.

Werte des Attributs strength:

  • none: Keine Pause. Verwenden Sie none, um standardmäßig auftretende Pausen – z. B. nach einem Punkt – zu entfernen.

  • x-weak: Hat die gleiche Wirkung wie none, keine Pause.

  • weak: Legt eine Pause derselben Dauer wie die Pause nach einem Komma fest.

  • medium: Hat die gleiche Wirkung wie weak.

  • strong: Legt eine Pause derselben Dauer wie die Pause nach einem Satz fest.

  • x-strong: Legt eine Pause derselben Dauer wie die Pause nach einem Absatz fest.

Werte des Attributs time:

  • [number]s: Dauer der Pause in Sekunden. Die maximale Dauer ist 10s.

  • [number]ms: Dauer der Pause in Millisekunden. Die maximale Dauer ist 10000ms.

Beispiel:

<speak> Mary had a little lamb <break time="3s"/>Whose fleece was white as snow. </speak>

Wenn Sie kein Attribut mit dem break-Tag verwenden, variiert das Ergebnis je nach Text:

  • Wenn sich neben dem break-Tag keine anderen Satzzeichen befinden, wird eine <break strength="medium"> (Pause in Komma-Länge) erstellt.

  • Wenn sich das Tag neben einem Komma befindet, wird es zu einer <break strength="strong"> (Pause in Satz-Länge).

  • Wenn sich das Tag neben einem Punkt befindet, wird es zu einer <break strength="x-strong"> (Pause in Absatz-Länge).

Betonen von Wörtern

<emphasis>

Verwenden Sie das Tag <emphasis>, um Wörter zu betonen. Die Betonung von Wörtern wirkt sich auf Sprechgeschwindigkeit und -lautstärke aus. Eine stärkere Betonung lässt Amazon Polly den Text lauter und langsamer sprechen. Bei weniger Betonung wird leiser und schneller gesprochen. Die Stärke der Betonung geben Sie mit dem Attribut level an.

Werte des Attributs level:

  • Strong: Erhöht die Lautstärke und verlangsamt die Sprechgeschwindigkeit, sodass die Sprachausgabe lauter und langsamer erfolgt.

  • Moderate: Erhöht die Lautstärke und verlangsamt die Sprechgeschwindigkeit in geringerem Umfang als strong. Moderate ist die Standardeinstellung.

  • Reduced: Verringert die Lautstärke und beschleunigt die Sprechgeschwindigkeit. Die Sprachausgabe ist weicher und schneller.

Anmerkung

Die normale Sprechgeschwindigkeit und -lautstärke liegen zwischen moderate und reduced.

Beispiel:

<speak> I already told you I <emphasis level="strong">really like</emphasis> that person. </speak>

Angeben einer anderen Sprache für bestimmte Wörter

<lang>

Mit dem Tag <lang> können Sie eine andere Sprache für ein Wort, eine Wendung oder einen Satz angeben. Fremdsprachige Wörter und Wendungen werden in der Regel besser gesprochen, wenn sie in ein Paar <lang>-Tags eingeschlossen werden. Verwenden Sie zum Angeben der Sprache das Attribut xml:lang. Eine vollständige Liste der verfügbaren Sprachen finden Sie unter Von Amazon Polly unterstützte Sprachen.

Sofern Sie nicht das Tag <lang> anwenden, werden alle Wörter im Eingabetext in der Sprache der Stimme gesprochen, die mit voice-id angegeben wurde. Wenn Sie das Tag <lang> anwenden, werden die Wörter in jener Sprache gesprochen.

Beispiel: Wenn die voice-id Joanna (US-Englisch) entspricht, spricht Amazon Polly den folgenden Text mit der Stimme von Joanna und ohne französischen Akzent:

<speak> Je ne parle pas français. </speak>

Wenn Sie die Stimme von Joanna mit dem Tag <lang> verwenden, spricht Amazon Polly den Satz mit der Stimme von Joanna in einem Französisch mit amerikanischem Akzent:

<speak> <lang xml:lang="fr-FR">Je ne parle pas français.</lang>. </speak>

Da Joanna keine französische Muttersprachlerin ist, basiert die Aussprache auf ihrer Muttersprache, also US-Englisch. Eine Person mit perfekter französischer Aussprache würde beispielsweise das Wort français mit einem uvularen Vibrant (/R/) sprechen. Joannas Stimme (US-Englisch) spricht dieses Phonem dagegen wie /r/.

Wenn Sie die voice-id von Giorgio verwenden, der Italienisch spricht, gibt Amazon Polly den folgenden Text mit der Stimme von Giorgio und italienischer Aussprache wieder:

<speak> Mi piace Bruce Springsteen. </speak>

Wenn Sie dieselbe Stimme mit dem folgenden Tag <lang> verwenden, spricht Amazon Polly "Bruce Springsteen" englisch, aber mit italienischem Akzent aus:

<speak> Mi piace <lang xml:lang="en-US">Bruce Springsteen.</lang> </speak>

Dieses Tag kann auch als Ersatz für die optionale DefaultLangCode-Option bei der Generierung von Sprachausgabe verwendet werden. In diesem Fall ist es jedoch erforderlich, dass Sie Ihren Text mit SSML formatieren.

Einfügen eines benutzerdefinierten Tags in den Text

<mark>

Um ein benutzerdefiniertes Tag im Text zu platzieren, verwenden Sie das Tag <mark>. Amazon Polly führt aufgrund dieses Tags keine Aktion aus, gibt aber die Position des Tags in den SSML-Metadaten zurück. Bei diesem Tag kann es sich um eine beliebige hervorzuhebende Information handeln, sofern das folgende Format eingehalten wird:

<mark name="tag_name"/>

Beispiel: Der Tag-Name lautet "animal" und der Eingabetext:

<speak> Mary had a little <mark name="animal"/>lamb. </speak>

In diesem Fall kann Amazon Polly die folgenden SSML-Metadaten zurückgeben:

{"time":767,"type":"ssml","start":25,"end":46,"value":"animal"}

Hinzufügen einer Pause zwischen Absätzen

<p>

Mit dem Tag <p> können Sie eine Pause zwischen Absätzen im Text einfügen. Mit diesem Tag wird eine längere Pause als die eingefügt, die Muttersprachler üblicherweise nach Kommas oder am Satzende einfügen. Schließen Sie den Absatz in das Tag <p> ein:

<speak> <p>This is the first paragraph. There should be a pause after this text is spoken.</p> <p>This is the second paragraph.</p> </speak>

Dies entspricht der Angabe einer Pause mit <break strength="x-strong"/>.

Verwenden phonetischer Aussprache

<phoneme>

Mit dem Tag <phoneme> können Sie Amazon Polly veranlassen, für bestimmten Text phonetische Aussprache zu verwenden.

Für das Tag <phoneme> sind zwei Attribute erforderlich. Sie zeigen das von Amazon Polly verwendete phonetische Alphabet und die phonetischen Symbole der korrigierten Aussprache an:

  • alphabet

    • ipa: Gibt an, dass das IPA (International Phonetic Alphabet) verwendet wird.

    • x-sampa: Gibt an, dass X-SAMPA (Extended Speech Assessment Methods Phonetic Alphabet) verwendet wird.

  • ph

Mit dem Tag <phoneme> verwendet Amazon Polly die mit dem Attribut ph angegebene Aussprache anstelle der Standardaussprache, die für die Sprache der gewählten Stimme gilt.

Das Wort „pecan“ kann beispielsweise auf zwei Arten ausgesprochen werden. Im folgenden Beispiel wird dem Wort „pecan“ in jeder Zeile eine andere Aussprache zugewiesen. Amazon Polly spricht „pecan“ gemäß den ph-Attributen aus, statt die Standardaussprache zu verwenden.

International Phonetic Alphabet (IPA)

<speak> You say, <phoneme alphabet="ipa" ph="pɪˈkɑːn">pecan</phoneme>. I say, <phoneme alphabet="ipa" ph="ˈpi.kæn">pecan</phoneme>. </speak>

Extended Speech Assessment Methods Phonetic Alphabet (X-SAMPA)

<speak> You say, <phoneme alphabet='x-sampa' ph='pI"kA:n'>pecan</phoneme>. I say, <phoneme alphabet='x-sampa' ph='"pi.k{n'>pecan</phoneme>. </speak>

Außerdem verwendet das Mandarin-Chinesische Pinyin für die phonetische Aussprache.

Pinyin

<speak> 你说 <phoneme alphabet="x-amazon-pinyin" ph="bo2">薄</phoneme>。 我说 <phoneme alphabet="x-amazon-pinyin" ph="bao2">薄</phoneme>。 </speak>

Steuern von Lautstärke, Sprechgeschwindigkeit und Tonlage

<prosody>

Mit dem prosody-Tag können Sie Lautstärke, Geschwindigkeit und Tonlage Ihrer gewählten Stimme steuern.

Lautstärke, Sprechgeschwindigkeit und Tonlage sind von der jeweils gewählten Stimme abhängig. Neben den Unterschieden der Stimmen für verschiedene Sprachen gibt es auch Unterschiede zwischen Stimmen, die dieselbe Sprache sprechen. Hieraus erklärt sich, dass es trotz zwischen den Sprachen ähnlicher Attribute klare Unterschiede von Sprache zu Sprache gibt. Absolute Werte existieren nicht.

Das Tag prosody hat drei Attribute, für die jeweils unterschiedliche Werte verfügbar sind. Jedes Attribut verwendet die gleiche Syntax:

<prosody attribute="value"></prosody>
  • volume

    • default: Setzt die Lautstärke auf den Standardwert für die aktuelle Stimme zurück.

    • silent, x-soft, soft, medium, loud, x-loud: Legt die Lautstärke auf einen vordefinierten Wert für die aktuelle Stimme fest.

    • +ndB, -ndB: Ändert die Lautstärke relativ zum aktuellen Pegel. Ein Wert von +0dB bedeutet keine Änderung, +6dB bedeutet in etwa eine Verdoppelung der aktuellen Lautstärke und -6dB bedeutet ungefähr eine Halbierung der aktuellen Lautstärke.

    Sie können die Lautstärke für eine Passage beispielsweise folgendermaßen einstellen:

    <speak> Sometimes it can sometimes be useful to <prosody volume="loud">increase the volume for a specific speech.</prosody> </speak>

    Sie können die Lautstärke auch folgendermaßen festlegen:

    <speak> And sometimes a lower volume <prosody volume="-6dB">is a more effective way of interacting with your audience.</prosody> </speak>
  • rate

    • x-slow, slow, medium, fast,x-fast. Legt die Tonlage auf einen vordefinierten Wert für die gewählte Stimme fest.

    • n%: Eine Änderung der Sprechgeschwindigkeit um einen Prozentsatz (nicht negativ). Beispiel: Ein Wert von 100 % bedeutet, dass die Sprechgeschwindigkeit unverändert bleibt. Ein Wert von 200 % bedeutet, dass die Sprechgeschwindigkeit verdoppelt, und ein Wert von 50 %, dass die Sprechgeschwindigkeit halbiert wird. Der Wert kann zwischen 20 und 200 % liegen.

    Sie können die Sprechgeschwindigkeit für eine Passage beispielsweise folgendermaßen einstellen:

    <speak> For dramatic purposes, you might wish to <prosody rate="slow">speed up the speaking rate of your text.</prosody> </speak>

    Sie können die Lautstärke auch folgendermaßen festlegen:

    <speak> Although in some cases, it might help your audience to <prosody rate="85%">slow the speaking rate slightly to aid in comprehension.</prosody> </speak>
  • pitch

    • default: Setzt die Tonlage auf den Standardwert für die aktuelle Stimme zurück.

    • x-low, low, medium, high, x-high: Legt die Tonlage auf einen vordefinierten Wert für die aktuelle Stimme fest.

    • +n% oder -n%: passt die Tonhöhe um einen relativen Prozentsatz an. Beispiel: Ein Wert von +0% bedeutet keine Änderung der Baseline-Tonhöhe, +5% führt zu einer etwas höheren Baseline-Tonhöhe und -5% führt zu einer etwas niedrigeren Baseline-Tonhöhe.

    Sie können die Tonlage für eine Passage beispielsweise folgendermaßen einstellen:

    <speak> Do you like sythesized speech <prosody pitch="high">with a pitch that is higher than normal?</prosody> </speak>

    Sie können die Lautstärke auch folgendermaßen festlegen:

    <speak> Or do you prefer your speech <prosody pitch="-10%">with a somewhat lower pitch?</prosody> </speak>

Das Tag <prosody> muss mindestens ein Attribut, kann aber auch mehrere enthalten.

<speak> Each morning when I wake up, <prosody volume="loud" rate="x-slow">I speak quite slowly and deliberately until I have my coffee.</prosody> </speak>

Es kann zudem folgendermaßen mit verschachtelten Tags kombiniert werden:

<speak> <prosody rate="85%">Sometimes combining attributes <prosody pitch="-10%">can change the impression your audience has of a voice</prosody> as well.</prosody> </speak>

Festlegen einer maximalen Dauer der generierten Sprachausgabe

<prosody amazon:max-duration>

Um zu steuern, wie lange eine Sprachausgabe dauern soll, wenn sie generiert wird, verwenden Sie das <prosody>-Tag mit dem amazon:max-duration-Attribut.

Die Dauer der Sprachsynthese variiert je nach gewählter Stimme geringfügig. Dies erschwert die Abstimmung von generierter Sprache mit Visualisierungen oder anderen Aktivitäten, die ein präzises Timing erfordern. Dieses Problem tritt verstärkt bei Übersetzungsanwendungen auf, da die Zeit, die benötigt wird, um bestimmte Phrasen zu sagen, je nach Sprache stark variieren kann.

Das <prosody amazon:max-duration>-Tag passt die synthetisierte Sprache an die gewünschte Dauer an.

Dieses Tag verwendet folgende Syntax:

<prosody amazon:max-duration="time duration">

Mit dem <prosody amazon:max-duration>-Tag können Sie die Dauer in Sekunden oder Millisekunden festlegen:

  • ns: maximale Dauer in Sekunden.

  • nms: maximale Dauer in Millisekunden.

Beispiel: Der folgende gesprochene Text hat eine maximale Dauer von 2 Sekunden:

<speak> <prosody amazon:max-duration="2s"> Human speech is a powerful way to communicate. </prosody> </speak>

Wenn Text innerhalb des Tags platziert wird, überschreitet er die angegebene Dauer nicht. Wenn die gewählte Stimme oder Sprache normalerweise mehr Zeit als diese Dauer in Anspruch nehmen würde, beschleunigt Amazon Polly die Sprachausgabe so, dass sie in die angegebene Dauer passt.

Wenn die angegebene Dauer länger als die benötigt Zeit ist, um den Text mit einer normalen Geschwindigkeit zu lesen, liest Amazon Polly die Rede mit normaler Geschwindigkeit. Es verlangsamt weder die Sprachausgabe noch werden Stilleperioden hinzugefügt. Die resultierende Audioausgabe ist also kürzer als angefordert.

Anmerkung

Amazon Polly erhöht die Geschwindigkeit nicht mehr als um das Fünffache der normalen Geschwindigkeit. Wenn Text schneller gesprochen wird, ergibt er in der Regel keinen Sinn. Wenn eine Sprachausgabe auch bei maximaler Beschleunigung nicht in die angegebene Dauer passt, wird das Audiomaterial beschleunigt, ist dann jedoch länger als die angegebene Dauer.

Sie können einen einzelnen Satz oder mehrere Sätze innerhalb eines <prosody amazon:max-duration>-Tags und mehrere <prosody amazon:max-duration>-Tags in Ihrem Text verwenden.

Beispiel:

<speak> <prosody amazon:max-duration="2400ms"> Human speech is a powerful way to communicate. </prosody> <break strength="strong"/> <prosody amazon:max-duration="5100ms"> Even a simple ‘Hello’ can convey a lot of information depending on the pitch, intonation, and tempo. </prosody> <break strength="strong"/> <prosody amazon:max-duration="8900ms"> We naturally understand this information, which is why speech is ideal for creating applications where a screen isn’t practical or possible, or simply isn’t convenient. </prosody> </speak>

Die Verwendung des <prosody amazon:max-duration>-Tags kann die Latenz steigern, wenn Amazon Polly generierte Sprachausgabe zurückgibt. Der Grad der Latenz hängt von der Passage und ihrer Länge ab. Wir empfehlen die Verwendung von Text aus relativ kurzen Textpassagen.

Einschränkungen

Es gibt Einschränkungen sowohl bei der Verwendung des <prosody amazon:max-duration>-Tags als auch bei der Funktion des Tags mit anderen SSML-Tags:

  • Der Text innerhalb eines <prosody amazon:max-duration>-Tags kann nicht mehr als 1 500 Zeichen betragen.

  • Sie können keine <prosody amazon:max-duration>-Tags verschachteln. Wenn Sie ein <prosody amazon:max-duration>-Tag in ein anderes integrieren, ignoriert Amazon Polly das innere Tag.

    Im folgenden Beispiel wird das <prosody amazon:max-duration="5s">-Tag ignoriert:

    <speak> <prosody amazon:max-duration="16s"> Human speech is a powerful way to communicate. <prosody amazon:max-duration="5s"> Even a simple ‘Hello’ can convey a lot of information depending on the pitch, intonation, and tempo. </prosody> We naturally understand this information, which is why speech is ideal for creating applications where a screen isn’t practical or possible, or simply isn’t convenient. </prosody> </speak>
  • Es ist nicht möglich, die <prosody>-Tags mit dem rate-Attribut innerhalb eines <prosody amazon:max-duration>-Tags zu verwenden. Denn beide beeinflussen die Geschwindigkeit, mit der der Text gesprochen wird.

    Im folgenden Beispiel ignoriert Amazon Polly das <prosody rate="2">-Tag:

    <speak> <prosody amazon:max-duration="7500ms"> Human speech is a powerful way to communicate. <prosody rate="2"> Even a simple ‘Hello’ can convey a lot of information depending on the pitch, intonation, and tempo. </prosody> </prosody> </speak>

Pausiert und max-duration

Bei der Verwendung Ihres max-duration-Tags können Sie weiterhin Pausen in Ihren Text einfügen. Allerdings gibt Amazon Polly die Länge der Pause bei der Berechnung der maximalen Sprechdauer an. Zusätzlich behält Amazon Polly die kurzen Pausen bei, die auftreten, wenn Kommata und Punkte innerhalb einer Passage gesetzt werden, und gibt die maximale Dauer an.

Beispiel: Im folgenden Block kommen Pausen von 600 Millisekunden und die durch Kommata und Punkte verursachten Pausen innerhalb der 8-Sekunden-Sprachausgabe vor:

<speak> <prosody amazon:max-duration="8s"> Human speech is a powerful way to communicate. <break time="600ms"/> Even a simple ‘Hello’ can convey a lot of information depending on the pitch, intonation, and tempo. </prosody> </speak>

Hinzufügen einer Pause zwischen Sätzen

<s>

Mit dem Tag <s> können Sie eine Pause zwischen Zeilen oder Sätzen im Text einfügen. Die Verwendung dieses Tags hat die gleiche Wirkung wie:

  • Beenden eines Satzes mit einem Punkt (.)

  • Angeben einer Pause mit <break strength="strong"/>

Im Unterschied zum Tag <break> schließt das Tag <s> den Satz ein. Das ist beim Generieren von Sprachausgabe nützlich, deren Eingabetext zeilen- statt satzweise angeordnet ist, also beispielsweise bei Gedichten.

Im folgenden Beispiel sorgt das Tag <s> für eine kurze Pause nach dem ersten und zweiten Satz. Der letzte Satz hat kein <s>-Tag. Es folgt aber trotzdem eine kurze Pause, weil er mit einem Punkt endet.

<speak> <s>Mary had a little lamb</s> <s>Whose fleece was white as snow</s> And everywhere that Mary went, the lamb was sure to go. </speak>

Steuern des Sprechens spezieller Wortarten

<say-as>

Verwenden Sie das Tag <say-as> mit dem Attribut interpret-as, um Amazon Polly mitzuteilen, wie bestimmte Zeichen, Wörter oder Zahlen gesprochen werden sollen. So können Sie Kontext bereitstellen und Mehrdeutigkeiten in Bezug auf das Rendern des Texts durch Amazon Polly beseitigen.

Das Tag say-as verwendet ein Attribut (<interpret-as>), für das mehrere mögliche Werten existieren. Jeder dieser Werte verwendet die gleiche Syntax:

<say-as interpret-as="value">[text to be interpreted]</say-as>

Die folgenden Werte können mit interpret-as verwendet werden:

  • characters oder spell-out: Buchstabiert jeden Buchstaben im Text (z. B. a-b-c).

  • cardinal oder number: Interpretiert den numerischen Text als Kardinalzahl (z. B. 1.234).

  • ordinal: Interpretiert den numerischen Text als Ordnungszahl (z. B. 1.234).

  • digits: Spricht jede Ziffer einzeln (wie in 1-2-3-4).

  • fraction: Interpretiert numerischen Text als Bruch. Dies funktioniert sowohl für gemeine Brüche wie 3/20 als auch für gemischte Brüche wie 2 ½. Weitere Informationen hierzu finden Sie unten.

  • unit: Interpretiert einen numerischen Text als Messwert. Der Wert sollte eine Zahl oder ein Bruch gefolgt von einer Einheit ohne Leerstelle wie in 1/2inch oder nur eine Einheit wie in 1meter sein.

  • date: Interpretiert den Text als Datum. Das Datumsformat muss durch das Formatattribut festgelegt werden. Weitere Informationen hierzu finden Sie unten.

  • time: interpretiert den numerischen Text als Dauer in Minuten und Sekunden (z. B. 1'21").

  • address: Interpretiert den Text als Teil einer Angabe von Straße und Hausnummer.

  • expletive: Der im Tag eingeschlossene Inhalt wird durch einen Piepton überdeckt.

  • telephone: Interpretiert den numerischen Text als sieben- oder zehnstellige Telefonnummer, z. B. 2025551212. Sie können diesen Wert auch für Nebenstellen wie in 2025551212x345 verwenden. Weitere Informationen hierzu finden Sie unten.

    Anmerkung

    Derzeit ist die Option telephone nur für englischsprachige Stimmen verfügbar.

Bruchzahlen

Amazon Polly interpretiert Werte innerhalb des say-as-Tags mit dem Attribut interpret-as="fraction" als einfache Brüche. Im Folgenden wird die Syntax für Bruchzahlen beschrieben.

  • Bruchzahlen

    Syntax: Kardinalzahl/Kardinalzahl wie 2/9.

    Beispiel: <say-as interpret-as="fraction">2/9</say-as> wird ausgesprochen als "two ninth".

  • Nicht negative gemischte Nummer

    Syntax: Kardinalzahl+Kardinalzahl/Kardinalzahl, z. B. 3+1/2.

    Beispiel: <say-as interpret-as="fraction">3+1/2</say-as> wird ausgesprochen als "three and a half".

    Anmerkung

    Zwischen "3" und "1/2" muss sich ein + befinden. Amazon Polly unterstützt keine gemischten Zahlen ohne das +, wie z. B. "3 1/2".

Datumsangaben

Wenn interpret-as auf date gesetzt ist, müssen Sie auch das Datumsformat angeben.

Für dieses Tag gilt folgende Syntax:

<say-as interpret-as="date" format="format">[date]</say-as>

Beispiel:

<speak> I was born on <say-as interpret-as="date" format="dmy">12-31-1900</say-as>. </speak>

Die folgenden Formate können für das Attribut date angegeben werden.

  • mdy: Monat-Tag-Jahr.

  • dmy: Tag-Monat-Jahr.

  • ymd: Jahr-Monat-Tag.

  • md: Monat-Tag.

  • dm: Tag-Monat.

  • ym: Jahr-Monat.

  • my: Monat-Jahr.

  • d: Tag.

  • m: Monat.

  • y: Jahr.

  • yyyymmdd: Jahr-Monat-Tag. Wenn Sie dieses Format verwenden, können Sie Amazon Polly mithilfe von Fragezeichen veranlassen, die betreffenden Teile des Datums auszulassen.

    Beispiel: Amazon Polly gibt Folgendes als "22. September" wieder:

    <say-as interpret-as="date">????0922</say-as>

    Format ist nicht erforderlich.

Telefonnummer

Amazon Polly versucht auch ohne das Tag <say-as>, den Eingabetext basierend auf der Formatierung korrekt zu interpretieren. Wenn der Text die Ziffernfolge "202-555-1212" enthält, interpretiert Amazon Polly dies als zehnstellige Telefonnummer und spricht jede Ziffer einzeln. Jeder Bindestrich wird durch eine kurze Pause repräsentiert. In diesem Fall müssen Sie <say-as interpret-as="telephone"> nicht verwenden. Wenn Sie jedoch den Text "2025551212" eingeben und möchten, dass Amazon Polly ihn als Telefonnummer spricht, müssen Sie <say-as interpret-as="telephone"> angeben.

Die Logik zur Interpretation der einzelnen Elemente ist sprachspezifisch. Die Aussprache von Telefonnummern unterscheidet sich beispielsweise zwischen US-amerikanischem und britischem Englisch (in Großbritannien werden aufeinanderfolgende gleiche Ziffern zusammengefasst, z. B. "double five" oder "triple four"). Sie können das folgende Beispiel mit einer US-amerikanischen und einer britischen Stimme testen, um den Unterschied zu hören:

<speak> Richard's number is <say-as interpret-as="telephone">2122241555</say-as> </speak>

Aussprache von Akronymen und Abkürzungen

<sub>

Verwenden Sie das <sub>-Tag mit dem alias-Attribut, um gewählten Text – z. B. ein Akronym oder eine Abkürzung – durch ein anderes Wort (oder eine andere Aussprache) zu ersetzen.

Es gilt folgende Syntax:

<sub alias="new word">abbreviation</sub>

Im folgenden Beispiel wird der Name "Mercury" anstelle des chemischen Symbols für das Element gesprochen, um den Audioinhalt verständlicher zu machen.

<speak> My favorite chemical element is <sub alias="Mercury">Hg</sub>, because it looks so shiny. </speak>

Verbessern der Aussprache durch Angabe der Wortart

<w>

Sie können das Tag <w> verwenden, um die Aussprache von Wörtern anzupassen, indem Sie die Wortart oder eine alternative Bedeutung angeben. Dies erfolgt mithilfe des Attributs role.

Dieses Tag verwendet folgende Syntax:

<w role="attribute">text</w>

Folgende Werte können für das Attribut role angegeben werden:

So geben Sie die Wortart an:

  • amazon:VB: Das Wort wird als Verb (in der Gegenwartsform) interpretiert.

  • amazon:VBD: Das Wort wird als Vergangenheitsform oder als Partizip Perfekt interpretiert.

Beispiel: Je nach Wortart variiert die Aussprache des Wortes „read“ im US-Englischen in Abhängigkeit vom Tag:

<speak> The word <say-as interpret-as="characters">read</say-as> may be interpreted as either the present simple form <w role="amazon:VB">read</w>, or the past participle form <w role="amazon:VBD">read</w>. </speak>

So geben Sie eine alternative Bedeutung an:

  • amazon:SENSE_1: Der nicht standardmäßige Wortsinn wird verwendet (sofern vorhanden). Beispiel: Das Substantiv „bass“ wird je nach Bedeutung anders ausgesprochen. Die Standardbedeutung ist die tiefste Tonlage in der Musik. Die alternative Bedeutung ist eine Spezies von Süßwasserfischen, die auch als „bass“ bezeichnet, aber anders ausgesprochen wird. Durch <w role="amazon:SENSE_1">bass</w> wird in der Sprachausgabe die nichtstandardmäßige Aussprache (für den Süßwasserfisch) verwendet.

    Dieser Unterschied ist hörbar, wenn Sie Folgendes synthetisieren:

    <speak> Depending on your meaning, the word <say-as interpret-as="characters">bass</say-as> may be interpreted as either a musical element: read, or as its alternative meaning, a fresh waterfish <w role="amazon:SENSE_1">bass</w>. </speak>

Anmerkung

Einige Sprachen weisen möglicherweise eine andere Auswahl unterstützter Sprachelemente auf.

Hinzufügen von Atemgeräuschen

<amazon:breath> und <amazon:auto-breaths>

Natürlich klingende Sprache besteht aus richtig gesprochenen Wörtern und Atemgeräuschen. Wenn Sie der synthetisierten Sprachausgabe Atemgeräusche hinzufügen, klingt sie natürlicher. Die Tags <amazon:breath> und <amazon:auto-breaths> stellen Atemgeräusche bereit. Ihnen stehen folgende Optionen zur Verfügung:

  • Manueller Modus: Sie legen Position, Dauer und Lautstärke des Atemgeräusches im Text fest

  • Automatischer Modus: Amazon Polly fügt automatisch Atemgeräusche in die Sprachausgabe ein.

  • Gemischter Modus: Sie und Amazon Polly fügen Atemgeräusche hinzu.

Manueller Modus

Im manuellen Modus platzieren Sie das Tag <amazon:breath/> im Eingabetext an der Stelle, an der das Atemgeräusch hörbar werden soll. Sie können Dauer und Lautstärke des Atemgeräusches mit den Attributen duration und volume festlegen:

  • duration: legt die Dauer des Atemgeräusches fest. Folgende Werte sind zulässig: default, x-short, short, medium, long, x-long. Der Standardwert ist medium.

  • volume: Legt die Lautstärke des Atemgeräusches fest. Folgende Werte sind zulässig: default, x-soft, soft, medium, loud, x-loud. Der Standardwert ist medium.

Anmerkung

Die exakte Dauer und Lautstärke der betreffenden Attributwerte ist von der verwendeten Amazon Polly-Stimme abhängig.

Sie können ein Atemgeräusch mit Standardwerten festlegen, indem Sie <amazon:breath/> ohne Attribute verwenden.

Um beispielsweise Dauer und Lautstärke eines Atemgeräusches mit Attributen festzulegen, verwenden Sie folgende Attributwerte:

<speak> Sometimes you want to insert only <amazon:breath duration="medium" volume="x-loud"/>a single breath. </speak>

Für ein Atemgeräusch mit Standardwerten verwenden Sie einfach das Tag:

<speak> Sometimes you need <amazon:breath/>to insert one or more average breathes <amazon:breath/> so that the text sounds correct. </speak>

Sie können folgendermaßen Atemgeräusche in eine Textpassage einfügen:

<speak> <amazon:breath duration="long" volume="x-loud"/> <prosody rate="120%"> <prosody volume="loud"> Wow! <amazon:breath duration="long" volume="loud"/> </prosody> That was quite fast <amazon:breath duration="medium" volume="x-loud"/>. I almost beat my personal best time on this track. </prosody> </speak>

Automatischer Modus

Im automatischen Modus verwenden Sie das Tag <amazon:auto-breaths>, um Amazon Polly anzuweisen, automatisch Atemgeräusche in angemessenen Intervallen zu erzeugen. Sie können die Häufigkeit der Intervalle sowie Lautstärke und Dauer einstellen. Platzieren Sie das Tag </amazon:auto-breaths> am Anfang und das entsprechende schließende Tag am Ende des Textes, für den automatisch Atemgeräusche generiert werden sollen.

Anmerkung

Im Unterschied zum Tag <amazon:breath/> für den manuellen Modus ist für <amazon:auto-breaths> ein schließendes Tag (</amazon:auto-breaths>) erforderlich.

Sie können die folgenden optionalen Attribute mit dem Tag <amazon:auto-breaths> verwenden:

  • volume: Legt die Lautstärke der Atemgeräusche fest. Folgende Werte sind zulässig: default, x-soft, soft, medium, loud, x-loud. Der Standardwert ist medium.

  • frequency: Steuert, wie oft Atemgeräusche im Text generiert werden. Folgende Werte sind zulässig: default, x-low, low, medium, high, x-high. Der Standardwert ist medium.

  • duration: Legt die Dauer des Atemgeräusches fest. Folgende Werte sind zulässig: default, x-short, short, medium, long, x-long. Der Standardwert ist medium.

Standardmäßig hängt die Häufigkeit der Atemgeräusche vom Eingabetext ab. Atemgeräusche treten häufig nach Kommas und Punkten auf.

Die folgenden Beispiele demonstrieren die Verwendung des Tags <amazon:auto-breaths>. Um zu entscheiden, welche Optionen für Ihren Inhalt geeignet sind, können Sie die entsprechenden Beispiele in die Amazon Polly-Konsole kopieren und sich die Unterschiede anhören.

  • Automatischer Modus ohne optionale Parameter

    <speak> <amazon:auto-breaths>Amazon Polly is a service that turns text into lifelike speech, allowing you to create applications that talk and build entirely new categories of speech- enabled products. Amazon Polly is a text-to-speech service that uses advanced deep learning technologies to synthesize speech that sounds like a human voice. With dozens of lifelike voices across a variety of languages, you can select the ideal voice and build speech- enabled applications that work in many different countries.</amazon:auto-breaths> </speak>
  • Automatischer Modus mit Lautstärkeregelung: Für nicht angegebene Parameter (duration und frequency) werden die Standardwerte (medium) verwendet.

    <speak> <amazon:auto-breaths volume="x-soft">Amazon Polly is a service that turns text into lifelike speech, allowing you to create applications that talk and build entirely new categories of speech-enabled products. Amazon Polly is a text-to-speech service, that uses advanced deep learning technologies to synthesize speech that sounds like a human voice. With dozens of lifelike voices across a variety of languages, you can select the ideal voice and build speech- enabled applications that work in many different countries.</amazon:auto-breaths> </speak>
  • Automatischer Modus mit Häufigkeitsregelung: Für nicht angegebene Parameter (duration und volume) werden die Standardwerte (medium) verwendet.

    <speak> <amazon:auto-breaths frequency="x-low">Amazon Polly is a service that turns text into lifelike speech, allowing you to create applications that talk and build entirely new categories of speech-enabled products. Amazon Polly is a text-to-speech service, that uses advanced deep learning technologies to synthesize speech that sounds like a human voice. With dozens of lifelike voices across a variety of languages, you can select the ideal voice and build speech- enabled applications that work in many different countries.</amazon:auto-breaths> </speak>
  • Automatischer Modus mit mehreren Parametern: Wird der Parameter Duration nicht angegeben, verwendet Amazon Polly den Standardwert (medium).

    <speak> <amazon:auto-breaths volume="x-loud" frequency="x-low">Amazon Polly is a service that turns text into lifelike speech, allowing you to create applications that talk and build entirely new categories of speech-enabled products. Amazon Polly is a text-to-speech service, that uses advanced deep learning technologies to synthesize speech that sounds like a human voice. With dozens of lifelike voices across a variety of languages, you can select the ideal voice and build speech-enabled applications that work in many different countries.</amazon:auto-breaths> </speak>

Hinzufügen einer Dynamikkomprimierung

<amazon:effect name="drc">

Je nach dem in einer Audiodatei verwendeten Text, der Sprache und der Stimme reichen die Töne von leise bis laut. Umgebungsgeräusche, wie z. B. der Klang eines sich bewegenden Fahrzeugs, können oft die leisen Töne überdecken, wodurch die Audiospur schwer zu hören ist. Um die Lautstärke bestimmter Sounds in Ihrer Audiodatei zu erhöhen, verwenden Sie den Tag für die Dynamikbereichkomprimierung (drc).

Das drc-Tag stellt einen mittleren „Lautstärke“-Schwellenwert für Ihr Audiomaterial ein und erhöht die Lautstärke (die Verstärkung) der Sounds um diesen Schwellenwert. Es wendet die größte Verstärkungszunahme an, die dem Schwellenwert am nächsten ist, und die Verstärkungszunahme wird weiter weg vom Schwellenwert verringert.


                    Die Dynamikbereichkomprimierung erhöht die Lautstärke der Sounds um einen bestimmten Schwellenwert.

Dadurch werden die Klänge des mittleren Bereichs in einer geräuschvollen Umgebung besser hörbar, wodurch die gesamte Audiodatei klarer wird.

Der drc-Tag ist ein boolescher Parameter (entweder vorhanden oder nicht). Es verwendet die Syntax: <amazon:effect name="drc"> und wird mit </amazon:effect> geschlossen.

Sie können das Tag drc mit jeder Sprache oder Sprache verwenden, die von Amazon Polly unterstützt wird. Sie können es auf einen ganzen Abschnitt der Aufnahme oder nur für einige Wörter anwenden. Beispiel:

<speak> Some audio is difficult to hear in a moving vehicle, but <amazon:effect name="drc"> this audio is less difficult to hear in a moving vehicle.</amazon:effect> </speak>

Anmerkung

Wenn Sie „drc“ in der amazon:effect -Syntax verwenden, wird die Groß-/Kleinschreibung beachtet.

Verwenden von drc mit dem prosody volume-Tag

Wie die folgende Grafik zeigt, erhöht der Tag prosody volume die Lautstärke einer gesamten Audiodatei gleichmäßig vom ursprünglichen Level (gepunktete Linie) auf einen angepassten Level (durchgezogene Linie). Um die Lautstärke bestimmter Teile der Datei weiter erhöhen, verwenden Sie den drc-Tag mit dem prosody volume-Tag. Die Kombination von Tags hat keine Auswirkungen auf die Einstellungen des Tags prosody volume.


                    Mit dem prosody volume-Tag wird die Lautstärke der gesamten Audiodatei erhöht.

Wenn Sie die Tags drc und prosody volume zusammen verwenden, wendet Amazon Polly zuerst das Tag drc an und erhöht damit die mittleren Töne (die in der Nähe des Schwellenwerts liegen). Dann wendet es den Tag prosody volume an und erhöht die Lautstärke der gesamten Audiospur weiter gleichmäßig.


                    Die Verwendung des Tags drc mit einem Tag prosody volume erhöht die Lautstärke der mittleren Töne zusätzlich zur Lautstärke der gesamten Tonspur.

Um die Tags zusammen zu verwenden, verschachteln Sie sie ineinander. Beispiel:

<speak> <prosody volume="loud">This text needs to be understandable and loud. <amazon:effect name="drc"> This text also needs to be more understandable in a moving car.</amazon:effect></prosody> </speak>

In diesem Text erhöht der Tag prosody volume die Lautstärke der gesamten Passage auf „laut“- Der Tag drc erhöht die Lautstärke der Mittelwerte im zweiten Satz.

Anmerkung

Wenn Sie die Tags drc und prosody volume zusammen verwenden, verwenden Sie XML-Standardpraktiken zum Verschachteln von Tags.

Weicheres Sprechen

<amazon:effect phonation="soft">

Sie können angeben, dass Eingabetext weicher als normal gesprochen werden soll, indem Sie das Tag <amazon:effect phonation="soft"> verwenden.

Es gilt folgende Syntax:

<amazon:effect phonation="soft">text</amazon:effect>

Sie können dieses Tag beispielsweise folgendermaßen mit der Stimme Matthew verwenden:

<speak> This is Matthew speaking in my normal voice. <amazon:effect phonation="soft">This is Matthew speaking in my softer voice.</amazon:effect> </speak>

Steuern des Timbres

<amazon:effect vocal-tract-length>

Timbre ist die Klangqualität einer Stimme, mit der Sie den Unterschied zwischen Stimmen erkennen können, selbst wenn sie die gleiche Tonhöhe und Lautstärke haben. Eine der wichtigsten physiologischen Eigenschaften, die zur Sprachtimbre beiträgt, ist die Länge des Vokaltraktes. Der Vokaltrakt ist eine Lufthöhle, die sich von der Oberseite der Stimmfalten bis zum Rand der Lippen erstreckt.

Um das Timbre der Sprachausgabe in Amazon Polly zu steuern, verwenden Sie das Tag vocal-tract-length. Dieser Tag hat die Wirkung, die Länge des Vokaltrakts des Sprechers zu verändern, was wie eine Änderung der Sprechergröße klingt. Wenn Sie die vocal-tract-lengtherhöhen, klingt der Sprecher physikalisch größer. Wenn Sie es verringern, klingt der Sprecher kleiner. Dieses Tag kann zusammen mit jeder Stimme im Sprachausgabeportfolio von Amazon Polly verwendet werden.

Verwenden Sie die folgenden Werte, um das Timbre zu ändern:

  • +n% oder -n%: Passt die Vokaltraktlänge um einen relativen Prozentsatz der derzeit verwendeten Stimme an. Beispiel: +4 % oder -2 %. Gültige Werte liegen zwischen 100 % und -50 %. Werte außerhalb dieses Bereichs werden abgeschnitten. Zum Beispiel klingt +111 % wie +100 % und -60 % klingt wie -50 %.

  • n%: Ändert die Länge des Vokaltrakts auf einen absoluten Prozentsatz der Länge der aktuellen Stimme. Zum Beispiel 110 % oder 75 %. Ein absoluter Wert von 110 % entspricht einem relativen Wert von +10 %. Ein absoluter Wert von 100 % entspricht dem Standardwert für die aktuelle Stimme.

Das folgende Beispiel zeigt, wie die Länge des Vokaltrakts geändert wird, um das Timbre zu ändern:

<speak> This is my original voice, without any modifications. <amazon:effect vocal-tract-length="+15%"> Now, imagine that I am much bigger. </amazon:effect> <amazon:effect vocal-tract-length="-15%"> Or, perhaps you prefer my voice when I'm very small. </amazon:effect> You can also control the timbre of my voice by making minor adjustments. <amazon:effect vocal-tract-length="+10%"> For example, by making me sound just a little bigger. </amazon:effect><amazon:effect vocal-tract-length="-10%"> Or, making me sound only somewhat smaller. </amazon:effect> </speak>

Kombinieren von mehreren Tags

Sie können das Tag vocal-tract-length mit jedem anderen SSML-Tag kombinieren, das von Amazon Polly unterstützt wird. Da Timbre (Vokaltraktlänge) und Tonhöhe eng miteinander verbunden sind, können Sie die besten Ergebnisse erzielen, wenn Sie sowohl den vocal-tract-length als auch den <prosody pitch>-Tag verwenden. Um die realistischste Stimme zu erzeugen, empfehlen wir Ihnen, unterschiedliche Prozentsätze der Änderungen für die beiden Tags zu verwenden. Experimentieren Sie mit verschiedenen Kombinationen, um die gewünschten Ergebnisse zu erzielen.

Das folgende Beispiel zeigt, wie Tags kombiniert werden.

<speak> The pitch and timbre of a person's voice are connected in human speech. <amazon:effect vocal-tract-length="-15%"> If you are going to reduce the vocal tract length, </amazon:effect><amazon:effect vocal-tract-length="-15%"> <prosody pitch="+20%"> you might consider increasing the pitch, too. </prosody></amazon:effect> <amazon:effect vocal-tract-length="+15%"> If you choose to lengthen the vocal tract, </amazon:effect> <amazon:effect vocal-tract-length="+15%"> <prosody pitch="-10%"> you might also want to lower the pitch. </prosody></amazon:effect> </speak>

Flüstern

<amazon:effect name="whispered">

Dieses Tag gibt an, dass der Eingabetext nicht normal gesprochen, sondern geflüstert werden soll. Dieses Tag kann zusammen mit jeder Stimme im Sprachausgabeportfolio von Amazon Polly verwendet werden.

Für dieses Tag gilt folgende Syntax:

<amazon:effect name=”whispered”>text</amazon:effect>

Beispiel:

<speak> <amazon:effect name="whispered">If you make any noise, </amazon:effect> she said, <amazon:effect name="whispered">they will hear us.</amazon:effect> </speak>

In diesem Fall wird die generierte Sprachausgabe geflüstert, während der Ausdruck "she said" von der gewählten Amazon Polly-Stimme als normale Sprachausgabe gesprochen wird.

Sie können den „Flüstereffekt“ noch verstärken, indem Sie den Satzrhythmus je nach Belieben um bis zu 10 % verlangsamen.

Beispiel:

<speak> When any voice is made to whisper, <amazon:effect name="whispered"> <prosody rate="-10%">the sound is slower and quieter than normal speech </prosody></amazon:effect> </speak>

Beim Erstellen der Sprachmarkierungen für eine Flüsterstimme muss der Audiostream diese ebenfalls enthalten, um sicherzustellen, dass die Sprachmarkierungen zum Audiostream passen.

Auf dieser Seite: