Verwenden Sie SSML auf dem AWS CLI - Amazon Polly

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden Sie SSML auf dem AWS CLI

Sie können den verwenden, AWS CLI um SSML-Eingabetext zu synthetisieren. Die folgenden Beispiele zeigen, wie Sie häufige Aufgaben über die AWS CLI ausführen.

Verwenden von SSML mit dem Befehl Synthesize-Speech

In diesem Beispiel wird gezeigt, wie der Befehl synthesize-speech mit einer SSML-Zeichenfolge verwendet wird. Wenn Sie den Befehl synthesize-speech verwenden, geben Sie üblicherweise Folgendes an:

  • Eingabetext (erforderlich)

  • Öffnendes und schließendes Tag (erforderlich)

  • Das Ausgabeformat

  • Eine Stimme

In diesem Beispiel geben Sie eine einfache Textzeichenfolge in Anführungszeichen sowie die erforderlichen öffnenden und schließenden <speak></speak>-Tags an.

Wichtig

Obwohl Sie in der Amazon Polly Polly-Konsole keine Anführungszeichen für den Eingabetext verwenden, müssen Sie sie bei der Verwendung von verwenden. AWS CLI Es ist auch wichtig, dass Sie zwischen den Anführungszeichen rund um den Eingabetext und den für einzelne Tags erforderlichen Anführungszeichen unterscheiden.

