Använda personlig röst i ditt program
Du kan använda talarprofil-ID :t för din personliga röst för att syntetisera tal på något av de 91 språk som stöds i över 100 språk. En språktagg krävs inte. Personlig röst använder automatisk språkidentifiering på meningsnivå.
Integrera personlig röst i ditt program
Du måste använda talsyntesmarkeringsspråk (SSML) för att använda personlig röst i ditt program. SSML är ett XML-baserat påläggsspråk som ger ett standardsätt för att markera text för generering av syntetiskt tal. SSML-taggar används för att styra uttal, volym, tonhöjd, frekvens och andra attribut för talsyntesens utdata.
Egenskapen
speakerProfileId
i SSML används för att ange talarprofilens ID för den personliga rösten.Röstnamnet anges i egenskapen
name
i SSML. För personlig röst måste röstnamnet vara ett av de basmodellröstnamn som stöds. Om du vill hämta en lista över basmodellröstnamn som stöds använder du den BaseModels_List funktionen för det anpassade röst-API:et.Kommentar
Röstnamnen
Latest
som är märkta med , till exempelDragonLatestNeural
ellerPhoenixLatestNeural
, uppdateras då och då. Dess prestanda kan variera med uppdateringar för pågående förbättringar. Om du vill använda en fast version väljer du en som är märkt med ett versionsnummer, till exempelPhoenixV2Neural
.DragonLatestNeural
är en basmodell med överlägsen röstkloningslikhet jämförtPhoenixLatestNeural
med .PhoenixLatestNeural
är en basmodell med mer exakt uttal och kortare svarstid änDragonLatestNeural
.För personlig röst kan du använda elementet
<lang xml:lang>
för att justera talarspråket. Det är samma sak som med flerspråkiga röster. Se hur du använder lang-elementet för att tala olika språk.
Här är exempel på SSML i en begäran om text till tal med röstnamnet och talarprofilens ID. Exemplet visar också hur du växlar språk från en-US
till att zh-HK
använda elementet <lang xml:lang>
.
<speak version='1.0' xmlns='http://www.w3.org/2001/10/synthesis' xmlns:mstts='http://www.w3.org/2001/mstts' xml:lang='en-US'>
<voice name='DragonLatestNeural'>
<mstts:ttsembedding speakerProfileId='your speaker profile ID here'>
I'm happy to hear that you find me amazing and that I have made your trip planning easier and more fun.
<lang xml:lang='zh-HK'>我很高興聽到你覺得我很了不起,我讓你的旅行計劃更輕鬆、更有趣。</lang>
</mstts:ttsembedding>
</voice>
</speak>
Du kan använda SSML via Speech SDK eller REST API.
- Talsyntes i realtid: Använd Speech SDK eller REST API för att konvertera text till tal.
- När du använder Speech SDK ska du inte ange slutpunkts-ID, precis som inbyggd röst.
- När du använder REST API använder du den fördefinierade slutpunkten för neurala röster.
SSML-element som stöds och som inte stöds för personlig röst
Detaljerad information om de SSML-element som stöds och inte stöds för Phoenix- och Dragon-modeller finns i följande tabell. Anvisningar om hur du använder SSML-element finns i SSML-dokumentstrukturen och -händelserna.
Element | Description | Stöds i Phoenix | Stöds i Dragon |
---|---|---|---|
<voice> |
Anger röst- och valfria effekter (eq_car och eq_telecomhp8k ). |
Ja | Ja |
<mstts:express-as> |
Anger talarstilar och roller. | Nej | Nej |
<mstts:ttsembedding> |
Anger egenskapen speakerProfileId för en personlig röst. |
Ja | Ja |
<lang xml:lang> |
Anger talarspråket. | Ja | Ja |
<prosody> |
Justerar tonhöjd, kontur, intervall, hastighet och volym. | ||
pitch |
Anger originalplan för texten. | Nej | Nej |
contour |
Representerar ändringar i tonhöjd. | Nej | Nej |
range |
Representerar intervallet för tonhöjden för texten. | Nej | Nej |
rate |
Anger talhastigheten för texten. | Ja | Ja |
volume |
Anger talröstens volymnivå. | Nej | Nej |
<emphasis> |
Lägger till eller tar bort stress på ordnivå för texten. | Nej | Nej |
<audio> |
Bäddar in förinspelat ljud i ett SSML-dokument. | Ja | Nej |
<mstts:audioduration> |
Anger varaktigheten för utdataljudet. | Nej | Nej |
<mstts:backgroundaudio> |
Lägger till bakgrundsljud i dina SSML-dokument eller blandar en ljudfil med text till tal. | Ja | Nej |
<phoneme> |
Anger fonetisk uttal i SSML-dokument. | ||
ipa |
Ett av de fonetiska alfabeten. | Ja | Nej |
sapi |
Ett av de fonetiska alfabeten. | Nej | Nej |
ups |
Ett av de fonetiska alfabeten. | Ja | Nej |
x-sampa |
Ett av de fonetiska alfabeten. | Ja | Nej |
<lexicon> |
Definierar hur flera entiteter läse i SSML. | Ja | Ja (endast supportalias) |
<say-as> |
Anger innehållstypen, till exempel tal eller datum, för elementets text. | Ja | Ja |
<sub> |
Anger att aliasattributets textvärde ska uttalas i stället för elementets omslutna text. | Ja | Ja |
<math> |
Använder MathML som indatatext för att korrekt uttala matematiska noteringar i utdataljudet. | Ja | Nej |
<bookmark> |
Hämtar förskjutningen av varje markör i ljudströmmen. | Ja | Nej |
<break> |
Åsidosätter standardbeteendet för pauser eller pauser mellan ord. | Ja | Ja |
<mstts:silence> |
Infogningar pausar före eller efter text eller mellan två intilliggande meningar. | Ja | Nej |
<mstts:viseme> |
Definierar ansiktets och munnens position medan en person talar. | Ja | Nej |
<p> |
Anger stycken i SSML-dokument. | Ja | Ja |
<s> |
Anger meningar i SSML-dokument. | Ja | Ja |
SDK-funktioner som stöds och inte stöds för personlig röst
I följande tabell beskrivs vilka SDK-funktioner som stöds för Phoenix- och Dragon-modeller. Mer information om hur du använder dessa SDK-funktioner i dina program finns i Prenumerera på synthändelser.
SDK-funktioner | Beskrivning | Stöds i Phoenix | Stöds i Dragon |
---|---|---|---|
Word-gräns | Signaler om att en ordgräns togs emot under syntesen, vilket ger exakt ordtid under talsyntesprocessen. | Ja | Nej |
Viseme-händelser | Ger information om viseme (läppar, käke och tunga) under syntesen, vilket möjliggör visuell synkronisering. | Ja | Nej |