Bruk talesyntesemarkeringsspråk

Fullført

Mens Azure Speech SDK lar deg sende inn ren tekst som syntetiseres til tale, støtter tjenesten også en XML-basert syntaks for å beskrive egenskapene til talen du ønsker å generere. Denne SSML-syntaksen ( Speech Synthesis Markup Language ) gir større kontroll over hvordan de talte utdataene høres ut, slik at du kan:

  • Angi en talestil, for eksempel "spent" eller "munter" når du bruker en nevral stemme.
  • Sett inn pauser eller stillhet.
  • Angi fonemer (fonetiske uttaler), for eksempel for å uttale teksten "SQL" som "oppfølger".
  • Juster prosodien til stemmen (påvirker tonehøyden, klangen og talehastigheten).
  • Bruk vanlige «say-as»-regler, for eksempel for å angi at en gitt streng skal uttrykkes som dato, klokkeslett, telefonnummer eller annet skjema.
  • Sett inn innspilt tale eller lyd, for eksempel for å inkludere en standard innspilt melding eller simulere bakgrunnsstøy.

Vurder for eksempel følgende 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>

Denne SSML angir en muntlig dialogboks mellom to forskjellige nevrale stemmer, som dette:

  • Ariana (muntert): "Jeg sier tomat:
  • Fyr: "Jeg sier tomat (uttales tom-ah-toe) ... La oss avlyse det hele!»

Hvis du vil sende inn en SSML-beskrivelse til Speech-tjenesten, kan du bruke en passende metode for et SpeechSynthesizer-objekt , slik som dette:

speech_synthesis_result = speech_synthesizer.speak_ssml_async('<speak>...').get()

For mer informasjon om SSML, se Azure Speech SDK-dokumentasjonen.