Die Actions on Google-Plattform unterstützt neben der SSML-Betafunktion Standard-SSML-Elemente in Actions on Google:
Zusammenfassung der unterstützten Beta-SSML-Features:
<phoneme>
: Aussprache bestimmter Wörter anpassen.<say-as interpret-as="duration">
: Dauer angeben.<voice>
: In derselben Anfrage zwischen den Stimmen wechseln.<lang>
: Mehrere Sprachen in derselben Anfrage verwenden.- Zeitpunkte: Mit dem Tag
<mark>
kann der Zeitpunkt eines angegebenen im Transkript.
<phoneme>
Sie können das Tag <phoneme>
verwenden, um benutzerdefinierte Aussprache von Wörtern inline zu erzeugen. Actions on Google akzeptiert die
IPA und
Laute Alphabete in X-SAMPA. Weitere Informationen finden Sie in der
Seite "Phonemes" mit einer Liste der unterstützten
Sprachen und Phoneme.
Jede Anwendung des Tags <phoneme>
leitet die Aussprache eines einzelnen Worts weiter:
<phoneme alphabet="ipa" ph="ˌmænɪˈtoʊbə">manitoba</phoneme> <phoneme alphabet="x-sampa" ph='m@"hA:g@%ni:'>mahogany</phoneme>
Betonungsmarkierungen
Es gibt bis zu drei Betonungsstufen, die in eine Transkription eingebunden werden können:
- Primärer Stresspegel: Wird in IPA mit
ˈ
und in X-SAMPA mit"
gekennzeichnet. - Sekundärer Stress: in IPA mit
ˌ
und in X-SAMPA mit%
gekennzeichnet. - Ohne Betonung: Wird nicht mit einem Symbol (in einer der beiden Notationen) gekennzeichnet.
Einige Sprachen haben möglicherweise weniger als drei Ebenen oder kennzeichnen überhaupt keine Betonungsplatzierung. Auf der Seite "Phonemes" finden Sie dem Stresspegel, der für deine Sprache verfügbar ist. Stressmarkierungen werden am Beginn jeder betonten Silbe. Zum Beispiel im amerikanischen Englisch:
Beispielwort | IPA | X-SAMPA |
---|---|---|
Wasser | ˈwɑːtɚ |
"wA:t@` |
unter Wasser | ˌʌndɚˈwɑːtɚ |
%Vnd@"wA:t@ |
Breite vs. eng gefasste Transkriptionen
In der Regel sollten die Transkriptionen eher breit und phonemisch gehalten werden.
In amerikanischem Englisch transkribieren Sie z. B. intervokative t
(anstelle eines
antippen):
Beispielwort | IPA | X-SAMPA |
---|---|---|
Butter | ˈbʌtɚ statt ˈbʌɾɚ |
"bVt@` statt "bV4@` |
Es gibt einige Fälle, in denen die Verwendung der phonemischen Darstellung dazu führt, dass Ihre TTS-Ergebnisse unnatürlich klingen (z. B. wenn die Phonemfolge anatomisch schwer auszusprechen ist).
Ein Beispiel ist die Assimilation für s
auf Englisch. In diesem Fall sollte sich die Anpassung in der Transkription widerspiegeln:
Beispielwort | IPA | X-SAMPA |
---|---|---|
Katzen | ˈkæts |
"k{ts |
Hunde | ˈdɑːgz statt ˈdɑːgs |
"dA:gz statt "dA:gs |
Reduzierung
Jede Silbe muss einen (und nur einen) Vokal enthalten. Das bedeutet, dass Sie syllabische Konsonanten vermeiden und sie stattdessen mit einem reduzierten Vokal transkribieren sollten. Beispiel:
Beispielwort | IPA | X-SAMPA |
---|---|---|
Junge | ˈkɪtən statt ˈkɪtn |
"kIt@n statt "kitn |
kettle | ˈkɛtəl statt ˈkɛtl |
"kEt@l statt "kEtl |
Auszug
Optional können Sie Silbengrenzen mithilfe von .
angeben. Jede Silbe muss
einen (und nur einen) Vokal enthalten. Beispiel:
Beispielwort | IPA | X-SAMPA |
---|---|---|
readability | ˌɹiː.də.ˈbɪ.lə.tiː |
%r\i:.d@."bI.l@.ti: |
Dauer
Die Actions on Google-Plattform unterstützt <say-as interpret-as="duration">
, um korrekt
der Lesedauer. Das folgende Beispiel würde wie folgt gesprochen: „fünfmal
Stunden und dreißig Minuten“:
<say-as interpret-as="duration" format="h:m">5:30</say-as>
Der Formatstring unterstützt die folgenden Werte:
Abkürzung | Wert |
---|---|
Std. | Stunden |
m | Minuten |
s | Sekunden |
ms | Millisekunden |
<voice>
Mit dem Tag <voice>
können Sie mehr als eine Stimme in einer einzelnen SSML-Anfrage verwenden. Im folgenden Beispiel ist die Standardstimme eine englische Männerstimme.
Alle Wörter werden in dieser Stimme synthetisiert, mit Ausnahme von "qu'est-ce qui t'amène ici", das auf Französisch mit einer weiblichen Stimme anstelle der Standardsprache (Englisch) und des Standardgeschlechts (männlich) verbalisiert wird.
<speak>And then she asked, <voice language="fr-FR" gender="female">qu'est-ce qui t'amène ici</voice><break time="250ms"/> in her sweet and gentle voice.</speak>
Alternativ können Sie ein <voice>
-Tag verwenden, um eine einzelne Stimme anzugeben (die
Voice name auf dem
Seite zu unterstützten Stimmen und Sprachen)
statt language
und/oder gender
anzugeben:
<speak>The dog is friendly<voice name="fr-CA-Wavenet-B">mais la chat est mignon</voice><break time="250ms"/> said a pet shop owner</speak>
Wenn Sie das <voice>
-Tag verwenden, erwartet Actions on Google Folgendes:
name
(die
Name deiner Stimme
oder einer Kombination der folgenden Attribute. Alle drei
sind optional. Sie müssen jedoch mindestens ein Attribut angeben, wenn Sie kein
name
gender
: Entwedermale
,female
oderneutral
.variant
: Wird als Tiebreaker verwendet, wenn mehrere Möglichkeiten der Stimmen, die auf Ihrer Konfiguration basieren.language
: Die gewünschte Sprache. In einem bestimmten<voice>
-Tag kann nur eine Sprache angegeben werden. Geben Sie Ihre Sprache im BCP-47-Format an. Sie finden den BCP-47-Code für Ihre Sprache in der Spalte Sprachcode auf der Seite Unterstützte Stimmen und Sprachen.
Sie können auch die relative Priorität der einzelnen Attribute gender
, variant
und language
steuern. Verwenden Sie dazu zwei zusätzliche Tags: required
und ordering
.
required
: wenn ein Attribut alsrequired
festgelegt und nicht konfiguriert ist schlägt die Anfrage fehl.ordering
: Alle Attribute, die nach einemordering
-Tag aufgeführt werden, werden als bevorzugte Attribute und nicht als erforderlich betrachtet. Die SSML berücksichtigt bevorzugte Attribute auf Best-Effort-Basis in der Reihenfolge, in der sie aufgeführt sind, nach demordering
-Tag hinzu. Wenn bevorzugte Attribute konfiguriert sind gibt Actions on Google zwar eine gültige Stimme zurück, da die falsche Konfiguration verworfen wurde.
Beispiele für Konfigurationen mit den Tags required
und ordering
:
<speak>And there it was <voice language="en-GB" gender="male" required="gender" ordering="gender language">a flying bird </voice>roaring in the skies for the first time.</speak>
<speak>Today is supposed to be <voice language="en-GB" gender="female" ordering="language gender">Sunday Funday.</voice></speak>
<lang>
Sie können <lang>
verwenden, um Text in mehreren Sprachen in dieselbe SSML-Anfrage aufzunehmen. Alle Sprachen werden in derselben Stimme synthetisiert, sofern Sie die Stimme nicht mit dem Tag <voice>
explizit ändern. Der String xml:lang
muss Folgendes enthalten:
Zielsprache im BCP-47-Format (dieser Wert wird als „Sprachcode“ in
die unterstützten Stimmen
Tabelle). Im folgenden Beispiel wird „chat“ wird auf Französisch statt auf
der Standardsprache (Englisch):
<speak>The french word for cat is <lang xml:lang="fr-FR">chat</lang></speak>
Die Actions on Google-Plattform unterstützt das <lang>
-Tag nach bestem Wissen und Gewissen. Nicht alle
Kombinationen führen zur gleichen Qualität, wenn sie im selben
SSML-Anfrage. In manchen Fällen kann eine Sprachkombination einen Effekt haben, der zwar nachweisbar, aber subtil ist oder als negativ empfunden wird. Bekannte Probleme:
- Japanisch mit Kanji-Zeichen wird vom Tag
<lang>
nicht unterstützt. Die Eingabe wird transliteriert und als chinesische Schriftzeichen gelesen. - semitische Sprachen wie Arabisch, Hebräisch und Persisch werden von
das Tag
<lang>
und führt zu Stille. Wenn Sie eine dieser Sprachen empfehlen wir, das<voice>
-Tag zu verwenden, um zu einer Stimme zu wechseln, die spricht die gewünschte Sprache (falls verfügbar).