Synthese verbeteren met Speech Synthesis Markup Language (SSML)
SSML (Speech Synthesis Markup Language) is een op XML gebaseerde markup-taal waarmee ontwikkelaars kunnen opgeven hoe invoertekst wordt geconverteerd naar gesynthetiseerde spraak met behulp van de tekst-naar-spraakservice. Vergeleken met tekst zonder opmaak kunnen ontwikkelaars dankzij SSML de toonhoogte, de uitspraak, de spreeksnelheid, het volume en meer van de tekst-naar-spraakuitvoer afstemmen. Normale interpunctie, zoals het pauzeren na een punt of het gebruik van de juiste intonatie wanneer een zin eindigt op een vraagteken, worden automatisch verwerkt.
De speech-service-implementatie van SSML is gebaseerd op World Wide Web Consortium Speech Synthesis Markup Language versie 1.0 van de World Wide Web Consortium.
Belangrijk
Chinese, Japanse en Koreaans tekens tellen als twee tekens voor facturering. Ga voor meer informatie naar Prijzen.
Neurale en aangepaste stemmen
Gebruik een menselijke neurale stem of maak uw eigen aangepaste stem die uniek is voor uw product of merk. Zie Taalondersteuning voor een volledige lijst met ondersteunde talen, talen en stemmen. Zie Overzicht van tekst-naar-spraak voor meer informatie over neurale en aangepaste stemmen.
Notitie
U kunt stemmen in verschillende stijlen en toonhoogten horen en voorbeeldtekst lezen met behulp van Text to Speech pagina.
Speciale tekens
Houd er bij het gebruik van SSML rekening mee dat speciale tekens, zoals aanhalingstekens, apostroofs en haakjes, van een escape-teken moeten worden uitgesloten. Zie voor meer informatie Extensible Markup Language (XML) 1.0: Bijlage D.
Ondersteunde SSML-elementen
Elk SSML-document wordt gemaakt met SSML-elementen (of tags). Deze elementen worden gebruikt om toonhoogte, prosody, volume en meer aan te passen. In de volgende secties wordt beschreven hoe elk element wordt gebruikt en wanneer een element vereist of optioneel is.
Belangrijk
Vergeet niet om dubbele aanhalingstekens te gebruiken rond kenmerkwaarden. Voor standaarden voor goed gevormde, geldige XML moeten kenmerkwaarden tussen dubbele aanhalingstekens worden ingesloten. Is bijvoorbeeld <prosody volume="90"> een goed gevormd, geldig element, maar <prosody volume=90> niet. SSML herkent mogelijk geen kenmerkwaarden die niet tussen aanhalingstekens staan.
Een SSML-document maken
speak is het hoofdelement en is vereist voor alle SSML-documenten. Het element bevat belangrijke informatie, zoals versie, taal en de definitie van de speak woordenlijst voor markeringen.
Syntaxis
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="string"></speak>
Kenmerken
| Kenmerk | Beschrijving | Vereist /optioneel |
|---|---|---|
version |
Geeft de versie aan van de SSML-specificatie die wordt gebruikt om de document-markeringen te interpreteren. De huidige versie is 1.0. | Vereist |
xml:lang |
Hiermee geeft u de taal van het hoofddocument. De waarde kan een kleine letter, tweeletterig taalcode (bijvoorbeeld ) of de taalcode en en hoofdletters land/regio (bijvoorbeeld ) en-US bevatten. |
Vereist |
xmlns |
Hiermee geeft u de URI op voor het document dat de markup-woordenlijst (de elementtypen en kenmerknamen) van het SSML-document definieert. De huidige URI is http://www.w3.org/2001/10/synthesis . | Vereist |
Een stem kiezen voor tekst-naar-spraak
Het voice element is vereist. Deze wordt gebruikt om de stem op te geven die wordt gebruikt voor tekst-naar-spraak.
Syntaxis
<voice name="string">
This text will get converted into synthesized speech.
</voice>
Kenmerken
| Kenmerk | Beschrijving | Vereist /optioneel |
|---|---|---|
name |
Identificeert de stem die wordt gebruikt voor tekst-naar-spraak-uitvoer. Zie Taalondersteuning voor een volledige lijst met ondersteunde stemmen. | Vereist |
Voorbeeld
Notitie
In dit voorbeeld wordt de en-US-ChristopherNeural stem gebruikt. Zie Taalondersteuning voor een volledige lijst met ondersteunde stemmen.
<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>
Meerdere stemmen gebruiken
In het speak -element kunt u meerdere stemmen opgeven voor tekst-naar-spraak-uitvoer. Deze stemmen kunnen in verschillende talen zijn. Voor elke stem moet de tekst worden verpakt in een voice -element.
Kenmerken
| Kenmerk | Beschrijving | Vereist /optioneel |
|---|---|---|
name |
Identificeert de stem die wordt gebruikt voor tekst-naar-spraak-uitvoer. Zie Taalondersteuning voor een volledige lijst met ondersteunde stemmen. | Vereist |
Voorbeeld
<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>
Spreekstijlen aanpassen
De tekst-naar-spraak-service synthetiseert standaard tekst met een neutrale spreekstijl voor neurale stemmen. U kunt de spreekstijl aanpassen om verschillende emoties uit te drukken, zoals gevoel, empathie en rustig, of de stem optimaliseren voor verschillende scenario's, zoals klantenservice, newscasting en spraakassistent, met behulp van het mstts:express-as -element. Dit is een optioneel element dat uniek is voor de spraakservice.
Op dit moment worden aanpassingen in de spreekstijl ondersteund voor de volgende neurale stemmen:
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
De intensiteit van de spreekstijl kan verder worden gewijzigd om beter bij uw gebruikscase te passen. U kunt een sterkere of zachte stijl opgeven met om de spraak expressiever of styledegree gedreigder te maken. Op dit moment worden aanpassingen in de spreekstijl ondersteund voor chinese neurale stemmen (Mandarijn, Vereenvoudigd).
Naast het aanpassen van de spreekstijlen en de mate van stijl, kunt u ook de parameter aanpassen zodat de stem een andere leeftijd en een ander role geslacht zal nabootsen. Een mannenstem kan bijvoorbeeld de toonhoogte verhogen en de intonatie wijzigen om een vrouwenstem te imiteren, maar de naam van de stem wordt niet gewijzigd. Op dit moment worden rolaanpassingen ondersteund voor deze Chinese neurale stemmen (Mandarijn, Vereenvoudigd) :
zh-CN-XiaomoNeuralzh-CN-XiaoxuanNeural
Bovenstaande wijzigingen worden toegepast op zinsniveau en stijlen en rollen kunnen per stem verschillen. Als een stijl of rollenspel niet wordt ondersteund, retournt de service gesproken tekst op de standaardneutrale manier. U kunt zien welke stijlen en rollen worden ondersteund voor elke stem via de spraaklijst-API of via het codeloze audio-inhoud maken platform.
Syntaxis
<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>
Notitie
Op dit moment ondersteunt styledegree alleen Chinese neurale stemmen (Mandarijn, Vereenvoudigd). role biedt alleen ondersteuning voor zh-CN-VoormoNeural en zh-CN-ZalxxiaNeural.
Kenmerken
| Kenmerk | Beschrijving | Vereist /optioneel |
|---|---|---|
style |
Hiermee geeft u de spreekstijl. Op dit moment zijn spreekstijlen spraaksyte specifiek. | Vereist bij het aanpassen van de spreekstijl voor een neurale stem. Als u mstts:express-as gebruikt, moet de stijl worden opgegeven. Als er een ongeldige waarde is opgegeven, wordt dit element genegeerd. |
styledegree |
Hiermee geeft u de intensiteit van de spreekstijl. Geaccepteerde waarden: 0,01 tot en met 2. De standaardwaarde is 1. Dit betekent de vooraf gedefinieerde stijl intensiteit. De minimale eenheid is 0,01, wat resulteert in een lichte neiging voor de doelstijl. Een waarde van 2 resulteert in een verdubbelde van de standaardstijl intensiteit. | Optioneel (op dit moment ondersteunt styledegree alleen Chinese neurale stemmen (Mandarijn, Vereenvoudigd)) |
role |
Hiermee geeft u het spreekrolspel op. De stem zal fungeren als een andere leeftijd en een ander geslacht, maar de naam van de stem wordt niet gewijzigd. | Optioneel (op dit moment biedt alleen ondersteuning voor role zh-CN-VoormoNeural en zh-CN-Zalx cnNeural.) |
Gebruik deze tabel om te bepalen welke spreekstijlen worden ondersteund voor elke neurale stem.
| Spraak | Stijl | Description |
|---|---|---|
en-US-AriaNeural |
style="newscast-formal" |
Geeft een formele, vertrouwens- en gezaghebbende toon weer voor de levering van nieuws |
style="newscast-casual" |
Geeft een veelzijdige en informele toon weer voor algemene nieuwslevering | |
style="narration-professional" |
Een professionele, objectieve toon voor het lezen van inhoud uitdrukken | |
style="customerservice" |
Geeft een vriendelijke en nuttige toon weer voor klantondersteuning | |
style="chat" |
Geeft een informele en ongedwongen toon weer | |
style="cheerful" |
Geeft een positieve en blije toon weer | |
style="empathetic" |
Geeft een gevoel van aandacht en begrip | |
en-US-JennyNeural |
style="customerservice" |
Geeft een vriendelijke en nuttige toon weer voor klantondersteuning |
style="chat" |
Geeft een informele en ongedwongen toon weer | |
style="assistant" |
Geeft een warme en ongedwongen toon weer voor digitale assistenten | |
style="newscast" |
Geeft een veelzijdige en informele toon weer voor algemene nieuwslevering | |
en-US-GuyNeural |
style="newscast" |
Geeft een formele en professionele toon weer voor het vertellen van nieuws |
en-US-SaraNeural |
style="cheerful" |
Geeft een positieve en blije toon weer |
style="sad" |
Geeft een weersintensvolle toon weer | |
style="angry" |
Geeft een ansensenseerde toon weer | |
ja-JP-NanamiNeural |
style="cheerful" |
Geeft een positieve en blije toon weer |
style="chat" |
Geeft een informele en ongedwongen toon weer | |
style="customerservice" |
Geeft een vriendelijke en nuttige toon weer voor klantondersteuning | |
pt-BR-FranciscaNeural |
style="calm" |
Geeft een cool, verzameld en samengestelde spreektijd weer. Toon, toonhoogte, prosody is veel uniformer in vergelijking met andere typen spraak. |
zh-CN-XiaoxiaoNeural |
style="newscast" |
Geeft een formele en professionele toon weer voor het vertellen van nieuws |
style="customerservice" |
Geeft een vriendelijke en nuttige toon weer voor klantondersteuning | |
style="assistant" |
Geeft een warme en ongedwongen toon weer voor digitale assistenten | |
style="chat" |
Geeft een informele en ongedwongen toon weer voor chit-chat | |
style="calm" |
Geeft een cool, verzameld en samengestelde spreektijd weer. Toon, toonhoogte, prosody is veel uniformer in vergelijking met andere typen spraak. | |
style="cheerful" |
Geeft een opgeslagen en intensige toon weer, met een hogere toonhoogte en meer energie | |
style="sad" |
Geeft een weersmatige toon, met een hogere toonhoogte, minder intensiteit en lagere energie. Veelvoorkomende indicatoren van deze emotie zijn janken of janken tijdens spraak. | |
style="angry" |
Geeft een af en toesingsgeluid weer, met een lagere toonhoogte, een hogere intensiteit en een hogere energie van de stemmen. De spreker is in een toestand van irate, displeased en aanstootgevend. | |
style="fearful" |
Geeft een afdaal ensnelheidsintensaal weer, met een hogere toonhoogte, een hogere energie van de stemmen en een hogere snelheid. De spreker is in een toestand van spanning en onbespresheid. | |
style="disgruntled" |
Geeft een onainlijke en klachtende toon weer. De spraak van deze emotie geeft ontstemdheid en afkeuring weer. | |
style="serious" |
Geeft een strikte en opdrachtintenserende toon weer. Spreker klinkt vaak korter en veel minder relaxed met vaste snelheid. | |
style="affectionate" |
Geeft een warme en aanstekelijke toon weer, met een hogere toonhoogte en meer energie. De spreker trekt de aandacht van de listener. De 'persoonlijkheid' van de spreker is vaak vertederend van aard. | |
style="gentle" |
Geeft een vriendelijke, vriendelijke en vriendelijke toon weer, met lagere toonhoogte en energie | |
style="lyrical" |
Emoties op een melodische en sentimentele manier uitdrukken | |
zh-CN-YunyangNeural |
style="customerservice" |
Geeft een vriendelijke en nuttige toon weer voor klantondersteuning |
zh-CN-YunyeNeural |
style="calm" |
Geeft een cool, verzameld en samengestelde spreektijd weer. Toon, toonhoogte, prosody is veel uniformer in vergelijking met andere typen spraak. |
style="cheerful" |
Geeft een opgeslagen en intensige toon weer, met een hogere toonhoogte en meer energie | |
style="sad" |
Geeft een weersmatige toon, met een hogere toonhoogte, minder intensiteit en lagere energie. Veelvoorkomende indicatoren van deze emotie zijn janken of janken tijdens spraak. | |
style="angry" |
Geeft een af en toesingsgeluid weer, met een lagere toonhoogte, een hogere intensiteit en een hogere energie van de stemmen. De spreker is in een toestand van irate, displeased en aanstootgevend. | |
style="fearful" |
Geeft een afdaal ensnelheidsintensaal weer, met een hogere toonhoogte, een hogere energie van de stemmen en een hogere snelheid. De spreker is in een toestand van spanning en onbespresheid. | |
style="disgruntled" |
Geeft een onainlijke en klachtende toon weer. De spraak van deze emotie geeft ontstemdheid en afkeuring weer. | |
style="serious" |
Geeft een strikte en opdrachtintenserende toon weer. Spreker klinkt vaak korter en veel minder relaxed met vaste snelheid. | |
zh-CN-YunxiNeural |
style="assistant" |
Geeft een warme en ongedwongen toon weer voor digitale assistenten |
style="cheerful" |
Geeft een opgeslagen en intensige toon weer, met een hogere toonhoogte en meer energie | |
style="sad" |
Geeft een weersmatige toon, met een hogere toonhoogte, minder intensiteit en lagere energie. Veelvoorkomende indicatoren van deze emotie zijn janken of janken tijdens spraak. | |
style="angry" |
Geeft een af en toesingsgeluid weer, met een lagere toonhoogte, een hogere intensiteit en een hogere energie van de stemmen. De spreker is in een toestand van irate, displeased en aanstootgevend. | |
style="fearful" |
Geeft een afdaal ensnelheidsintensaal weer, met een hogere toonhoogte, een hogere energie van de stemmen en een hogere snelheid. De spreker is in een toestand van spanning en onbespresheid. | |
style="disgruntled" |
Geeft een onainlijke en klachtende toon weer. De spraak van deze emotie geeft ontstemdheid en afkeuring weer. | |
style="serious" |
Geeft een strikte en opdrachtintenserende toon weer. Spreker klinkt vaak korter en veel minder relaxed met vaste snelheid. | |
style="depressed" |
Geeft een goede en despondentige toon weer met een lagere toonhoogte en energie | |
style="embarrassed" |
Geeft een onzekere en hesitante toon weer wanneer de spreker zich onprettig voelen | |
zh-CN-XiaohanNeural |
style="cheerful" |
Geeft een opgeslagen en intensige toon weer, met een hogere toonhoogte en meer energie |
style="sad" |
Geeft een weersmatige toon, met een hogere toonhoogte, minder intensiteit en lagere energie. Veelvoorkomende indicatoren van deze emotie zijn janken of janken tijdens spraak. | |
style="angry" |
Geeft een af en toesingsgeluid weer, met een lagere toonhoogte, een hogere intensiteit en een hogere energie van de stemmen. De spreker is in een toestand van irate, displeased en aanstootgevend. | |
style="fearful" |
Geeft een afdaal ensnelheidsintensaal weer, met een hogere toonhoogte, een hogere energie van de stemmen en een hogere snelheid. De spreker is in een toestand van spanning en onbespresheid. | |
style="disgruntled" |
Geeft een onainlijke en klachtende toon weer. De spraak van deze emotie geeft ontstemdheid en afkeuring weer. | |
style="serious" |
Geeft een strikte en opdrachtintenserende toon weer. Spreker klinkt vaak korter en veel minder relaxed met vaste snelheid. | |
style="embarrassed" |
Geeft een onzekere en hesitante toon weer wanneer de spreker zich onprettig voelen | |
style="affectionate" |
Geeft een warme en aanstekelijke toon weer, met een hogere toonhoogte en meer energie. De spreker trekt de aandacht van de listener. De 'persoonlijkheid' van de spreker is vaak vertederend van aard. | |
style="gentle" |
Geeft een vriendelijke, vriendelijke en vriendelijke toon weer, met lagere toonhoogte en energie | |
zh-CN-XiaomoNeural |
style="calm" |
Geeft een cool, verzameld en samengestelde spreektijd weer. Toon, toonhoogte, prosody is veel uniformer in vergelijking met andere typen spraak. |
style="cheerful" |
Geeft een opgeslagen en intensige toon weer, met een hogere toonhoogte en meer energie | |
style="angry" |
Geeft een af en toesingsgeluid weer, met een lagere toonhoogte, een hogere intensiteit en een hogere energie van de stemmen. De spreker is in een toestand van irate, displeased en aanstootgevend. | |
style="fearful" |
Geeft een afdaal ensnelheidsintensaal weer, met een hogere toonhoogte, een hogere energie van de stemmen en een hogere snelheid. De spreker is in een toestand van spanning en onbespresheid. | |
style="disgruntled" |
Geeft een onainlijke en klachtende toon weer. De spraak van deze emotie geeft ontstemdheid en afkeuring weer. | |
style="serious" |
Geeft een strikte en opdrachtintenserende toon weer. Spreker klinkt vaak korter en veel minder relaxed met vaste snelheid. | |
style="depressed" |
Geeft een goede en despondentige toon weer met een lagere toonhoogte en energie | |
style="gentle" |
Geeft een vriendelijke, vriendelijke en vriendelijke toon weer, met lagere toonhoogte en energie | |
zh-CN-XiaoxuanNeural |
style="calm" |
Geeft een cool, verzameld en samengestelde spreektijd weer. Toon, toonhoogte, prosody is veel uniformer in vergelijking met andere typen spraak. |
style="cheerful" |
Geeft een opgeslagen en intensige toon weer, met een hogere toonhoogte en meer energie | |
style="angry" |
Geeft een af en toesingsgeluid weer, met een lagere toonhoogte, een hogere intensiteit en een hogere energie van de stemmen. De spreker is in een toestand van irate, displeased en aanstootgevend. | |
style="fearful" |
Geeft een afdaal ensnelheidsintensaal weer, met een hogere toonhoogte, een hogere energie van de stemmen en een hogere snelheid. De spreker is in een toestand van spanning en onbespresheid. | |
style="disgruntled" |
Geeft een onainlijke en klachtende toon weer. De spraak van deze emotie geeft ontstemdheid en afkeuring weer. | |
style="serious" |
Geeft een strikte en opdrachtintenserende toon weer. Spreker klinkt vaak korter en veel minder relaxed met vaste snelheid. | |
style="depressed" |
Geeft een goede en despondentige toon weer met een lagere toonhoogte en energie | |
style="gentle" |
Geeft een vriendelijke, vriendelijke en vriendelijke toon weer, met lagere toonhoogte en energie | |
zh-CN-XiaoruiNeural |
style="sad" |
Geeft een weersmatige toon, met een hogere toonhoogte, minder intensiteit en lagere energie. Veelvoorkomende indicatoren van deze emotie zijn janken of janken tijdens spraak. |
style="angry" |
Geeft een af en toesingsgeluid weer, met een lagere toonhoogte, een hogere intensiteit en een hogere energie van de stemmen. De spreker is in een toestand van irate, displeased en aanstootgevend. | |
style="fearful" |
Geeft een afdaal ensnelheidsintensaal weer, met een hogere toonhoogte, een hogere energie van de stemmen en een hogere snelheid. De spreker is in een toestand van spanning en onbespresheid. | |
zh-CN-XiaoshuangNeural |
style="chat" |
Geeft een informele en ongedwongen toon weer. |
Gebruik deze tabel om de ondersteunde rollen en hun definities te controleren.
| Rol | Beschrijving |
|---|---|
role="Girl" |
De stem wordt geïmiteerd door een vrouw. |
role="Boy" |
De stem wordt geïmiteerd door een zoon. |
role="YoungAdultFemale" |
De stem wordt geïmiteerd door een jonge, volwassen vrouw. |
role="YoungAdultMale" |
De stem wordt geïmiteerd door een jonge volwassen man. |
role="OlderAdultFemale" |
De stem wordt geïmiteerd door een oudere volwassen vrouw. |
role="OlderAdultMale" |
De stem wordt geïmiteerd door een oudere volwassen man. |
role="SeniorFemale" |
De stem wordt geïmiteerd aan een senior vrouw. |
role="SeniorMale" |
De stem wordt geïmiteerd aan een senior man. |
Voorbeeld
Dit SSML-fragment laat zien hoe het element wordt gebruikt <mstts:express-as> om de spreekstijl te wijzigen in 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>
In dit SSML-fragment ziet u hoe het kenmerk wordt gebruikt om de intensiteit van de spreekstijl voor styledegree HebtxiaoNeural te wijzigen.
<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>
In dit SSML-fragment ziet u hoe het kenmerk wordt gebruikt om het rollenspel role voorPetmoNeural te wijzigen.
<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>
Talen aanpassen
U kunt spreektalen aanpassen voor neurale stemmen.
Schakel één stem in om verschillende talen vloeiend te spreken (zoals Engels, Spaans en Chinees) met behulp van het <lang xml:lang> -element. Dit is een optioneel element dat uniek is voor de spraakservice. Zonder dit element spreekt de stem de primaire taal.
Op dit moment worden aanpassingen in de taaltaal ondersteund voor deze neurale stemmen: en-US-JennyMultilingualNeural . Bovenstaande wijzigingen worden toegepast op zinsniveau en woordniveau. Als een taal niet wordt ondersteund, retournt de service geen audiostream.
Notitie
Op dit moment is het element niet compatibel met het element en . U kunt in dit element geen pauzes en prosody's aanpassen, zoals <lang xml:lang> prosody toonhoogte, break contour, snelheid, duur en volume.
Syntaxis
<lang xml:lang="string"></lang>
Kenmerken
| Kenmerk | Beschrijving | Vereist /optioneel |
|---|---|---|
lang |
Hiermee geeft u de talen spreken. Op dit moment zijn verschillende talen spraaksyteriek. | Vereist bij het aanpassen van de spreektaal voor een neurale stem. Als u lang xml:lang gebruikt, moet de locale worden opgegeven. |
Gebruik deze tabel om te bepalen welke spreektalen worden ondersteund voor elke neurale stem.
| Spraak | Taal van de taal Locale | Description |
|---|---|---|
en-US-JennyMultilingualNeural |
lang="en-US" |
En-US-taal spreken. Dit is de primaire taal van deze stem |
lang="en-CA" |
Taal en-CA-taal spreken | |
lang="en-AU" |
Taal en-AU-taal spreken | |
lang="en-GB" |
Taal en-GB-taal spreken | |
lang="de-DE" |
Taal de-DE-taal spreken | |
lang="fr-FR" |
Fr-FR-taal spreken | |
lang="fr-CA" |
Fr-CA-taal spreken | |
lang="es-ES" |
Taal es-ES-taal spreken | |
lang="es-MX" |
Taal van es-MX-taal spreken | |
lang="zh-CN" |
Taal van zh-CN-taal spreken | |
lang="ko-KR" |
Taal van ko-KR spreken | |
lang="ja-JP" |
Ja-JP-taal spreken | |
lang="it-IT" |
It-IT-taal spreken | |
lang="pt-BR" |
Pt-BR-taal spreken |
Voorbeeld
Dit SSML-fragment laat zien hoe u kunt gebruiken <lang xml:lang> om de spreektalen te wijzigen in en 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>
Een onderbreking/pauze toevoegen of verwijderen
Gebruik het -element om pauzes (of onderbrekingen) in te voegen tussen woorden of om te voorkomen dat pauzes automatisch worden toegevoegd door de break text-to-speech-service.
Notitie
Gebruik dit element om het standaardgedrag van tekst-naar-spraak (TTS) voor een woord of woordgroep te overschrijven als de gesynthetiseerde spraak voor dat woord of de woordgroep onnadig klinkt. Stel strength in op om een none prosodische onderbreking te voorkomen, die automatisch wordt ingevoegd door de text-to-speech-service.
Syntaxis
<break strength="string" />
<break time="string" />
Kenmerken
| Kenmerk | Beschrijving | Vereist /optioneel |
|---|---|---|
strength |
Hiermee geeft u de relatieve duur van een pauze met behulp van een van de volgende waarden:
|
Optioneel |
time |
Hiermee geeft u de absolute duur van een pauze in seconden of milliseconden, moet deze waarde worden ingesteld op minder dan 5000 ms. Voorbeelden van geldige waarden zijn 2s en 500ms |
Optioneel |
| Kracht | Description |
|---|---|
| Geen, of als er geen waarde is opgegeven | 0 ms |
| x-weak | 250 ms |
| Zwakke | 500 ms |
| gemiddeld | 750 ms |
| Sterke | 1000 ms |
| x-strong | 1250 ms |
Voorbeeld
<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>
Stilte toevoegen
Gebruik het element om pauzes voor of na tekst in te voegen, of mstts:silence tussen de twee aangrenzende zinnen.
Notitie
Het verschil tussen en is dat aan elke plaats in de tekst kan worden toegevoegd, maar stilte werkt alleen aan het begin of einde van invoertekst, of aan de grens van twee aangrenzende mstts:silence break break zinnen.
Syntaxis
<mstts:silence type="string" value="string"/>
Kenmerken
| Kenmerk | Beschrijving | Vereist /optioneel |
|---|---|---|
type |
Hiermee geeft u de locatie van stilte moet worden toegevoegd:
|
Vereist |
Value |
Hiermee geeft u de absolute duur van een pauze in seconden of milliseconden, moet deze waarde worden ingesteld op minder dan 5000 ms. Voorbeelden van geldige waarden zijn 2s en 500ms |
Vereist |
Voorbeeld In dit voorbeeld wordt gebruikt om 200 ms stilte toe te mtts:silence voegen tussen twee zinnen.
<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>
Alinea's en zinnen opgeven
p elementen s en worden gebruikt om respectievelijk alinea's en zinnen aan te duiden. Als deze elementen ontbreken, bepaalt de text-to-speech-service automatisch de structuur van het SSML-document.
Het p element kan tekst en de volgende elementen bevatten: , , audio , , , , en break phoneme prosody say-as sub mstts:express-as s .
Het s element kan tekst en de volgende elementen bevatten: , audio , , , , en break phoneme prosody say-as mstts:express-as sub .
Syntaxis
<p></p>
<s></s>
Voorbeeld
<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>
Phonemes gebruiken om uitspraak te verbeteren
Het ph element wordt gebruikt voor de uitspraak van de telefoon in SSML-documenten. Het ph element kan alleen tekst bevatten, geen andere elementen. Bied altijd door mensen leesbare spraak als terugval.
Telefoon alfabetische alfabeten bestaan uit telefoons, die bestaan uit letters, cijfers of tekens, soms in combinatie. Elke telefoon beschrijft een uniek spraakgeluid. Dit is in tegenstelling tot het Latijnse alfabet, waarbij een letter meerdere gesproken geluiden kan vertegenwoordigen. Houd rekening met de verschillende uitspraak van de letter 'c' in de woorden 'candy' en 'cease', of de verschillende uitspraak van de lettercombinatie 'th' in de woorden 'ding' en 'die'.
Notitie
De tag Phonemes wordt momenteel niet ondersteund voor deze vijf stemmen (et-EE-AnuNeural, ga-IE-OrlaNeural, lt-LT-OnaNeural, lv-LV-EveritaNeural en mt-MT-GarceNeural).
Syntaxis
<phoneme alphabet="string" ph="string"></phoneme>
Kenmerken
| Kenmerk | Beschrijving | Vereist /optioneel |
|---|---|---|
alphabet |
Hiermee geeft u het letter alfabet moet worden gebruikt bij het synthetiseren van de uitspraak van de tekenreeks in het ph kenmerk. De tekenreeks die het alfabet opgeeft, moet in kleine letters worden opgegeven. Hier volgen de mogelijke alfabeten die u kunt opgeven.
Het alfabet is alleen van toepassing op phoneme de in het element .. |
Optioneel |
ph |
Een tekenreeks met telefoons die de uitspraak van het woord in het phoneme element specificeren. Als de opgegeven tekenreeks niet-herkende telefoons bevat, weigert de TTS-service (text-to-speech) het hele SSML-document en produceert geen van de spraakuitvoer die is opgegeven in het document. |
Vereist als u phonemes gebruikt. |
Voorbeelden
<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>
Aangepast woordencon gebruiken om uitspraak te verbeteren
Soms kan de text-to-speech-service een woord niet nauwkeurig uitveren. Bijvoorbeeld de naam van een bedrijf, een medische term of een emoji. Ontwikkelaars kunnen definiëren hoe afzonderlijke entiteiten worden gelezen in SSML met behulp van de phoneme sub tags en . Als u echter wilt definiëren hoe meerdere entiteiten worden gelezen, kunt u een aangepast woordencon maken met behulp van de lexicon tag .
Notitie
Aangepast woordenboek ondersteunt momenteel UTF-8-codering.
Notitie
Aangepast woordenboek wordt momenteel niet ondersteund voor deze vijf stemmen (et-EE-AnuNeural, ga-IE-OrlaNeural, lt-LT-OnaNeural, lv-LV-EveritaNeural en mt-MT-GarceNeural).
Syntaxis
<lexicon uri="string"/>
Kenmerken
| Kenmerk | Beschrijving | Vereist /optioneel |
|---|---|---|
uri |
Het adres van het externe PLS-document. | Vereist. |
Gebruik
Als u wilt definiëren hoe meerdere entiteiten worden gelezen, kunt u een aangepast woordencon maken dat wordt opgeslagen als een .xml of .pls-bestand. Hier volgt een voorbeeld van .xml bestand.
<?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>
Het lexicon element bevat ten minste één lexeme element. Elk lexeme element bevat ten minste één element en een of meer elementen , en grapheme grapheme alias phoneme . Het grapheme element bevat tekst die de orthografie beschrijft. De elementen worden gebruikt om de uitspraak van een acroniem of een alias verkorte term aan te geven. Het phoneme element biedt tekst waarin wordt beschreven hoe de wordt lexeme uitgesproken. Wanneer alias en element worden geleverd met hetzelfde phoneme grapheme element, heeft een hogere alias prioriteit.
Belangrijk
Het lexeme element is casegevoelig in aangepast woordencon. Als u bijvoorbeeld alleen een telefoonnummer voor 'Hallo' op geeft, werkt het niet lexeme voor lexeme 'hallo'.
Lexicon bevat het kenmerk dat nodig is om aan te geven op welke taal xml:lang moet worden toegepast. Eén aangepast woordencon is per ontwerp beperkt tot één taal, dus pas het toe op een andere taal.
Het is belangrijk te weten dat u de uitspraak van een woordgroep niet rechtstreeks kunt instellen met behulp van het aangepaste woordencon. Als u de uitspraak voor een acroniem of een verkorte term moet instellen, geeft u eerst een op en koppelt u de alias phoneme aan die alias . Bijvoorbeeld:
<lexeme>
<grapheme>Scotland MV</grapheme>
<alias>ScotlandMV</alias>
</lexeme>
<lexeme>
<grapheme>ScotlandMV</grapheme>
<phoneme>ˈskɒtlənd.ˈmiːdiəm.weɪv</phoneme>
</lexeme>
Notitie
De lettergrens is '.' in het International Phonetic Alphabet.
U kunt ook rechtstreeks uw verwachte voor de afkorting of alias verkorte term verstrekken. Bijvoorbeeld:
<lexeme>
<grapheme>Scotland MV</grapheme>
<alias>Scotland Media Wave</alias>
</lexeme>
Belangrijk
Het phoneme element mag geen spaties bevatten bij het gebruik van IPA.
Zie Voor meer informatie over het aangepaste woordenlijstbestand Pronunciation Lexicon Specification (PLS) versie 1.0.
Publiceer vervolgens uw aangepaste woordenconbestand. Hoewel we geen beperkingen hebben voor waar dit bestand kan worden opgeslagen, raden we u aan Azure Blob-bestanden te Storage.
Nadat u uw aangepaste woordencon hebt gepubliceerd, kunt u hier vanuit uw SSML naar verwijzen.
Notitie
Het lexicon element moet zich in het element 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>
Wanneer u dit aangepaste woordencon gebruikt, wordt 'BTW' gelezen als 'By the way'. 'Benigni' wordt gelezen met de opgegeven IPA -bɛˈniːnji.
Omdat het eenvoudig is om fouten te maken in aangepaste woordencon, heeft Microsoft een validatieprogramma voor aangepast woordencon geleverd. Het bevat gedetailleerde foutberichten die u helpen fouten te vinden. Voordat u SSML met aangepast woordencon naar de Speech-service verzendt, moet u uw aangepaste woordencon controleren met dit hulpprogramma.
Beperkingen
- Bestandsgrootte: de maximale grootte van een aangepast woordenconbestand is 100 KB. Als deze grootte is bereikt, mislukt de syntheseaanvraag.
- Cachevernieuwing voor woordencache: aangepast woordencon wordt in de cache opgeslagen met URI als sleutel in de TTS-service wanneer deze voor het eerst wordt geladen. Woordencon met dezelfde URI wordt niet binnen 15 minuten opnieuw geladen, dus moet de wijziging van aangepaste woordenwissels tot wel 15 minuten wachten om van kracht te worden.
Telefoonsets voor speech-service
In het bovenstaande voorbeeld gebruiken we het International Phonetic Alphabet, ook wel bekend als de IPA-telefoonset. We raden ontwikkelaars aan de IPA te gebruiken, omdat dit de internationale standaard is. Voor sommige IPA-tekens hebben ze de versie 'vooraf' en 'ontleding' wanneer ze worden weergegeven met Unicode. Aangepast woordencon ondersteunt alleen de gedecomprimeerde unicodes.
Gezien het feit dat de IPA niet gemakkelijk te onthouden is, definieert de Speech-service een f phonetische set voor zeven talen ( en-US , , , , , , en fr-FR de-DE es-ES ja-JP zh-CN zh-TW ).
U kunt de gebruiken x-microsoft-sapi als de waarde voor het kenmerk met aangepaste alphabet woordencons, zoals hieronder wordt gedemonstreerd:
<?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>
Zie de phonetic sets van de Speech-service voor meer informatie over het gedetailleerde alfabet van de Speech-service.
Prosody aanpassen
Het element wordt gebruikt om wijzigingen in de toonhoogte, contour, bereik, snelheid, duur en volume voor de prosody tekst-naar-spraak-uitvoer op te geven. Het prosody element kan tekst en de volgende elementen bevatten: , , audio , , , , en break p phoneme prosody say-as sub s .
Omdat de prosodische kenmerkwaarden kunnen variëren binnen een breed bereik, interpreteert de spraakherkenning de toegewezen waarden als een suggestie van wat de werkelijke prosodische waarden van de geselecteerde stem moeten zijn. De tekst-naar-spraak-service beperkt of vervangt waarden die niet worden ondersteund. Voorbeelden van niet-ondersteunde waarden zijn een pitch van 1 MHz of een volume van 120.
Syntaxis
<prosody pitch="value" contour="value" range="value" rate="value" duration="value" volume="value"></prosody>
Kenmerken
| Kenmerk | Beschrijving | Vereist /optioneel |
|---|---|---|
pitch |
Geeft de basislijnpraat voor de tekst aan. U kunt de pitch uitdrukken als:
|
Optioneel |
contour |
Contour ondersteunt nu zowel neurale als standaardstemmen. Contour vertegenwoordigt wijzigingen in de pitch. Deze wijzigingen worden weergegeven als een matrix met doelen op opgegeven tijdposities in de spraakuitvoer. Elk doel wordt gedefinieerd door sets parameterparen. Bijvoorbeeld: <prosody contour="(0%,+20Hz) (10%,-2st) (40%,+10Hz)">De eerste waarde in elke set parameters geeft de locatie van de pitchwijziging op als een percentage van de duur van de tekst. Met de tweede waarde geeft u de hoeveelheid op die de pitch moet verhogen of verlagen, met behulp van een relatieve waarde of een enumeratiewaarde voor de pitch (zie pitch ). |
Optioneel |
range |
Een waarde die het bereik van de pitch voor de tekst vertegenwoordigt. U kunt range uitdrukken met behulp van dezelfde absolute waarden, relatieve waarden of enumeratiewaarden die worden gebruikt om te pitch beschrijven. |
Optioneel |
rate |
Geeft de spreeksnelheid van de tekst aan. U kunt het volgende rate uitdrukken:
|
Optioneel |
duration |
De periode die moet worden verstreken terwijl de spraaksyntheseservice (TTS) de tekst in seconden of milliseconden leest. Bijvoorbeeld 2s of 1800 ms. Duration ondersteunt alleen standaardstemmen. | Optioneel |
volume |
Geeft het volumeniveau van de spreekstem aan. U kunt het volume uitdrukken als:
|
Optioneel |
Spreeksnelheid wijzigen
De spreeksnelheid kan worden toegepast op neurale stemmen en standaardstemmen op woord- of zinsniveau.
Voorbeeld
<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>
Volume wijzigen
Volumewijzigingen kunnen worden toegepast op standaardstemmen op woord- of zinsniveau. Terwijl volumewijzigingen alleen kunnen worden toegepast op neurale stemmen op zinsniveau.
Voorbeeld
<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>
Pitch wijzigen
Pitchwijzigingen kunnen worden toegepast op standaardstemmen op woord- of zinsniveau. Terwijl pitchwijzigingen alleen kunnen worden toegepast op neurale stemmen op zinsniveau.
Voorbeeld
<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>
De omtrek van de pitch wijzigen
Belangrijk
Wijzigingen in de pitchcontour worden nu ondersteund met neurale stemmen.
Voorbeeld
<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 is een optioneel element dat het inhoudstype (zoals getal of datum) van de tekst van het element aangeeft. Dit biedt richtlijnen voor de engine voor spraaksynthese over het opsnuiten van de tekst.
Syntaxis
<say-as interpret-as="string" format="digit string" detail="string"> </say-as>
Kenmerken
| Kenmerk | Beschrijving | Vereist /optioneel |
|---|---|---|
interpret-as |
Hiermee wordt het inhoudstype van de tekst van het element aangegeven. Zie de onderstaande tabel voor een lijst met typen. | Vereist |
format |
Biedt aanvullende informatie over de precieze opmaak van de tekst van het element voor inhoudstypen die mogelijk dubbelzinnige indelingen hebben. SSML definieert indelingen voor inhoudstypen die deze gebruiken (zie de onderstaande tabel). | Optioneel |
detail |
Geeft het detailniveau aan dat moet worden uitgesproken. Met dit kenmerk kan bijvoorbeeld worden gevraagd of de spraaksynthese-engine leestekens moet gebruiken. Er zijn geen standaardwaarden gedefinieerd voor detail . |
Optioneel |
Hier volgen de ondersteunde inhoudstypen voor de interpret-as kenmerken format en . Neem het format kenmerk alleen op als is ingesteld op datum en interpret-as tijd.
| interpret-as | indeling | Interpretatie |
|---|---|---|
address |
De tekst wordt gesproken als een adres. De spraaksynthese-engine heeft het volgende:I'm at <say-as interpret-as="address">150th CT NE, Redmond, WA</say-as>Als 'Ik ben bij de 150e rechter noord-oost redmond washington'. |
|
cardinal, number |
De tekst wordt gesproken als een kardinaliteitsnummer. De spraaksynthese-engine heeft het volgende:There are <say-as interpret-as="cardinal">3</say-as> alternativesEr zijn drie alternatieven. |
|
characters, spell-out |
De tekst wordt gesproken als afzonderlijke letters (gespeld). De spraaksynthese-engine heeft het volgende:<say-as interpret-as="characters">test</say-as>Als 'T E S T'. |
|
date |
dmy, mdy, ymd, ydm, ym, my, md, dm, d, m, y | De tekst wordt gesproken als een datum. Het format kenmerk geeft de notatie van de datum aan (d=day, m=month en y=year). De spraaksynthese-engine heeft het volgende:Today is <say-as interpret-as="date" format="mdy">10-19-2016</say-as>Zoals 'Vandaag is oktober is twee duizendtal 1000.' |
digits, number_digit |
De tekst wordt gesproken als een reeks afzonderlijke cijfers. De spraaksynthese-engine heeft het volgende:<say-as interpret-as="number_digit">123456789</say-as>Als '1 2 3 4 5 6 7 8 9'. |
|
fraction |
De tekst wordt gesproken als een fractioneel getal. De spraaksynthese-engine heeft het volgende:<say-as interpret-as="fraction">3/8</say-as> of an inchAls 'drie achten van een inch'. |
|
ordinal |
De tekst wordt gesproken als een ordinale getal. De spraaksynthese-engine heeft het volgende:Select the <say-as interpret-as="ordinal">3rd</say-as> optionAls 'Selecteer de derde optie'. |
|
telephone |
De tekst wordt gesproken als een telefoonnummer. Het format kenmerk kan cijfers bevatten die een landcode vertegenwoordigen. Bijvoorbeeld '1' voor de Verenigde Staten of '39' voor Italië. De spraaksynthese-engine kan deze informatie gebruiken om de uitspraak van een telefoonnummer te begeleiden. Het telefoonnummer kan ook het landnummer bevatten, en zo ja, heeft voorrang op de landcode in de format . De spraaksynthese-engine heeft het volgende:The number is <say-as interpret-as="telephone" format="1">(888) 555-1212</say-as>'Mijn nummer is netnummer acht acht acht vijf vijf, twee twee twee'. |
|
time |
hms12, hms24 | De tekst wordt als een tijd gesproken. Het kenmerk geeft aan of de tijd wordt opgegeven met behulp van een format 12-uurs klok (hms12) of een 24-uurs klok (hms24). Gebruik een dubbele punt om getallen te scheiden die uren, minuten en seconden vertegenwoordigen. Hier volgen geldige tijdvoorbeelden: 12:35, 1:14:32, 08:15 en 02:50:45. De spraaksynthese-engine heeft het volgende:The train departs at <say-as interpret-as="time" format="hms12">4:00am</say-as>Zoals 'De training om vier uur ' s'. |
name |
De tekst wordt gesproken als een persoonsnaam. De spraaksynthese-engine heeft het volgende:<say-as interpret-as="name">ED</say-as>as [ is] . In Chinese namen komen sommige tekens anders voor wanneer ze worden weergegeven in een familienaam. De engine voor spraaksynthese geeft bijvoorbeeld aan 仇 in <say-as interpret-as="address">仇先生</say-as>als [:] in plaats van [chóu]. |
Gebruik
Het say-as element kan alleen tekst bevatten.
Voorbeeld
De spraaksynthese-engine spreekt het volgende voorbeeld uit als 'Uw eerste aanvraag was voor één kamer op oktober en twintig met een vroege aankomst om 123.00 uur'.
<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>
Opgenomen audio toevoegen
audio is een optioneel element waarmee u MP3-audio in een SSML-document kunt invoegen. De body van het audio-element kan tekst zonder tekst of SSML-markup bevatten die wordt uitgesproken als het audiobestand niet beschikbaar of niet kan worden afspelen. Daarnaast kan het element tekst en de volgende audio elementen bevatten: audio , , , , , , , en break p s phoneme prosody say-as sub .
Audio die in het SSML-document is opgenomen, moet aan de volgende vereisten voldoen:
- De MP3 moet worden gehost op een HTTPS-eindpunt dat toegankelijk is via internet. HTTPS is vereist en het domein dat als host voor het MP3-bestand wordt gebruikt, moet een geldig, vertrouwd TLS/SSL-certificaat presenteren.
- De MP3 moet een geldig MP3-bestand (MPEG v2) zijn.
- De bitsnelheid moet 48 kbps zijn.
- De samplefrequentie moet 16.000 Hz zijn.
- De gecombineerde totale tijd voor alle tekst- en audiobestanden in één antwoord mag niet langer zijn dan negentig (90) seconden.
- De MP3 mag geen klantspecifieke of andere gevoelige informatie bevatten.
Syntaxis
<audio src="string"/></audio>
Kenmerken
| Kenmerk | Beschrijving | Vereist /optioneel |
|---|---|---|
src |
Hiermee geeft u de locatie/URL van het audiobestand op. | Vereist als u het audio-element in uw SSML-document gebruikt. |
Voorbeeld
<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>
Achtergrondgeluid toevoegen
Met mstts:backgroundaudio het element kunt u achtergrondgeluid toevoegen aan uw SSML-documenten (of een audiobestand combineren met tekst-naar-spraak). Met kunt u een audiobestand op de achtergrond herhalen, vervaagd aan het begin van tekst-naar-spraak en vervaagt u aan het einde van mstts:backgroundaudio tekst-naar-spraak.
Als de opgegeven achtergrondaudio korter is dan de tekst-naar-spraak of vervaagt, wordt deze herhaald. Als het langer is dan de tekst-naar-spraak, stopt deze wanneer het vervaagt is voltooid.
Er is slechts één audiobestand op de achtergrond toegestaan per SSML-document. U kunt echter tags tussen het element invoegen om extra audio toe te audio voice voegen aan uw SSML-document.
Syntaxis
<mstts:backgroundaudio src="string" volume="string" fadein="string" fadeout="string"/>
Kenmerken
| Kenmerk | Beschrijving | Vereist /optioneel |
|---|---|---|
src |
Hiermee geeft u de locatie/URL van het audiobestand op de achtergrond op. | Vereist als u achtergrondgeluid in uw SSML-document gebruikt. |
volume |
Hiermee geeft u het volume van het audiobestand op de achtergrond. Geaccepteerde waarden: 0 voor 100 inclusief. De standaardwaarde is 1. |
Optioneel |
fadein |
Hiermee geeft u de duur van de achtergrondgeluid 'vervaagt' in milliseconden. De standaardwaarde is 0 , wat gelijk is aan geen vervaaging. Geaccepteerde waarden: 0 voor 10000 inclusief. |
Optioneel |
fadeout |
Hiermee geeft u de duur van de audio op de achtergrond vervaagt in milliseconden. De standaardwaarde is 0 . Dit is het equivalent van geen vervaaging. Geaccepteerde waarden: 0 voor 10000 inclusief. |
Optioneel |
Voorbeeld
<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>
Het element Bladwijzer
Met het element Bladwijzer kunt u aangepaste markeringen invoegen in SSML om de offset van elke markering in de audiostroom op te halen. We lezen de bladwijzerelementen niet uit. Het element bladwijzer kan worden gebruikt om te verwijzen naar een specifieke locatie in de tekst- of tagreeks.
Notitie
bookmark element werkt voor en-US-AriaNeural nu alleen voor spraak.
Syntaxis
<bookmark mark="string"/>
Kenmerken
| Kenmerk | Beschrijving | Vereist /optioneel |
|---|---|---|
mark |
Hiermee geeft u de referentietekst van het bookmark element op. |
Vereist. |
Voorbeeld
Als voorbeeld wilt u mogelijk de tijdsver offset van elk bloemwoord weten als volgt
<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>
Bladwijzers op halen met behulp van speech-SDK
U kunt zich abonneren op de BookmarkReached gebeurtenis in speech-SDK om de bladwijzer-offsets op te halen.
Notitie
BookmarkReached gebeurtenis is alleen beschikbaar sinds Speech SDK versie 1.16.
BookmarkReached -gebeurtenissen worden verhoogd naarmate de audiogegevens van de uitvoer beschikbaar komen, wat sneller is dan het afspelen naar een uitvoerapparaat.
AudioOffsetrapporteert de verstreken tijd van de uitvoeraudio tussen het begin van de synthese en het bladwijzerelement. Dit wordt gemeten in eenheden van honderd nanoseconden (HNS) met 10.000 HNS gelijk aan 1 milliseconde.Textis de referentietekst van het bladwijzerelement. Dit is de tekenreeks die u in het kenmerk inmarkstelt.
Zie voor meer BookmarkReached informatie.
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}.");
};
In het bovenstaande voorbeeld van SSML wordt de gebeurtenis twee keer BookmarkReached geactiveerd en wordt de console-uitvoer
Bookmark reached. Audio offset: 825ms, bookmark text: flower_1.
Bookmark reached. Audio offset: 1462.5ms, bookmark text: flower_2.