Speech Synthesis Markup Language (SSML) ist eine XML-basierte Auszeichnungssprache, die zur Feinabstimmung von Text-zu-Sprache-Ausgabeeigenschaften wie Tonhöhe, Aussprache, Sprechgeschwindigkeit, Lautstärke usw. verwendet werden kann. Sie haben eine größere Kontrolle und Flexibilität als bei der Eingabe von reinem Text.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="string">
<mstts:backgroundaudio src="string" volume="string" fadein="string" fadeout="string"/>
<voice name="string" effect="string">
<audio src="string"></audio>
<bookmark mark="string"/>
<break strength="string" time="string" />
<emphasis level="value"></emphasis>
<lang xml:lang="string"></lang>
<lexicon uri="string"/>
<math xmlns="http://www.w3.org/1998/Math/MathML"></math>
<mstts:audioduration value="string"/>
<mstts:express-as style="string" styledegree="value" role="string"></mstts:express-as>
<mstts:silence type="string" value="string"/>
<mstts:viseme type="string"/>
<p></p>
<phoneme alphabet="string" ph="string"></phoneme>
<prosody pitch="value" contour="value" range="value" rate="value" volume="value"></prosody>
<s></s>
<say-as interpret-as="string" format="string" detail="string"></say-as>
<sub alias="string"></sub>
</voice>
</speak>
Erklärung des Etiketts:
audio
: Wenn die Audiodatei nicht verfügbar oder abspielbar ist, können Sieaudio
gesprochenen Klartext oder SSML-Markup in den Hauptteil des Elements einfügen.audio
Das Element enthält außerdem Text und die folgenden Elemente :audio
,break
,p
,s
,phoneme
, und .prosody
say-as
sub
bookmark
: Dieses Element darf keinen Text oder andere Elemente enthalten.break
: Dieses Element darf keinen Text oder andere Elemente enthalten.emphasis
: Dieses Element kann Text und die folgenden Elemente enthalten:audio
,break
,emphasis
,lang
,phoneme
, und .prosody
say-as
sub
lang
: Dieses Element kann alle anderen Elemente außermstts:backgroundaudio
,voice
und enthalten .speak
lexicon
: Dieses Element darf keinen Text oder andere Elemente enthalten.math
: Dieses Element kann nur Text- und MathML-Elemente enthalten.mstts:audioduration
: Dieses Element darf keinen Text oder andere Elemente enthalten.mstts:backgroundaudio
: Dieses Element darf keinen Text oder andere Elemente enthalten.mstts:express-as
: Dieses Element kann Text und die folgenden Elemente enthalten:audio
,break
,emphasis
,lang
,phoneme
, und .prosody
say-as
sub
mstts:silence
: Dieses Element darf keinen Text oder andere Elemente enthalten.mstts:viseme
: Dieses Element darf keinen Text oder andere Elemente enthalten.p
: Dieses Element kann Text und die folgenden Elemente enthalten:audio
,break
,phoneme
,prosody
,say-as
, und .sub
mstts:express-as
s
phoneme
: Dieses Element kann nur Text und keine anderen Elemente enthalten.prosody
: Dieses Element kann Text und die folgenden Elemente enthalten:audio
,break
,p
,phoneme
,prosody
, und .say-as
sub
s
s
: Dieses Element kann Text und die folgenden Elemente enthalten:audio
,break
,phoneme
,prosody
, und .say-as
mstts:express-as
sub
say-as
: Dieses Element kann nur Text und keine anderen Elemente enthalten.sub
: Dieses Element kann nur Text und keine anderen Elemente enthalten.speak
: Das Stammelement des SSML-Dokuments. Dieses Element kann die folgenden Elemente enthalten:mstts:backgroundaudio
undvoice
.voice
: Dieses Element kann alle anderen Elemente außer und enthaltenmstts:backgroundaudio
.speak
Der Sprachdienst kann Pausen automatisch entsprechend behandeln (z. B. eine kurze Pause nach einem Punkt einlegen) oder die richtige Tonhöhe in einem Satz verwenden, der mit einem Fragezeichen endet.
Beispiel für die Änderung der Sprechgeschwindigkeit
Dieses SSML-Snippet zeigt, wie Sie mithilfe von rate
Attributen die Sprechgeschwindigkeit auf 30 % höher als die Standard-Sprechgeschwindigkeit ändern.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-JennyNeural">
<prosody rate="+30.00%">
Enjoy using text-to-speech.
</prosody>
</voice>
</speak>
Anwendungsfälle: