Förbättra syntesen med Speech Synthesis Markup Language (SSML)
Speech Synthesis Markup Language (SSML) är ett XML-baserat markupspråk som utvecklare kan använda för att ange hur indatatext konverteras till syntetiserat tal med hjälp av text till tal-tjänsten. Jämfört med oformaterad text gör SSML att utvecklare kan finjustera tonhöjd, uttal, talhastighet, volym och mer av text till tal-utdata. Normala skiljetecken, till exempel att pausa efter en punkt eller använda rätt intonation när en mening slutar med ett frågetecken, hanteras automatiskt.
Speech Service-implementeringen av SSML baseras på World Wide Web Consortium Speech Synthesis Markup Language version 1.0.
Viktigt
Kinesiska, japanska och koreanska tecken räknas som två tecken för fakturering. Mer information finns i Prissättning.
Neurala och anpassade röster
Använd en mänsklig neural röst eller skapa en egen anpassad röst som är unik för din produkt eller ditt varumärke. En fullständig lista över språk, språk och röster som stöds finns i språkstöd. Mer information om neurala och anpassade röster finns i Översikt över text till tal.
Anteckning
Du kan höra röster i olika format och tonhöjder läsa exempeltext med hjälp Text till tal sidan.
Specialtecken
När du använder SSML bör du komma ihåg att specialtecken, till exempel citattecken, apostrofer och hakparenteser måste hoppas över. Mer information finns i Extensible Markup Language (XML) 1.0: Bilaga D.
SSML-element som stöds
Varje SSML-dokument skapas med SSML-element (eller taggar). De här elementen används för att justera tonhöjd, prosody, volym med mera. I följande avsnitt beskrivs hur varje element används och när ett element krävs eller är valfritt.
Viktigt
Glöm inte att använda dubbla citattecken runt attributvärden. Standarder för välformade, giltiga XML kräver att attributvärden omges av dubbla citattecken. Är till <prosody volume="90"> exempel ett välformade, giltigt element, men <prosody volume=90> det är det inte. SSML kanske inte känner igen attributvärden som inte är inom citattecken.
Skapa ett SSML-dokument
speak är rotelementet och krävs för alla SSML-dokument. Elementet speak innehåller viktig information, till exempel version, språk och ordförrådsdefinition.
Syntax
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="string"></speak>
Attribut
| Attribut | Beskrivning | Obligatoriskt/valfritt |
|---|---|---|
version |
Anger vilken version av SSML-specifikationen som används för att tolka dokumentpålägget. Den aktuella versionen är 1.0. | Obligatorisk |
xml:lang |
Anger språket i rotdokumentet. Värdet kan innehålla en språkkod med gemener, två bokstäver (till exempel ), eller språkkoden och en land/region med versaler (till exempel en-US ). |
Obligatorisk |
xmlns |
Anger URI för dokumentet som definierar påläggsvokabulären (elementtyper och attributnamn) för SSML-dokumentet. Den aktuella URI:en är http://www.w3.org/2001/10/synthesis . | Obligatorisk |
Välj en röst för text till tal
Elementet voice är obligatoriskt. Den används för att ange rösten som används för text till tal.
Syntax
<voice name="string">
This text will get converted into synthesized speech.
</voice>
Attribut
| Attribut | Beskrivning | Obligatoriskt/valfritt |
|---|---|---|
name |
Identifierar rösten som används för text-till-tal-utdata. En fullständig lista över röster som stöds finns i Språkstöd. | Obligatorisk |
Exempel
Anteckning
I det här exemplet används en-US-ChristopherNeural rösten. En fullständig lista över röster som stöds finns i Språkstöd.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-ChristopherNeural">
This is the text that is spoken.
</voice>
</speak>
Använda flera röster
I speak elementet kan du ange flera röster för text till tal-utdata. Dessa röster kan finnas på olika språk. För varje röst måste texten vara omsluten i ett voice -element.
Attribut
| Attribut | Beskrivning | Obligatoriskt/valfritt |
|---|---|---|
name |
Identifierar rösten som används för text-till-tal-utdata. En fullständig lista över röster som stöds finns i Språkstöd. | Obligatorisk |
Exempel
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-JennyNeural">
Good morning!
</voice>
<voice name="en-US-ChristopherNeural">
Good morning to you too Jenny!
</voice>
</speak>
Justera talstil
Som standard syntetiserar text till tal-tjänsten text med en neutral talstil för neurala röster. Du kan justera talstilen för att uttrycka olika känslor, till exempel känslor, empati och lugn, eller optimera rösten för olika scenarier som kundtjänst, nyhetssändning och röstassistent med hjälp av mstts:express-as elementet . Det här är ett valfritt element som är unikt för Speech-tjänsten.
Justering av talstil stöds för närvarande för följande neurala röster:
en-US-AriaNeuralen-US-JennyNeuralen-US-GuyNeuralen-US-SaraNeuralja-JP-NanamiNeuralpt-BR-FranciscaNeuralzh-CN-XiaoxiaoNeuralzh-CN-YunyangNeuralzh-CN-YunyeNeuralzh-CN-YunxiNeuralzh-CN-XiaohanNeuralzh-CN-XiaomoNeuralzh-CN-XiaoxuanNeuralzh-CN-XiaoruiNeuralzh-CN-XiaoshuangNeural
Intensiteten i talstilen kan ändras ytterligare för att bättre passa ditt användningsfall. Du kan ange en starkare eller mjukare stil med styledegree för att göra talet mer uttrycksfullt eller undermålat. Justering av talstil stöds för närvarande för neurala kinesiska röster (mandarin, förenklad).
Förutom att justera talstilarna och stilgraden kan du även justera parametern så att rösten role imiterar en annan ålder och ett annat kön. En mans röst kan till exempel höja tonhöjden och ändra intonationen till att imitera en kvinnas röst, men röstnamnet ändras inte. För närvarande stöds rolljusteringar för dessa neurala kinesiska röster (mandarin, förenklad):
zh-CN-XiaomoNeuralzh-CN-XiaoxuanNeural
Ovanstående ändringar tillämpas på meningsnivå och formaten och rollspelen varierar beroende på röst. Om ett format eller rollspel inte stöds returnerar tjänsten tal på standardneutralt sätt. Du kan se vilka format och roller som stöds för varje röst via API:et för röstlistor eller via den kodfria Skapa ljudinnehåll plattformen.
Syntax
<mstts:express-as style="string"></mstts:express-as>
<mstts:express-as style="string" styledegree="value"></mstts:express-as>
<mstts:express-as role="string" style="string"></mstts:express-as>
Anteckning
För tillfället stöder endast styledegree kinesiska (mandarin, förenklad) neurala röster. role har endast stöd för zh-CN-XiauanNeuan och zh-CN-XiaoxuanNeuan.
Attribut
| Attribut | Beskrivning | Obligatoriskt/valfritt |
|---|---|---|
style |
Anger talstilen. För närvarande är talformat röstspecifika. | Krävs om du justerar talstilen för en neural röst. Om du mstts:express-as använder måste stil anges. Om ett ogiltigt värde anges ignoreras det här elementet. |
styledegree |
Anger intensiteten för talstilen. Godkända värden: 0,01 till 2. Standardvärdet är 1, vilket innebär den fördefinierade stilintensiteten. Den minsta enheten är 0,01, vilket resulterar i en något tendens för målformatet. Värdet 2 resulterar i en fördubbling av standardformatintensiteten. | Valfritt (för tillfället stöder styledegree endast kinesiska (mandarin, förenklad) neurala röster.) |
role |
Anger vilket rollspel som talar. Rösten fungerar som en annan ålder och ett annat kön, men röstnamnet ändras inte. | Valfritt (för tillfället stöder role endast zh-CN-XiadockNeazale och zh-CN-XiaoxuanNe anomalie.) |
Använd den här tabellen för att avgöra vilka talformat som stöds för varje neural röst.
| Röst | Format | Description |
|---|---|---|
en-US-AriaNeural |
style="newscast-formal" |
Uttrycker en formell, säker och auktoritativ ton för nyhetsleverans |
style="newscast-casual" |
Uttrycker en mångsidig och informell ton för allmän nyhetsleverans | |
style="narration-professional" |
Uttrycka en professionell, objektiv ton för innehållsläsning | |
style="customerservice" |
Uttrycker en vänlig och användbar ton för kundsupporten | |
style="chat" |
Uttrycker en informell och avslappnad ton | |
style="cheerful" |
Uttrycker en positiv och glad ton | |
style="empathetic" |
Uttrycker en känsla av omståelse och förståelse | |
en-US-JennyNeural |
style="customerservice" |
Uttrycker en vänlig och användbar ton för kundsupporten |
style="chat" |
Uttrycker en informell och avslappnad ton | |
style="assistant" |
Uttrycker en varm och avslappnad ton för digitala assistenter | |
style="newscast" |
Uttrycker en mångsidig och informell ton för allmän nyhetsleverans | |
en-US-GuyNeural |
style="newscast" |
Uttrycker en formell och professionell ton för att berätta nyheter |
en-US-SaraNeural |
style="cheerful" |
Uttrycker en positiv och glad ton |
style="sad" |
Uttrycker en bra ton | |
style="angry" |
Uttrycker en stört och uppretad ton | |
ja-JP-NanamiNeural |
style="cheerful" |
Uttrycker en positiv och glad ton |
style="chat" |
Uttrycker en informell och avslappnad ton | |
style="customerservice" |
Uttrycker en vänlig och användbar ton för kundsupporten | |
pt-BR-FranciscaNeural |
style="calm" |
Uttrycker en cool, samlad och sammansatt attityd när du talar. Tonfall, tonfall och prosody är mycket mer enhetlig jämfört med andra typer av tal. |
zh-CN-XiaoxiaoNeural |
style="newscast" |
Uttrycker en formell och professionell ton för att berätta nyheter |
style="customerservice" |
Uttrycker en vänlig och användbar ton för kundsupporten | |
style="assistant" |
Uttrycker en varm och avslappnad ton för digitala assistenter | |
style="chat" |
Uttrycker en informell och avslappnad ton för chit-chat | |
style="calm" |
Uttrycker en cool, samlad och sammansatt attityd när du talar. Tonfall, tonfall och prosody är mycket mer enhetlig jämfört med andra typer av tal. | |
style="cheerful" |
Uttrycker en positiv och entusiastisk ton, med högre tonhöjd och röstkraft | |
style="sad" |
Uttrycker en bra tonfall med högre tonhöjd, mindre intensitet och lägre röstkraft. Vanliga indikatorer på den här känslan är smpers eller underhållare under tal. | |
style="angry" |
Uttrycker en stämt och upphöjd ton, med lägre tonhöjd, högre intensitet och högre röstkraft. Talaren är i ett tillstånd av att vara irate, displeased och förlamad. | |
style="fearful" |
Uttrycker en nedtoning och en röstton med högre tonhöjd, högre röstkraft och snabbare hastighet. Talaren är i ett tillstånd av tempus och oförselighet. | |
style="disgruntled" |
Uttrycker en föraktlig och klagande ton. Tal av den här känslan visar displeasure och förakt. | |
style="serious" |
Uttrycker en strikt och kommandoton. Talaren låter ofta lite tåligare och mycket mindre avslappnad med fast takt. | |
style="affectionate" |
Uttrycker en varm och färgad ton, med högre tonhöjd och röstkraft. Talaren är i ett tillstånd av att dra till sig lyssnarens uppmärksamhet. Talarens "personlighet" är ofta omtändlig. | |
style="gentle" |
Uttrycker en glad, vänlig och färgad ton med lägre tonhöjd och röstkraft | |
style="lyrical" |
Uttrycker känslor på ett attitydt och sentimentalt sätt | |
zh-CN-YunyangNeural |
style="customerservice" |
Uttrycker en vänlig och användbar ton för kundsupporten |
zh-CN-YunyeNeural |
style="calm" |
Uttrycker en cool, samlad och sammansatt attityd när du talar. Tonfall, tonfall och prosody är mycket mer enhetlig jämfört med andra typer av tal. |
style="cheerful" |
Uttrycker en positiv och entusiastisk ton, med högre tonhöjd och röstkraft | |
style="sad" |
Uttrycker en bra tonfall med högre tonhöjd, mindre intensitet och lägre röstkraft. Vanliga indikatorer på den här känslan är smpers eller underhållare under tal. | |
style="angry" |
Uttrycker en stämt och upphöjd ton, med lägre tonhöjd, högre intensitet och högre röstkraft. Talaren är i ett tillstånd av att vara irate, displeased och förlamad. | |
style="fearful" |
Uttrycker en nedtoning och en röstton med högre tonhöjd, högre röstkraft och snabbare hastighet. Talaren är i ett tillstånd av tempus och oförselighet. | |
style="disgruntled" |
Uttrycker en föraktlig och klagande ton. Tal av den här känslan visar displeasure och förakt. | |
style="serious" |
Uttrycker en strikt och kommandoton. Talaren låter ofta lite tåligare och mycket mindre avslappnad med fast takt. | |
zh-CN-YunxiNeural |
style="assistant" |
Uttrycker en varm och avslappnad ton för digitala assistenter |
style="cheerful" |
Uttrycker en positiv och entusiastisk ton, med högre tonhöjd och röstkraft | |
style="sad" |
Uttrycker en bra tonfall med högre tonhöjd, mindre intensitet och lägre röstkraft. Vanliga indikatorer på den här känslan är smpers eller underhållare under tal. | |
style="angry" |
Uttrycker en stämt och upphöjd ton, med lägre tonhöjd, högre intensitet och högre röstkraft. Talaren är i ett tillstånd av att vara irate, displeased och förlamad. | |
style="fearful" |
Uttrycker en nedtoning och en röstton med högre tonhöjd, högre röstkraft och snabbare hastighet. Talaren är i ett tillstånd av tempus och oförselighet. | |
style="disgruntled" |
Uttrycker en föraktlig och klagande ton. Tal av den här känslan visar displeasure och förakt. | |
style="serious" |
Uttrycker en strikt och kommandoton. Talaren låter ofta lite tåligare och mycket mindre avslappnad med fast takt. | |
style="depressed" |
Uttrycker en melancholic and despondent-ton med lägre tonhöjd och energi | |
style="embarrassed" |
Uttrycker en osäker och tveksam ton när talaren känner sig osäker | |
zh-CN-XiaohanNeural |
style="cheerful" |
Uttrycker en positiv och entusiastisk ton, med högre tonhöjd och röstkraft |
style="sad" |
Uttrycker en bra tonfall med högre tonhöjd, mindre intensitet och lägre röstkraft. Vanliga indikatorer på den här känslan är smpers eller underhållare under tal. | |
style="angry" |
Uttrycker en stämt och upphöjd ton, med lägre tonhöjd, högre intensitet och högre röstkraft. Talaren är i ett tillstånd av att vara irate, displeased och förlamad. | |
style="fearful" |
Uttrycker en nedtoning och en röstton med högre tonhöjd, högre röstkraft och snabbare hastighet. Talaren är i ett tillstånd av tempus och oförselighet. | |
style="disgruntled" |
Uttrycker en föraktlig och klagande ton. Tal av den här känslan visar displeasure och förakt. | |
style="serious" |
Uttrycker en strikt och kommandoton. Talaren låter ofta lite tåligare och mycket mindre avslappnad med fast takt. | |
style="embarrassed" |
Uttrycker en osäker och tveksam ton när talaren känner sig osäker | |
style="affectionate" |
Uttrycker en varm och färgad ton, med högre tonhöjd och röstkraft. Talaren är i ett tillstånd av att dra till sig lyssnarens uppmärksamhet. Talarens "personlighet" är ofta omtändlig. | |
style="gentle" |
Uttrycker en glad, vänlig och färgad ton med lägre tonhöjd och röstkraft | |
zh-CN-XiaomoNeural |
style="calm" |
Uttrycker en cool, samlad och sammansatt attityd när du talar. Tonfall, tonfall och prosody är mycket mer enhetlig jämfört med andra typer av tal. |
style="cheerful" |
Uttrycker en positiv och entusiastisk ton, med högre tonhöjd och röstkraft | |
style="angry" |
Uttrycker en stämt och upphöjd ton, med lägre tonhöjd, högre intensitet och högre röstkraft. Talaren är i ett tillstånd av att vara irate, displeased och förlamad. | |
style="fearful" |
Uttrycker en nedtoning och en röstton med högre tonhöjd, högre röstkraft och snabbare hastighet. Talaren är i ett tillstånd av tempus och oförselighet. | |
style="disgruntled" |
Uttrycker en föraktlig och klagande ton. Tal av den här känslan visar displeasure och förakt. | |
style="serious" |
Uttrycker en strikt och kommandoton. Talaren låter ofta lite tåligare och mycket mindre avslappnad med fast takt. | |
style="depressed" |
Uttrycker en melancholic and despondent-ton med lägre tonhöjd och energi | |
style="gentle" |
Uttrycker en glad, vänlig och färgad ton med lägre tonhöjd och röstkraft | |
zh-CN-XiaoxuanNeural |
style="calm" |
Uttrycker en cool, samlad och sammansatt attityd när du talar. Tonfall, tonfall och prosody är mycket mer enhetlig jämfört med andra typer av tal. |
style="cheerful" |
Uttrycker en positiv och entusiastisk ton, med högre tonhöjd och röstkraft | |
style="angry" |
Uttrycker en stämt och upphöjd ton, med lägre tonhöjd, högre intensitet och högre röstkraft. Talaren är i ett tillstånd av att vara irate, displeased och förlamad. | |
style="fearful" |
Uttrycker en nedtoning och en röstton med högre tonhöjd, högre röstkraft och snabbare hastighet. Talaren är i ett tillstånd av tempus och oförselighet. | |
style="disgruntled" |
Uttrycker en föraktlig och klagande ton. Tal av den här känslan visar displeasure och förakt. | |
style="serious" |
Uttrycker en strikt och kommandoton. Talaren låter ofta lite tåligare och mycket mindre avslappnad med fast takt. | |
style="depressed" |
Uttrycker en melancholic and despondent-ton med lägre tonhöjd och energi | |
style="gentle" |
Uttrycker en glad, vänlig och färgad ton med lägre tonhöjd och röstkraft | |
zh-CN-XiaoruiNeural |
style="sad" |
Uttrycker en bra tonfall med högre tonhöjd, mindre intensitet och lägre röstkraft. Vanliga indikatorer på den här känslan är smpers eller underhållare under tal. |
style="angry" |
Uttrycker en stämt och upphöjd ton, med lägre tonhöjd, högre intensitet och högre röstkraft. Talaren är i ett tillstånd av att vara irate, displeased och förlamad. | |
style="fearful" |
Uttrycker en nedtoning och en röstton med högre tonhöjd, högre röstkraft och snabbare hastighet. Talaren är i ett tillstånd av tempus och oförselighet. | |
zh-CN-XiaoshuangNeural |
style="chat" |
Uttrycker en informell och avslappnad ton. |
Använd den här tabellen för att kontrollera vilka roller och deras definitioner som stöds.
| Roll | Beskrivning |
|---|---|
role="Girl" |
Rösten liknar en dotter. |
role="Boy" |
Rösten liknar en pojkar. |
role="YoungAdultFemale" |
Rösten liknar en ung, vuxen kvinna. |
role="YoungAdultMale" |
Rösten liknar en ung, vuxen man. |
role="OlderAdultFemale" |
Rösten liknar en äldre vuxen kvinna. |
role="OlderAdultMale" |
Rösten liknar en äldre vuxen man. |
role="SeniorFemale" |
Rösten liknar en erfaren kvinna. |
role="SeniorMale" |
Rösten liknar en erfaren man. |
Exempel
Det här SSML-kodfragmentet <mstts:express-as> illustrerar hur elementet används för att ändra talstilen till cheerful .
<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">
That'd be just amazing!
</mstts:express-as>
</voice>
</speak>
Det här SSML-kodfragmentet illustrerar hur attributet används för att ändra intensiteten i styledegree talstilen för XiadockaoNestil.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"
xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="zh-CN">
<voice name="zh-CN-XiaoxiaoNeural">
<mstts:express-as style="sad" styledegree="2">
快走吧,路上一定要注意安全,早去早回。
</mstts:express-as>
</voice>
</speak>
Det här SSML-kodfragmentet role illustrerar hur attributet används för att ändra rollspel för XiaavsnittEt.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"
xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="zh-CN">
<voice name="zh-CN-XiaomoNeural">
女儿看见父亲走了进来,问道:
<mstts:express-as role="YoungAdultFemale" style="calm">
“您来的挺快的,怎么过来的?”
</mstts:express-as>
父亲放下手提包,说:
<mstts:express-as role="OlderAdultMale" style="calm">
“刚打车过来的,路上还挺顺畅。”
</mstts:express-as>
</voice>
</speak>
Justera talspråk
Du kan justera talspråk för neurala röster.
Gör det möjligt för en röst att tala olika språk flytande (t.ex. engelska, spanska och kinesiska) med hjälp av <lang xml:lang> elementet . Det här är ett valfritt element som är unikt för Speech-tjänsten. Utan det här elementet talar rösten sitt primära språk.
För närvarande stöds språkjusteringar för dessa neurala röster: en-US-JennyMultilingualNeural . Ändringarna ovan tillämpas på meningsnivå och ordnivå. Om ett språk inte stöds returnerar tjänsten ingen ljudström.
Anteckning
För närvarande är elementet inkompatibelt med - och -elementet. Du kan inte justera pausa och <lang xml:lang> prosody prosody som break t.ex. pitch, pitch, rate, duration, volume i det här elementet.
Syntax
<lang xml:lang="string"></lang>
Attribut
| Attribut | Beskrivning | Obligatoriskt/valfritt |
|---|---|---|
lang |
Anger språken. Att tala olika språk är för närvarande röstspecifikt. | Krävs om du justerar talspråket för en neural röst. Om du lang xml:lang använder måste du använda de olika språken. |
Använd den här tabellen för att avgöra vilka språk som stöds för varje neural röst.
| Röst | Språkversion | Description |
|---|---|---|
en-US-JennyMultilingualNeural |
lang="en-US" |
Tala en-US locale, som är det primära språk för den här rösten |
lang="en-CA" |
Tala språk för en-CA | |
lang="en-AU" |
Tala språk för en-AU | |
lang="en-GB" |
Tala språket en-GB | |
lang="de-DE" |
Tala språk de-DE | |
lang="fr-FR" |
Tala språket fr-FR | |
lang="fr-CA" |
Tala språk för fr-CA | |
lang="es-ES" |
Tala språket es-ES | |
lang="es-MX" |
Tala språket es-MX | |
lang="zh-CN" |
Tala språket zh-CN | |
lang="ko-KR" |
Tala språk för ko-KR | |
lang="ja-JP" |
Tala språket ja-JP | |
lang="it-IT" |
Tala it-IT-språk | |
lang="pt-BR" |
Tala språket pt-BR |
Exempel
Det här SSML-kodfragmentet visar hur <lang xml:lang> du använder för att ändra talspråken till och en-US es-MX de-DE .
<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-JennyMultilingualNeural">
I am looking forward to the exciting things.
<lang xml:lang="es-MX">
Estoy deseando que lleguen las cosas emocionantes.
</lang>
<lang xml:lang="de-DE">
Ich freue mich auf die spannenden Dinge.
</lang>
</voice>
</speak>
Lägga till eller ta bort en paus
Använd elementet för att infoga pauser (eller pauser) mellan ord eller förhindra pauser som läggs till automatiskt av break text till tal-tjänsten.
Anteckning
Använd det här elementet för att åsidosätta standardbeteendet för text till tal (TTS) för ett ord eller en fras om det syntetiserade talet för ordet eller frasen låter onaturligt. Ange strength till för att förhindra en none prosodic-brytning som infogas automatiskt av text till tal-tjänsten.
Syntax
<break strength="string" />
<break time="string" />
Attribut
| Attribut | Beskrivning | Obligatoriskt/valfritt |
|---|---|---|
strength |
Anger den relativa varaktigheten för en paus med något av följande värden:
|
Valfritt |
time |
Anger den absoluta varaktigheten för en paus i sekunder eller millisekunder. Det här värdet ska vara mindre än 5 000 ms. Exempel på giltiga värden 2s är och 500ms |
Valfritt |
| Styrka | Description |
|---|---|
| Ingen, eller om inget värde har angetts | 0 ms |
| x-svag | 250 ms |
| Svag | 500 ms |
| medel | 750 ms |
| Stark | 1 000 ms |
| x-strong | 1 250 ms |
Exempel
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-ChristopherNeural">
Welcome to Microsoft Cognitive Services <break time="100ms" /> Text-to-Speech API.
</voice>
</speak>
Lägg till tystnad
Använd elementet mstts:silence för att infoga pauser före eller efter text, eller mellan de två intilliggande meningarna.
Anteckning
Skillnaden mellan och är att kan läggas till på valfri plats i texten, men tystnad fungerar bara i början eller slutet av indatatexten, eller vid gränsen mstts:silence break för två break angränsande meningar.
Syntax
<mstts:silence type="string" value="string"/>
Attribut
| Attribut | Beskrivning | Obligatoriskt/valfritt |
|---|---|---|
type |
Anger platsen för tystnad som ska läggas till:
|
Obligatorisk |
Value |
Anger den absoluta varaktigheten för en paus i sekunder eller millisekunder. Det här värdet ska vara mindre än 5 000 ms. Exempel på giltiga värden 2s är och 500ms |
Obligatorisk |
Exempel I det här exemplet mtts:silence används för att lägga till 200 ms tystnad mellan två meningar.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-ChristopherNeural">
<mstts:silence type="Sentenceboundary" value="200ms"/>
If we’re home schooling, the best we can do is roll with what each day brings and try to have fun along the way.
A good place to start is by trying out the slew of educational apps that are helping children stay happy and smash their schooling at the same time.
</voice>
</speak>
Ange stycken och meningar
p - och -element används för att ange stycken s respektive meningar. I avsaknad av dessa element bestämmer text till tal-tjänsten automatiskt strukturen för SSML-dokumentet.
Elementet p kan innehålla text och följande element: , , , , audio , , , och break phoneme prosody say-as sub mstts:express-as s .
Elementet s kan innehålla text och följande element: , , , , audio , och break phoneme prosody say-as mstts:express-as sub .
Syntax
<p></p>
<s></s>
Exempel
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-ChristopherNeural">
<p>
<s>Introducing the sentence element.</s>
<s>Used to mark individual sentences.</s>
</p>
<p>
Another simple paragraph.
Sentence structure in this paragraph is not explicitly marked.
</p>
</voice>
</speak>
Använda fonem för att förbättra uttalet
Elementet ph används för för fonetiskt uttal i SSML-dokument. Elementet ph får bara innehålla text, inga andra element. Tillhandahåll alltid tal som kan läsas av människor som reserv.
Fonetiska alfabet består av telefoner, som består av bokstäver, siffror eller tecken, ibland i kombination. Varje telefon beskriver ett unikt talljud. Detta skiljer sig från det latinska alfabetet, där alla bokstäver kan representera flera talade ljud. Tänk på de olika uttalen av bokstaven "c" med orden "candy" och "upphör", eller de olika uttalen av bokstavskombinationen "th" i orden "thing" och "those".
Anteckning
Phonemes-taggen stöds inte för dessa 5 röster (et-EE-AnuNedock, ga-IE-OrlaNelie, lt-LT-OnaNe lv-LV-EveritaNe mt-GarceNe lv) för tillfället.
Syntax
<phoneme alphabet="string" ph="string"></phoneme>
Attribut
| Attribut | Beskrivning | Obligatoriskt/valfritt |
|---|---|---|
alphabet |
Anger det fonetiska alfabetet som ska användas vid synkronisering av uttalet av strängen i ph attributet. Strängen som anger alfabetet måste anges med gemener. Följande är de möjliga alfabet som du kan ange.
Alfabetet gäller endast phoneme för i -elementet. |
Valfritt |
ph |
En sträng som innehåller telefoner som anger uttalet av ordet i phoneme elementet . Om den angivna strängen innehåller okända telefoner avvisar TTS-tjänsten (text till tal) hela SSML-dokumentet och genererar ingen av de talutdata som anges i dokumentet. |
Krävs om du använder fonem. |
Exempel
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-ChristopherNeural">
<phoneme alphabet="ipa" ph="təˈmeɪtoʊ"> tomato </phoneme>
</voice>
</speak>
<speak version="1.0" xmlns="https://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-ChristopherNeural">
<phoneme alphabet="sapi" ph="iy eh n y uw eh s"> en-US </phoneme>
</voice>
</speak>
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-ChristopherNeural">
<s>His name is Mike <phoneme alphabet="ups" ph="JH AU"> Zhou </phoneme></s>
</voice>
</speak>
Använda anpassad lexikon för att förbättra uttalet
Ibland kan text till tal-tjänsten inte exakt uttala ett ord. Till exempel namnet på ett företag, en medicinsk term eller en emoji. Utvecklare kan definiera hur enskilda entiteter läses i SSML med phoneme taggarna sub och . Men om du behöver definiera hur flera entiteter ska läsas kan du skapa en anpassad lexikon med hjälp av lexicon taggen .
Anteckning
Custom Lexicon stöder för närvarande UTF-8-kodning.
Anteckning
Custom Lexicon stöds inte för dessa 5 röster (et-EE-AnuNelv, ga-IE-OrlaNelie, lt-LT-OnaNe lv, lv-EveritaNe mt-GarceNe lv) för tillfället.
Syntax
<lexicon uri="string"/>
Attribut
| Attribut | Beskrivning | Obligatoriskt/valfritt |
|---|---|---|
uri |
Adressen till det externa PLS-dokumentet. | Krävs. |
Användning
Om du vill definiera hur flera entiteter ska läsas kan du skapa en anpassad lexikon som lagras som en .xml- eller .pls-fil. Följande är ett exempel .xml fil.
<?xml version="1.0" encoding="UTF-8"?>
<lexicon version="1.0"
xmlns="http://www.w3.org/2005/01/pronunciation-lexicon"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon
http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd"
alphabet="ipa" xml:lang="en-US">
<lexeme>
<grapheme>BTW</grapheme>
<alias>By the way</alias>
</lexeme>
<lexeme>
<grapheme> Benigni </grapheme>
<phoneme> bɛˈniːnji</phoneme>
</lexeme>
<lexeme>
<grapheme>😀</grapheme>
<alias>test emoji</alias>
</lexeme>
</lexicon>
Elementet lexicon innehåller minst ett lexeme element. Varje lexeme element innehåller minst ett element och ett eller flera grapheme grapheme alias elementen , och phoneme . Elementet grapheme innehåller text som beskriver ortografin . Elementen alias används för att ange uttalet av en förkortning eller en förkortad term. Elementet phoneme innehåller text som beskriver hur lexeme uttalas. När alias phoneme - och -element tillhandahålls med samma grapheme element har högre alias prioritet.
Viktigt
Elementet lexeme är case sensitive i custom lexicon. Om du till exempel bara anger ett phoneme lexeme för "Hello" fungerar det inte för lexeme "hello".
Lexikonen innehåller xml:lang nödvändigt attribut för att ange vilka språk som det ska användas för. En anpassad lexikon är begränsad till ett språk, så det fungerar inte att använda det för ett annat språk.
Observera att du inte kan ange uttalet av en fras direkt med hjälp av den anpassade lexikonen. Om du behöver ange uttalet för en förkortning eller en förkortad term anger du först ett alias och associerar sedan phoneme med den alias . Exempel:
<lexeme>
<grapheme>Scotland MV</grapheme>
<alias>ScotlandMV</alias>
</lexeme>
<lexeme>
<grapheme>ScotlandMV</grapheme>
<phoneme>ˈskɒtlənd.ˈmiːdiəm.weɪv</phoneme>
</lexeme>
Anteckning
Den stavbara gränsen är "." i det internationella fonetiska alfabetet.
Du kan också ange din alias förväntade förkortning eller förkortade term direkt. Exempel:
<lexeme>
<grapheme>Scotland MV</grapheme>
<alias>Scotland Media Wave</alias>
</lexeme>
Viktigt
Elementet phoneme får inte innehålla blanksteg när du använder IPA.
Mer information om anpassad Lexicon-fil finns i Uttal Lexicon Specification (PLS) Version 1.0.
Publicera sedan din anpassade Lexicon-fil. Även om vi inte har några begränsningar för var den här filen kan lagras rekommenderar vi att du använder Azure Blob Storage.
När du har publicerat din anpassade lexikon kan du referera till den från din SSML.
Anteckning
Elementet lexicon måste finnas inuti elementet voice .
<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="en-US-ChristopherNeural">
<lexicon uri="http://www.example.com/customlexicon.xml"/>
BTW, we will be there probably at 8:00 tomorrow morning.
Could you help leave a message to Robert Benigni for me?
</voice>
</speak>
När du använder den här anpassade lexikonen läses "SMILE" som "By the way". "Benigni" kommer att läsas med den angivna IPA:en "bééni énji".
Eftersom det är enkelt att göra misstag i custom lexicon tillhandahåller Microsoft valideringsverktyget för custom lexicon. Den innehåller detaljerade felmeddelanden som hjälper dig att hitta fel. Innan du skickar SSML med en anpassad lexikon till Speech-tjänsten bör du kontrollera din anpassade lexikon med det här verktyget.
Begränsningar
- Filstorlek: storleksgränsen för anpassade Lexicon-filer är 100 kB. Om den här storleken är större än så misslyckas syntesbegäran.
- Uppdatering av lexikoncache: custom lexicon cachelagras med URI som nyckel i TTS-tjänsten när den läses in för första gången. Lexikon med samma URI läse inte in igen inom 15 minuter, så anpassad lexikonändring måste vänta högst 15 minuter för att gälla.
Fonetiska uppsättningar för Speech-tjänsten
I exemplet ovan använder vi det internationella fonetiska alfabetet, även kallat IPA-telefonuppsättning. Vi föreslår att utvecklare använder IPA eftersom det är den internationella standarden. För vissa IPA-tecken har de versionen "förkompilerad" och "decomposed" när de representeras med Unicode. Custom Lexicon har endast stöd för de nedkompilerade Unicode-formaten.
Med tanke på att IPA inte är lätt att komma ihåg definierar Speech-tjänsten en fonetiska uppsättning för sju språk ( en-US , , , , , , och fr-FR de-DE es-ES ja-JP zh-CN zh-TW ).
Du kan använda x-microsoft-sapi som värde för alphabet attributet med anpassade lexikoner enligt nedan:
<?xml version="1.0" encoding="UTF-8"?>
<lexicon version="1.0"
xmlns="http://www.w3.org/2005/01/pronunciation-lexicon"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon
http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd"
alphabet="x-microsoft-sapi" xml:lang="en-US">
<lexeme>
<grapheme>BTW</grapheme>
<alias> By the way </alias>
</lexeme>
<lexeme>
<grapheme> Benigni </grapheme>
<phoneme> b eh 1 - n iy - n y iy </phoneme>
</lexeme>
</lexicon>
Mer information om det detaljerade fonetiska alfabetet för Speech-tjänsten finns i Taltjänstens fonetiska uppsättningar.
Justera prosodi
Elementet prosody används för att ange ändringar för tonhöjd, intervall, frekvens, varaktighet och volym för text-till-tal-utdata. Elementet prosody kan innehålla text och följande element: , , , , audio , , , och break p phoneme prosody say-as sub s .
Eftersom prosodic-attributvärden kan variera över ett brett intervall tolkar taligenkänningen de tilldelade värdena som ett förslag på vad de faktiska prosodic-värdena för den valda rösten ska vara. Text till tal-tjänsten begränsar eller ersätter värden som inte stöds. Exempel på värden som inte stöds är en pitch på 1 MHz eller en volym på 120.
Syntax
<prosody pitch="value" contour="value" range="value" rate="value" duration="value" volume="value"></prosody>
Attribut
| Attribut | Beskrivning | Obligatoriskt/valfritt |
|---|---|---|
pitch |
Anger baslinjehöjden för texten. Du kan uttrycka denna tonhöjd som:
|
Valfritt |
contour |
Now har stöd för både neurala röster och standardröster. Representera ändringar i tonhöjden. Dessa ändringar representeras som en matris med mål vid angivna tidspositioner i talutdata. Varje mål definieras av uppsättningar med parameterpar. Exempel: <prosody contour="(0%,+20Hz) (10%,-2st) (40%,+10Hz)">Det första värdet i varje uppsättning parametrar anger platsen för tonhöjdsändringen som en procentandel av textens varaktighet. Det andra värdet anger hur mycket som ska höjas eller sänkas med hjälp av ett relativt värde eller ett uppräkningsvärde för pitch (se pitch ). |
Valfritt |
range |
Ett värde som representerar intervallet för textens tonhöjd. Du kan uttrycka range med samma absoluta värden, relativa värden eller uppräkningsvärden som används för att beskriva pitch . |
Valfritt |
rate |
Anger talfrekvensen för texten. Du kan uttrycka rate som:
|
Valfritt |
duration |
Den tidsperiod som ska förfluta när tjänsten för talsyntes (TTS) läser texten, i sekunder eller millisekunder. Till exempel 2:or eller 1800 ms. Varaktigheten stöder endast standardröster. | Valfritt |
volume |
Anger volymnivån för talrösten. Du kan uttrycka volymen som:
|
Valfritt |
Ändra talfrekvens
Talfrekvensen kan tillämpas på neurala röster och standardröster på ord- eller meningsnivå.
Exempel
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-ChristopherNeural">
<prosody rate="+30.00%">
Welcome to Microsoft Cognitive Services Text-to-Speech API.
</prosody>
</voice>
</speak>
Ändra volym
Volymändringar kan tillämpas på standardröster på ord- eller meningsnivå. Volymändringar kan bara tillämpas på neurala röster på meningsnivå.
Exempel
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-ChristopherNeural">
<prosody volume="+20.00%">
Welcome to Microsoft Cognitive Services Text-to-Speech API.
</prosody>
</voice>
</speak>
Ändra tonläge
Pitchändringar kan tillämpas på standardröster på ord- eller meningsnivå. Pitchändringar kan bara tillämpas på neurala röster på meningsnivå.
Exempel
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-ChristopherNeural">
Welcome to <prosody pitch="high">Microsoft Cognitive Services Text-to-Speech API.</prosody>
</voice>
</speak>
Ändra tonhöjd
Viktigt
Pitch-ändringar stöds nu med neurala röster.
Exempel
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-ChristopherNeural">
<prosody contour="(60%,-60%) (100%,+80%)" >
Were you the only person in the room?
</prosody>
</voice>
</speak>
say-as-element
say-as är ett valfritt element som anger innehållstypen (till exempel nummer eller datum) för elementets text. Detta ger vägledning till talsyntesmotorn om hur texten ska uttalas.
Syntax
<say-as interpret-as="string" format="digit string" detail="string"> </say-as>
Attribut
| Attribut | Beskrivning | Obligatoriskt/valfritt |
|---|---|---|
interpret-as |
Anger innehållstypen för elementets text. En lista över typer finns i tabellen nedan. | Obligatorisk |
format |
Innehåller ytterligare information om den exakta formateringen av elementets text för innehållstyper som kan ha tvetydiga format. SSML definierar format för innehållstyper som använder dem (se tabellen nedan). | Valfritt |
detail |
Anger detaljnivån som ska talas. Det här attributet kan till exempel begära att talsyntesmotorn avskriver skiljetecken. Inga standardvärden har definierats för detail . |
Valfritt |
Följande är de innehållstyper som stöds för interpret-as attributen format och . Inkludera format attributet endast om interpret-as har angetts till datum och tid.
| tolka som | format | Tolkning |
|---|---|---|
address |
Texten talas som en adress. Talsyntesmotorn avlöser:I'm at <say-as interpret-as="address">150th CT NE, Redmond, WA</say-as>Som "I'm at 150th court north east redmond washington." |
|
cardinal, number |
Texten talas som ett kardinaltal. Talsyntesmotorn avlöser:There are <say-as interpret-as="cardinal">3</say-as> alternativesSom "Det finns tre alternativ". |
|
characters, spell-out |
Texten talas som enskilda bokstäver (bokstaverade). Talsyntesmotorn avlöser:<say-as interpret-as="characters">test</say-as>Som "T E S T." |
|
date |
dmy, mdy, ymd, ydm, ym, my, md, dm, d, m, y | Texten talas som ett datum. Attributet format anger datumformatet (d=day, m=month och y=year). Talsyntesmotorn avlöser:Today is <say-as interpret-as="date" format="mdy">10-19-2016</say-as>"Idag är oktober 2 000 160.000". |
digits, number_digit |
Texten talas som en sekvens med enskilda siffror. Talsyntesmotorn avlöser:<say-as interpret-as="number_digit">123456789</say-as>Som "1 2 3 4 5 6 7 8 9". |
|
fraction |
Texten talas som ett bråktal. Talsyntesmotorn avlöser:<say-as interpret-as="fraction">3/8</say-as> of an inchSom "tre åttondelar av en tum". |
|
ordinal |
Texten talas som ett ordningstal. Talsyntesmotorn avlöser:Select the <say-as interpret-as="ordinal">3rd</say-as> optionSom "Välj det tredje alternativet". |
|
telephone |
Texten talas som ett telefonnummer. Attributet format kan innehålla siffror som representerar en landskod. Till exempel "1" för USA eller "39" för Italien. Talsyntesmotorn kan använda den här informationen för att vägleda uttalet av ett telefonnummer. Telefonnumret kan också innehålla landskoden, och i så fall har det företräde framför landskoden i format . Talsyntesmotorn avlöser:The number is <say-as interpret-as="telephone" format="1">(888) 555-1212</say-as>Som "My number is area code eight eight eight five five five one two one two". |
|
time |
hms12, hms24 | Texten talas som en tid. Attributet anger om tiden anges med format en 12-timmarsklocka (hms12) eller en 24-timmarsklocka (hms24). Använd ett kolon för att avgränsa tal som representerar timmar, minuter och sekunder. Följande är giltiga tidsexempel: 12:35, 1:14:32, 08:15 och 02:50:45. Talsyntesmotorn avlöser:The train departs at <say-as interpret-as="time" format="hms12">4:00am</say-as>Som "The train avviker vid fyra A M." |
name |
Texten talas som ett personnamn. Talsyntesmotorn avlöser:<say-as interpret-as="name">ED</say-as>som [ →d]. I kinesiska namn skiljer sig vissa tecken åt när de förekommer i ett familjenamn. Talsyntesmotorn säger till exempel att 仇 in <say-as interpret-as="address">仇先生</say-as>som [qiñ] i stället för [chüu]. |
Användning
Elementet say-as får bara innehålla text.
Exempel
Talsyntesmotorn talar följande exempel som "Din första begäran var för ett rum i oktober kl. 20 med tidig ankomst kl. 12:00.00".
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-ChristopherNeural">
<p>
Your <say-as interpret-as="ordinal"> 1st </say-as> request was for <say-as interpret-as="cardinal"> 1 </say-as> room
on <say-as interpret-as="date" format="mdy"> 10/19/2010 </say-as>, with early arrival at <say-as interpret-as="time" format="hms12"> 12:35pm </say-as>.
</p>
</voice>
</speak>
Lägg till inspelat ljud
audio är ett valfritt element som gör att du kan infoga MP3-ljud i ett SSML-dokument. Brödtexten i ljudelementet kan innehålla oformaterad text eller SSML-markering som talas om ljudfilen inte är tillgänglig eller inte kan spelas upp. Dessutom kan elementet audio innehålla text och följande element: , , , , , audio , , och break p s phoneme prosody say-as sub .
Ljud som ingår i SSML-dokumentet måste uppfylla följande krav:
- MP3 måste finnas på en INTERNET-tillgänglig HTTPS-slutpunkt. HTTPS krävs och domänen som är värd för MP3-filen måste innehålla ett giltigt, betrott TLS/SSL-certifikat.
- MP3 måste vara en giltig MP3-fil (MPEG v2).
- Bithastigheten måste vara 48 kbit/s.
- Samplingsfrekvensen måste vara 16 000 Hz.
- Den sammanlagda totala tiden för alla text- och ljudfiler i ett enda svar får inte överstiga nittio (90) sekunder.
- MP3 får inte innehålla kundspecifik eller annan känslig information.
Syntax
<audio src="string"/></audio>
Attribut
| Attribut | Beskrivning | Obligatoriskt/valfritt |
|---|---|---|
src |
Anger plats/URL för ljudfilen. | Krävs om du använder ljudelementet i SSML-dokumentet. |
Exempel
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-ChristopherNeural">
<p>
<audio src="https://contoso.com/opinionprompt.wav"/>
Thanks for offering your opinion. Please begin speaking after the beep.
<audio src="https://contoso.com/beep.wav">
Could not play the beep, please voice your opinion now.
</audio>
</p>
</voice>
</speak>
Lägg till bakgrundsljud
Med mstts:backgroundaudio elementet kan du lägga till bakgrundsljud i dina SSML-dokument (eller blanda en ljudfil med text till tal). Med kan du loopa en ljudfil i bakgrunden, tona in i början av text till tal och tona ut i slutet av mstts:backgroundaudio text till tal.
Om bakgrundsljudet är kortare än text till tal eller tona ut loopas det. Om det är längre än text-till-tal stoppas den när toningen är klar.
Endast en bakgrundsljudfil tillåts per SSML-dokument. Du kan dock intersperse-taggar audio i elementet för att lägga till ytterligare ljud i voice SSML-dokumentet.
Syntax
<mstts:backgroundaudio src="string" volume="string" fadein="string" fadeout="string"/>
Attribut
| Attribut | Beskrivning | Obligatoriskt/valfritt |
|---|---|---|
src |
Anger plats/URL för bakgrundsljudfilen. | Krävs om du använder bakgrundsljud i SSML-dokumentet. |
volume |
Anger volymen för bakgrundsljudfilen. Godkända värden: 0 till 100 inklusivt. Standardvärdet är 1. |
Valfritt |
fadein |
Anger varaktigheten för bakgrundsljudet "tona in" som millisekunder. Standardvärdet är 0 , vilket motsvarar ingen toning. Godkända värden: 0 till 10000 inklusivt. |
Valfritt |
fadeout |
Anger varaktigheten för bakgrundsljudet tonas ut i millisekunder. Standardvärdet är 0 , vilket motsvarar ingen toning. Godkända värden: 0 till 10000 inklusivt. |
Valfritt |
Exempel
<speak version="1.0" xml:lang="en-US" xmlns:mstts="http://www.w3.org/2001/mstts">
<mstts:backgroundaudio src="https://contoso.com/sample.wav" volume="0.7" fadein="3000" fadeout="4000"/>
<voice name="Microsoft Server Speech Text to Speech Voice (en-US, ChristopherNeural)">
The text provided in this document will be spoken over the background audio.
</voice>
</speak>
Bokmärkeselement
Med bokmärkeselementet kan du infoga anpassade markörer i SSML för att hämta förskjutningen för varje markör i ljudströmmen. Vi kommer inte att läsa upp bokmärkeselementen. Bokmärkeselementet kan användas för att referera till en specifik plats i text- eller taggsekvensen.
Anteckning
bookmark -elementet fungerar bara en-US-AriaNeural för rösten just nu.
Syntax
<bookmark mark="string"/>
Attribut
| Attribut | Beskrivning | Obligatoriskt/valfritt |
|---|---|---|
mark |
Anger referenstexten för bookmark elementet. |
Krävs. |
Exempel
Du kanske till exempel vill veta tidsförskjutningen för varje blommans ord enligt följande
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-AriaNeural">
We are selling <bookmark mark='flower_1'/>roses and <bookmark mark='flower_2'/>daisies.
</voice>
</speak>
Hämta bokmärke med hjälp av Speech SDK
Du kan prenumerera på händelsen BookmarkReached i Speech SDK för att hämta bokmärkesförskjutningarna.
Anteckning
BookmarkReached -händelsen är endast tillgänglig sedan Speech SDK version 1.16.
BookmarkReached händelser utlöses när utdata från ljuddata blir tillgängliga, vilket är snabbare än uppspelning till en utdataenhet.
AudioOffsetrapporterar utdataljudens förfluten tid mellan början av syntesen och bokmärkeselementet. Detta mäts i hundra nanosekundersenheter (HNS) med 10 000 HNS motsvarande 1 millisekunder.Textär referenstexten för bokmärkeselementet, vilket är den sträng som du anger imarkattributet.
Mer information finns BookmarkReached i .
synthesizer.BookmarkReached += (s, e) =>
{
// The unit of e.AudioOffset is tick (1 tick = 100 nanoseconds), divide by 10,000 to convert to milliseconds.
Console.WriteLine($"Bookmark reached. Audio offset: " +
$"{e.AudioOffset / 10000}ms, bookmark text: {e.Text}.");
};
I exemplet med SSML ovan utlöses händelsen två gånger och konsolens utdata BookmarkReached blir
Bookmark reached. Audio offset: 825ms, bookmark text: flower_1.
Bookmark reached. Audio offset: 1462.5ms, bookmark text: flower_2.