Speech Synthesis Markup Language gebruiken
Hoewel u met de Azure AI Speech SDK tekst zonder opmaak kunt verzenden om te worden gesynthetiseerd in spraak (bijvoorbeeld met behulp van de Methode SpeakTextAsync(), ondersteunt de service ook een xml-syntaxis voor het beschrijven van de kenmerken van de spraak die u wilt genereren. Deze SSML-syntaxis (Speech Synthesis Markup Language ) biedt meer controle over hoe de gesproken uitvoer klinkt, zodat u het volgende kunt doen:
- Geef een spreekstijl op, zoals 'opgewonden' of 'vrolijk' wanneer u een neurale stem gebruikt.
- Plaats pauzes of stilte.
- Geef phonemes (fonetische uitspraak) op, bijvoorbeeld om de tekst 'SQL' uit te spreken als 'vervolg'.
- Pas de prosody van de stem aan (die van invloed is op de toonhoogte, timbre en spreeksnelheid).
- Gebruik veelgebruikte 'say-as'-regels, bijvoorbeeld om op te geven dat een bepaalde tekenreeks moet worden uitgedrukt als een datum, tijd, telefoonnummer of een ander formulier.
- Voeg opgenomen spraak of audio in, bijvoorbeeld om een standaard opgenomen bericht op te nemen of achtergrondruis te simuleren.
Denk bijvoorbeeld aan de volgende SSML:
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"
xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
<voice name="en-US-AriaNeural">
<mstts:express-as style="cheerful">
I say tomato
</mstts:express-as>
</voice>
<voice name="en-US-GuyNeural">
I say <phoneme alphabet="sapi" ph="t ao m ae t ow"> tomato </phoneme>.
<break strength="weak"/>Lets call the whole thing off!
</voice>
</speak>
Met deze SSML geeft u een gesproken dialoogvenster op tussen twee verschillende neurale stemmen, zoals deze:
- Ariana (vrolijk): "Ik zeg tomaat:
- Kerel: "Ik zeg tomaat (uitgesproken als tom-ah-teen) ... Laten we het allemaal uitbellen!"
Als u een SSML-beschrijving wilt verzenden naar de Speech-service, kunt u de methode SpeakSsmlAsync() als volgt gebruiken:
speechSynthesizer.SpeakSsmlAsync(ssml_string);
Zie de Documentatie van de Azure AI Speech SDK voor meer informatie over SSML.