Sie können beispielsweise den Eingabetext in Standardanführungszeichen (") einschließen und einfache Anführungszeichen (') für eingebettete Tags verwenden – oder umgekehrt. Beide Varianten funktionieren für Unix, Linux und macOS. Für Windows müssen Sie den Eingabetext dagegen in Standardanführungszeichen einschließen und für die Tags einfache Anführungszeichen verwenden.

Unter allen Betriebssystemen können Sie den Eingabetext in Standardanführungszeichen (") einschließen und einfache Anführungszeichen (') für eingebettete Tags verwenden. Beispielsweise:

--text "<speak>Hello <break time='300ms'/> World</speak>"

Unter Unix, Linux und macOS können Sie auch umgekehrt vorgehen, also den Eingabetext in einfache Anführungszeichen (') einschließen und Standardanführungszeichen (") für eingebettete Tags verwenden:

--text '<speak>Hello <break time="300ms"/> World</speak>'

Das folgende AWS CLI Beispiel ist für Unix, Linux und macOS formatiert. Ersetzen Sie unter Windows den Unix-Fortsetzungszeichen mit umgekehrtem Schrägstrich (\) am Ende jeder Zeile durch ein Caret (^) und setzen Sie den Eingabetext in vollständige Anführungszeichen („) und einfache Anführungszeichen (') für interne Tags.

aws polly synthesize-speech \ --text-type ssml \ --text '<speak>Hello world</speak>' \ --output-format mp3 \ --voice-id Joanna \ speech.mp3

Sie können die Sprachausgabe anhören, indem Sie die resultierende speech.mp3-Datei mit einem Audio-Player abspielen.

Synthetisieren eines SSL-erweiterten Dokuments

Bei längeren Eingabedaten ist es wahrscheinlich komfortabler, den SSML-Inhalt in einer Datei zu speichern und den Dateinamen dann im synthesize-speech-Befehl anzugeben. Sie können beispielsweise Folgendes in einer Datei namens example.xml speichern:

<?xml version="1.0"?> <speak version="1.1" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2001/10/synthesis http://www.w3.org/TR/speech-synthesis11/synthesis.xsd" xml:lang="en-US">Hello World</speak>

Das Attribut xml:lang gibt en-US (Englisch (USA)) als Sprache für den Eingabetext an. Weitere Informationen dazu, wie sich die Sprache des Eingabetexts und die Sprache der gewählten Stimme auf die SynthesizeSpeech-Operation auswirken, finden Sie unter Verbesserung der Aussprache von Fremdwörtern.

So führen Sie eine Datei mit SSML-Tags aus
  1. Speichern Sie die SSML-Daten in einer Datei (zum Beispiel als example.xml).

  2. Führen Sie den folgenden synthesize-speech-Befehl in dem Pfad aus, in dem die XML-Datei gespeichert ist. Verwenden Sie die SSML-Datei als Eingabe, indem Sie anstelle des Eingabetexts file:\\example.xml angeben. Weil dieser Befehl auf eine Datei verweist und nicht den eigentlichen Eingabetext enthält, werden keine Anführungszeichen verwendet.

    Anmerkung

    Das folgende AWS CLI Beispiel ist für Unix, Linux und macOS formatiert. Ersetzen Sie unter Windows den umgekehrten Schrägstrich (\), das Unix-Fortsetzungszeichen, am Ende jeder Zeile durch ein Caret-Zeichen oder Zirkumflex (^).

    aws polly synthesize-speech \ --text-type ssml \ --text file://example.xml \ --output-format mp3 \ --voice-id Joanna \ speech.mp3
  3. Sie können die Sprachausgabe anhören, indem Sie die resultierende speech.mp3-Datei mit einem Audio-Player abspielen.

Verwenden von SSML für allgemeine Amazon Polly Polly-Aufgaben

Die folgenden Beispiele zeigen, wie SSML-Tags verwendet werden, um allgemeine Amazon Polly Polly-Aufgaben zu erledigen. Informationen zu weiteren SSML-Tags finden Sie unter Unterstützte SSML-Tags.

Verwenden Sie den folgenden synthesize-speech-Befehl mit geeignetem Text mit SSML-Tags, um die folgenden Beispiele zu testen:

Das folgende AWS CLI Beispiel ist für Unix, Linux und macOS formatiert. Ersetzen Sie unter Windows den Unix-Fortsetzungszeichen mit umgekehrtem Schrägstrich (\) am Ende jeder Zeile durch ein Caret (^) und setzen Sie den Eingabetext in vollständige Anführungszeichen („) und einfache Anführungszeichen (') für interne Tags.

aws polly synthesize-speech \ --text-type ssml \ --text '<speak>Hello <break time="300ms"/> World</speak>' \ --output-format mp3 \ --voice-id Joanna \ speech.mp3

Eine Pause hinzufügen

Verwenden Sie das Element <break>, um zwischen Wörtern eine Pause hinzuzufügen. Im folgenden SSML-Befehl synthesize-speech wird das Element <break> verwendet, um eine Pause von 300 Millisekunden zwischen den Worten „Hello“ und „World“ einzufügen.

<speak> Hello <break time="300ms"/> World. </speak>

Steuerung von Lautstärke, Tonhöhe und Geschwindigkeit

Verwenden Sie das Element <prosody>, um Tonlage, Sprechgeschwindigkeit und Sprechlautstärke zu steuern.

  • Im folgenden "synthesize-speech"-Befehl wird das Element <prosody> zum Steuern der Lautstärke verwendet:

    <speak> <prosody volume="+20dB">Hello world</prosody> </speak>
  • Im folgenden synthesize-speech-Befehl wird das Element <prosody> verwendet, um die Tonlage zu steuern:

    <speak> <prosody pitch="x-high">Hello world.</prosody> </speak>
  • Im folgenden synthesize-speech-Befehl wird das Element <prosody> verwendet, um die Sprechgeschwindigkeit anzugeben:

    <speak> <prosody rate="x-fast">Hello world.</prosody> </speak>
  • Sie können in einem <prosody>-Element mehrere Attribute festlegen, wie die folgenden Beispiele zeigen:

    <speak> <prosody volume="x-loud" pitch="x-high" rate="x-fast">Hello world.</prosody> </speak>

Flüstern

Zum Flüstern von Wörtern können Sie das Element <amazon:effect name="whispered"> verwenden. Im folgenden Beispiel weist das <amazon:effect name="whispered"> Element Amazon Polly an, „kleines Lamm“ zu flüstern:

<speak> Mary has a <amazon:effect name="whispered">little lamb.</amazon:effect> </speak>

Dieser Effekt kann mit dem Element <prosody> verstärkt werden, das die Geschwindigkeit der geflüsterten Sprachausgabe etwas verlangsamt.

Wörter hervorheben

Um ein Wort oder eine Wendung zu betonen, verwenden Sie das Element <emphasis>.

<speak> <emphasis level="strong">Hello</emphasis> world how are you? </speak>

Spezifizieren, wie bestimmte Wörter gesagt werden sollen

Mit dem Element <say-as> können Sie den Typ des zu sprechenden Texts angeben.

In der folgenden SSML-Anweisung gibt <say-as> beispielsweise an, dass der Text "4/6" als Datum interpretiert werden soll. Das Attribut interpret-as="date" format="dm" gibt an, dass der Text als Datum im Format Monat/Tag gesprochen werden soll.

Sie können das <say-as>Element auch verwenden, um Amazon Polly anzuweisen, Zahlen als Brüche, Telefonnummern, Maßeinheiten und mehr zu sagen.

<speak> Today is <say-as interpret-as="date" format="md" >4/6</say-as> </speak>

Die Sprachausgabe lautet: "Today is June 4th." Das Tag <say-as> gibt an, wie der Text interpretiert werden soll, indem weitere Informationen mit dem Attribut interpret-as bereitgestellt werden.

Spielen Sie die resultierende speech.mp3-Datei ab, um die Sprachausgabe zu prüfen.

Weitere Informationen zu diesem Element finden Sie unter Steuert, wie bestimmte Arten von Wörtern gesprochen werden .

Verbesserung der Aussprache von Fremdwörtern

Amazon Polly geht davon aus, dass der eingegebene Text in derselben Sprache verfasst ist wie die Sprache, die von der ausgewählten Stimme gesprochen wird. Um die Aussprache fremdsprachiger Wörter im Eingabetext zu verbessern, gehen Sie im synthesize-speech-Aufruf folgendermaßen vor: Geben Sie die Zielsprache mit dem Attribut xml:lang an. Dadurch wird Amazon Polly angewiesen, unterschiedliche Ausspracheregeln für die von Ihnen markierten Fremdwörter anzuwenden.

Die folgenden Beispiele zeigen, wie Sie unterschiedliche Sprachkombinationen im Eingabetext verwenden und Stimmen sowie die Aussprache für fremdsprachige Wörter angeben. Eine vollständige Liste der verfügbaren Sprachen finden Sie unter Sprachen bei Amazon Polly.

Im folgenden Beispiel spricht die Stimme (Joanna) US-Englisch. Standardmäßig geht Amazon Polly davon aus, dass der eingegebene Text in derselben Sprache wie die Stimme verfasst ist (in diesem Fall US-Englisch). Wenn Sie das xml:lang Tag verwenden, interpretiert Amazon Polly den Text als Spanisch und der Text wird so gesprochen, wie die ausgewählte Stimme spanische Wörter gemäß den Ausspracheregeln der Fremdsprache aussprechen würde. Ohne dieses Tag wird der Text unter Verwendung der Ausspracheregeln für die gewählte Stimme gesprochen.

<speak> That restaurant is terrific. <lang xml:lang="es-ES">Mucho gusto.</lang> </speak>

Da die Sprache des eingegebenen Textes Englisch ist, ordnet Amazon Polly die spanischen Phoneme den englischen Phonemen zu, die ihnen am nächsten kommen. Dies hat zur Folge, dass Joanna den Text als gebürtige US-Amerikanerin spricht, spanische Wörter also richtig, aber mit US-amerikanischem Akzent ausspricht.

Anmerkung

Einige Sprachen sind ähnlicher als andere, deshalb funktionieren einige Sprachkombinationen besser.