Vylepšení syntézy pomocí jazyka SSML (Speech Synthesis Markup Language)

SSML (Speech Synthesis Markup Language) je značkovací jazyk založený na jazyku XML, který umožňuje vývojářům určit způsob, jakým se vstupní text převede na syntetizovanou řeč s využitím služby pro převod textu na řeč. V porovnání s prostým textem umožňuje jazyk SSML vývojářům vyladit výšku hlasu, výslovnost, rychlost řeči, hlasitost a další aspekty výstupu převodu textu na řeč. Normální interpunkce, například pauzy za čárkami nebo použití správné intonace v případě, že věta končí otazníkem, se zpracovává automaticky.

Implementace služby Speech jazyka SSML je založená konsorcium World Wide Web jazyka SSML (Speech Synthesis Markup Language) verze 1.0.

Důležité

Znaky čínštiny, japonštiny a korejštiny se pro fakturaci počítají jako dva znaky. Další informace najdete na stránce s cenami.

Neurální a vlastní hlasy

Použijte neurální hlas, který se líbí člověku, nebo si vytvořte vlastní hlas jedinečný pro váš produkt nebo značku. Úplný seznam podporovaných jazyků, národní prostředí a hlasů najdete v tématu Podpora jazyků. Další informace o neurálních a vlastních hlasech najdete v tématu Přehled převodu textu na řeč.

Poznámka

K poslechu hlasů různých stylů a čtení příkladu textu můžete použít Převod textu na řeč stránky.

Speciální znaky

Při použití SSML mějte na paměti, že speciální znaky, jako jsou uvozovky, apostrofy a závorky, musí být uvozeny uvozovacími znaky. Další informace najdete v jazyk XML (eXtensible Markup Language) (XML) 1.0: Příloha D.

Podporované elementy SSML

Každý dokument SSML se vytvoří s elementy SSML (nebo značkami). Tyto prvky se používají k úpravě výšky, prosody, objemu a dalších prvků. Následující části podrobně popisují, jak se jednotlivé prvky používají a kdy je prvek povinný nebo volitelný.

Důležité

Nezapomeňte použít dvojité uvozovky kolem hodnot atributů. Standardy pro kód XML ve správném formátu vyžadují, aby hodnoty atributů byly uzavřeny do dvojitých uvozovek. Například je <prosody volume="90"> platný prvek ve správném formátu, ale <prosody volume=90> není. SSML nemusí rozpoznat hodnoty atributů, které nejsou v uvozovkách.

Vytvoření dokumentu SSML

speak je kořenový element a vyžaduje se pro všechny dokumenty SSML. Element speak obsahuje důležité informace, jako je verze, jazyk a definice slovní zásoby s přirážek.

Syntax

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="string"></speak>

Atributy

Atribut Popis Povinné / Volitelné
version Označuje verzi specifikace SSML, která se používá k interpretaci značek dokumentu. Aktuální verze je 1.0. Vyžadováno
xml:lang Určuje jazyk kořenového dokumentu. Hodnota může obsahovat kód jazyka s malými písmeny, dvou písmen (například ) nebo kód jazyka a velká písmena en země/oblast (například en-US ). Vyžadováno
xmlns Určuje identifikátor URI dokumentu, který definuje slovník značek (typy elementů a názvy atributů) dokumentu SSML. Aktuální identifikátor URI je http://www.w3.org/2001/10/synthesis . Vyžadováno

Volba hlasu pro převod textu na řeč

Element voice je povinný. Slouží k určení hlasu, který se používá pro převod textu na řeč.

Syntax

<voice name="string">
    This text will get converted into synthesized speech.
</voice>

Atributy

Atribut Popis Povinné / Volitelné
name Určuje hlas používaný pro výstup převodu textu na řeč. Úplný seznam podporovaných hlasů najdete v tématu Podpora jazyků. Vyžadováno

Příklad

Poznámka

V tomto příkladu se používá en-US-ChristopherNeural hlas . Úplný seznam podporovaných hlasů najdete v tématu Podpora jazyků.

<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>

Použití více hlasů

V speak elementu můžete zadat více hlasů pro výstup převodu textu na řeč. Tyto hlasy mohou být v různých jazycích. Pro každý hlas musí být text zabalený do voice elementu .

Atributy

Atribut Popis Povinné / Volitelné
name Určuje hlas používaný pro výstup převodu textu na řeč. Úplný seznam podporovaných hlasů najdete v tématu Podpora jazyků. Vyžadováno

Příklad

<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>

Úprava stylů řeči

Služba pro převod textu na řeč ve výchozím nastavení syntetizuje text s využitím neutrálního stylu řeči pro neurální hlasy. Styl mluvy můžete upravit tak, aby vyjadřovat různé emoce, jako jsou emoce, empatie a klid, nebo optimalizovat hlas pro různé scénáře, jako jsou služby zákazníkům, mluvení zpráv a hlasový asistent, pomocí mstts:express-as elementu . Tento element je volitelný a jedinečný pro službu Speech.

V současné době se úpravy stylu mluvy podporují pro následující neurální hlasy:

  • en-US-AriaNeural
  • en-US-JennyNeural
  • en-US-GuyNeural
  • en-US-SaraNeural
  • ja-JP-NanamiNeural
  • pt-BR-FranciscaNeural
  • zh-CN-XiaoxiaoNeural
  • zh-CN-YunyangNeural
  • zh-CN-YunyeNeural
  • zh-CN-YunxiNeural
  • zh-CN-XiaohanNeural
  • zh-CN-XiaomoNeural
  • zh-CN-XiaoxuanNeural
  • zh-CN-XiaoruiNeural
  • zh-CN-XiaoshuangNeural

Intenzitu stylu mluvy je možné dále změnit, aby lépe vyhovovala vašemu případu použití. Pomocí můžete zadat silnější nebo měkčí styl, aby byla řeč výraznější nebo styledegree subduzivní. V současné době jsou úpravy stylu mluvy podporovány pro čínštinu (mandarínštinu, zjednodušené) neurální hlasy.

Kromě úpravy stylů řeči a stupně stylu můžete také upravit parametr tak, aby hlas napodobl role jiný věk a pohlaví. Například hlas mužů může zvýšit výšku a změnit intonaci tak, aby napodobil hlas žen, ale název hlasu se nezmění. V současné době se úpravy rolí podporují pro tyto neurální hlasy v čínštině (mandarínštině, zjednodušené):

  • zh-CN-XiaomoNeural
  • zh-CN-XiaoxuanNeural

Výše uvedené změny se použijí na úrovni věty a styly a role se liší podle hlasu. Pokud se styl nebo role nepodporují, služba vrátí řeč výchozím neutrálním způsobem. Styly a role jsou podporované pro jednotlivé hlasy prostřednictvím rozhraní API pro hlasový seznam nebo prostřednictvím platformy pro rozpoznávání hlasových Vytváření zvukového obsahu kódu.

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>

Poznámka

V tuto chvíli podporuje styledegree jenom neurální hlasy čínštiny (mandarínštiny, zjednodušené). role podporuje pouze zh-CN-IalmoNeural a zh-CN-Cn-Xineural.

Atributy

Atribut Popis Povinné / Volitelné
style Určuje styl mluvy. Styly mluvy jsou v současné době specifické pro jednotlivé hlasy. Vyžaduje se při úpravě stylu mluvy pro neurální hlas. Pokud používáte mstts:express-as , musí být poskytnut styl . Pokud je zadána neplatná hodnota, bude tento prvek ignorován.
styledegree Určuje intenzitu stylu řeči. Přijaté hodnoty: 0,01 až 2 (včetně). Výchozí hodnota je 1, což znamená předdefinovanou intenzitu stylu. Minimální jednotka je 0,01, což má mírně tendenci k cílovému stylu. Výsledkem hodnoty 2 je zdvojnásobení výchozí intenzity stylu. Volitelné (v tuto chvíli styledegree podporuje jenom čínštinu (mandarínštinu, zjednodušené) neurální hlasy.)
role Určuje speaking Role-Play. Hlas bude fungovat jako jiný věk a pohlaví, ale název hlasu se nezmění. Volitelné (v současné době role podporuje jenom zh-CN-XiaomoNeural a zh-CN-XiaoxuanNeural.)

Pomocí této tabulky můžete určit, které mluvené styly jsou pro každý neuronové hlas podporovány.

Hlas Styl Description
en-US-AriaNeural style="newscast-formal" Vyjadřuje formální, jistý a autoritativní tón pro doručování zpráv.
style="newscast-casual" Vyjadřuje všestranný a příležitostný tón pro obecné doručování zpráv.
style="narration-professional" Vyjádření profesionálního a objektivního tónu pro čtení obsahu
style="customerservice" Vyjadřuje uživatelsky přívětivý a užitečný tón pro zákaznickou podporu.
style="chat" Vyjádření nepříležitostného a odlehčeného tónu
style="cheerful" Vyjadřuje kladný a šťastný tón.
style="empathetic" Vyjadřuje smysl caring a porozumění
en-US-JennyNeural style="customerservice" Vyjadřuje uživatelsky přívětivý a užitečný tón pro zákaznickou podporu.
style="chat" Vyjádření nepříležitostného a odlehčeného tónu
style="assistant" Vyjadřuje teplý a odlehčený tón pro digitální asistenty
style="newscast" Vyjadřuje všestranný a příležitostný tón pro obecné doručování zpráv.
en-US-GuyNeural style="newscast" Vyjadřuje formální a profesionální tón pro zprávy mluveného komentáře.
en-US-SaraNeural style="cheerful" Vyjadřuje kladný a šťastný tón.
style="sad" Vyjadřuje sorrowful tón.
style="angry" Vyjadřuje Angry a nespokojeni tón.
ja-JP-NanamiNeural style="cheerful" Vyjadřuje kladný a šťastný tón.
style="chat" Vyjádření nepříležitostného a odlehčeného tónu
style="customerservice" Vyjadřuje uživatelsky přívětivý a užitečný tón pro zákaznickou podporu.
pt-BR-FranciscaNeural style="calm" Vyjadřuje studenou, získanou a složenou polohu při mluvení. Tónů, rozteč a Prosody je v porovnání s jinými typy řeči mnohem jednotnější.
zh-CN-XiaoxiaoNeural style="newscast" Vyjadřuje formální a profesionální tón pro zprávy mluveného komentáře.
style="customerservice" Vyjadřuje uživatelsky přívětivý a užitečný tón pro zákaznickou podporu.
style="assistant" Vyjadřuje teplý a odlehčený tón pro digitální asistenty
style="chat" Vyjádření příležitostného a odlehčeného tónu pro CHITEST – chat
style="calm" Vyjadřuje studenou, získanou a složenou polohu při mluvení. Tónů, rozteč a Prosody je v porovnání s jinými typy řeči mnohem jednotnější.
style="cheerful" Vyjadřuje dostáváme a tón s vyšší roztečí a r-spotřebou.
style="sad" Vyjadřuje sorrowful tón s vyšší roztečí, nižší intenzitou a nižší spotřebou r. Běžné indikátory tohoto emoce by byly během řeči whimpers nebo Crying.
style="angry" Vyjadřuje Angry a nespokojeni tón s nižší roztečí, vyšší intenzitou a vyšší spotřebou r. Mluvčí je ve stavu, ve kterém se irate, je zastavený a poškozený.
style="fearful" Vyjadřuje děsili a nervový tón s vyšší roztečí, vyšší energií energie a vyšší rychlostí. Mluvčí je ve stavu tenseness a uneasiness.
style="disgruntled" Vyjadřuje Disdainful a stížnost. Řeč tohoto emoce zobrazuje nerekreační a dočasné.
style="serious" Vyjadřuje striktní a příkazový tón. Mluvčí často zazní a mnohem méně odlehčená pomocí tempo.
style="affectionate" Vyjadřuje teplý a affectionate tón s vyšší roztečí a spotřebou r. Mluvčí je ve stavu, ve kterém se přilákat na pozornost naslouchacího procesu. Osobní preference mluvčího je často endearingá.
style="gentle" Vyjádření mírného, zdvořiléého a příjemnýho tónu s nižší roztečí a r-energií
style="lyrical" Vyjadřuje emoce v Melodic a Sentimental
zh-CN-YunyangNeural style="customerservice" Vyjadřuje uživatelsky přívětivý a užitečný tón pro zákaznickou podporu.
zh-CN-YunyeNeural style="calm" Vyjadřuje studenou, získanou a složenou polohu při mluvení. Tónů, rozteč a Prosody je v porovnání s jinými typy řeči mnohem jednotnější.
style="cheerful" Vyjadřuje dostáváme a tón s vyšší roztečí a r-spotřebou.
style="sad" Vyjadřuje sorrowful tón s vyšší roztečí, nižší intenzitou a nižší spotřebou r. Běžné indikátory tohoto emoce by byly během řeči whimpers nebo Crying.
style="angry" Vyjadřuje Angry a nespokojeni tón s nižší roztečí, vyšší intenzitou a vyšší spotřebou r. Mluvčí je ve stavu, ve kterém se irate, je zastavený a poškozený.
style="fearful" Vyjadřuje děsili a nervový tón s vyšší roztečí, vyšší energií energie a vyšší rychlostí. Mluvčí je ve stavu tenseness a uneasiness.
style="disgruntled" Vyjadřuje Disdainful a stížnost. Řeč tohoto emoce zobrazuje nerekreační a dočasné.
style="serious" Vyjadřuje striktní a příkazový tón. Mluvčí často zazní a mnohem méně odlehčená pomocí tempo.
zh-CN-YunxiNeural style="assistant" Vyjadřuje teplý a odlehčený tón pro digitální asistenty
style="cheerful" Vyjadřuje dostáváme a tón s vyšší roztečí a r-spotřebou.
style="sad" Vyjadřuje sorrowful tón s vyšší roztečí, nižší intenzitou a nižší spotřebou r. Běžné indikátory tohoto emoce by byly během řeči whimpers nebo Crying.
style="angry" Vyjadřuje Angry a nespokojeni tón s nižší roztečí, vyšší intenzitou a vyšší spotřebou r. Mluvčí je ve stavu, ve kterém se irate, je zastavený a poškozený.
style="fearful" Vyjadřuje děsili a nervový tón s vyšší roztečí, vyšší energií energie a vyšší rychlostí. Mluvčí je ve stavu tenseness a uneasiness.
style="disgruntled" Vyjadřuje Disdainful a stížnost. Řeč tohoto emoce zobrazuje nerekreační a dočasné.
style="serious" Vyjadřuje striktní a příkazový tón. Mluvčí často zazní a mnohem méně odlehčená pomocí tempo.
style="depressed" Vyjadřuje melancholic a despondent tón s nižší roztečí a energií.
style="embarrassed" Vyjadřuje nejistý a váhají tón, když je mluvčí Uncomfortable.
zh-CN-XiaohanNeural style="cheerful" Vyjadřuje dostáváme a tón s vyšší roztečí a r-spotřebou.
style="sad" Vyjadřuje sorrowful tón s vyšší roztečí, nižší intenzitou a nižší spotřebou r. Běžné indikátory tohoto emoce by byly během řeči whimpers nebo Crying.
style="angry" Vyjadřuje Angry a nespokojeni tón s nižší roztečí, vyšší intenzitou a vyšší spotřebou r. Mluvčí je ve stavu, ve kterém se irate, je zastavený a poškozený.
style="fearful" Vyjadřuje děsili a nervový tón s vyšší roztečí, vyšší energií energie a vyšší rychlostí. Mluvčí je ve stavu tenseness a uneasiness.
style="disgruntled" Vyjadřuje Disdainful a stížnost. Řeč tohoto emoce zobrazuje nerekreační a dočasné.
style="serious" Vyjadřuje striktní a příkazový tón. Mluvčí často zazní a mnohem méně odlehčená pomocí tempo.
style="embarrassed" Vyjadřuje nejistý a váhají tón, když je mluvčí Uncomfortable.
style="affectionate" Vyjadřuje teplý a affectionate tón s vyšší roztečí a spotřebou r. Mluvčí je ve stavu, ve kterém se přilákat na pozornost naslouchacího procesu. Osobní preference mluvčího je často endearingá.
style="gentle" Vyjádření mírného, zdvořiléého a příjemnýho tónu s nižší roztečí a r-energií
zh-CN-XiaomoNeural style="calm" Vyjadřuje studenou, získanou a složenou polohu při mluvení. Tónů, rozteč a Prosody je v porovnání s jinými typy řeči mnohem jednotnější.
style="cheerful" Vyjadřuje dostáváme a tón s vyšší roztečí a r-spotřebou.
style="angry" Vyjadřuje Angry a nespokojeni tón s nižší roztečí, vyšší intenzitou a vyšší spotřebou r. Mluvčí je ve stavu, ve kterém se irate, je zastavený a poškozený.
style="fearful" Vyjadřuje děsili a nervový tón s vyšší roztečí, vyšší energií energie a vyšší rychlostí. Mluvčí je ve stavu tenseness a uneasiness.
style="disgruntled" Vyjadřuje znechucený a stěžující si tón. Řeč této emoce ukazuje neplechu a opomíjet.
style="serious" Vyjadřuje striktní a příkazový tón. Zdá se, že mluvčí je často neschůdný a s pevným náhlým chvění mnohem méně uvolněný.
style="depressed" Vyjadřuje melancholický a desektální tón s nižší sklonem a spotřebou energie.
style="gentle" Vyjadřuje smyšlený, vousný a vousový tón s nižší smyšlenou a vaální energii.
zh-CN-XiaoxuanNeural style="calm" Vyjadřuje studenou, shromážděnou a složenou názornou řeč. Tone, pitch, prosody je v porovnání s jinými typy řeči mnohem jednotnější.
style="cheerful" Vyjadřuje běsný a zanícený tón s vyšším sklonem a vlačnou energii.
style="angry" Vyjadřuje smutku a annoyed tone s nižší rozdmýchanou, vyšší intenzitou a vyšší vikátovou energii. Mluvčí je ve stavu, kdy je z toho vychýlený, znechucený a urážený.
style="fearful" Vyjadřuje běsnící a nesvůjový tón s vyšší sklonem, vyšší vokalkalní energii a rychlejší rychlostí. Mluvčí je ve stavu času a nesnadnosti.
style="disgruntled" Vyjadřuje znechucený a stěžující si tón. Řeč této emoce ukazuje neplechu a opomíjet.
style="serious" Vyjadřuje striktní a příkazový tón. Zdá se, že mluvčí je často neschůdný a s pevným náhlým chvění mnohem méně uvolněný.
style="depressed" Vyjadřuje melancholický a desektální tón s nižší sklonem a spotřebou energie.
style="gentle" Vyjadřuje smyšlený, vousný a vousový tón s nižší smyšlenou a vaální energii.
zh-CN-XiaoruiNeural style="sad" Vyjadřuje neschválený tón s vyšší sklonem, menší intenzitou a nižší vikárovou energii. Běžnými indikátory této emoce by byly roztučení nebo rozrušování během řeči.
style="angry" Vyjadřuje smutku a annoyed tone s nižší rozdmýchanou, vyšší intenzitou a vyšší vikátovou energii. Mluvčí je ve stavu, kdy je z toho vychýlený, znechucený a urážený.
style="fearful" Vyjadřuje běsnící a nesvůjový tón s vyšší sklonem, vyšší vokalkalní energii a rychlejší rychlostí. Mluvčí je ve stavu času a nesnadnosti.
zh-CN-XiaoshuangNeural style="chat" Vyjadřuje nenáročné a uvolněné tóny.

Pomocí této tabulky můžete zkontrolovat podporované role a jejich definice.

Role Popis
role="Girl" Hlas se imituje k dívce.
role="Boy" Hlas se imituje k synovi.
role="YoungAdultFemale" Hlas se imituje pro šátku dospělých žen.
role="YoungAdultMale" Hlas se imituje k mládně dospělému muži.
role="OlderAdultFemale" Hlas se imituje pro starší dospělé ženy.
role="OlderAdultMale" Hlas se imituje staršímu dospělému člověku.
role="SeniorFemale" Hlas se imituje pro starší ženy.
role="SeniorMale" Hlas se imituje nadřízený.

Příklad

Tento fragment kódu SSML ukazuje, jak se element používá <mstts:express-as> ke změně stylu mluvy na 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>

Tento fragment kódu SSML ilustruje, jak se atribut používá ke změně intenzity stylu mluvy styledegree pro SSML.

<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>

Tento fragment kódu SSML ilustruje, jak se atribut používá ke změně role role pro NamímoNeural.

<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>

Úprava jazyků pro řeč

U neurálních hlasů můžete upravit jazyky mluvy. Pomocí elementu umožnte jednomu hlasu plynule mluvit různými jazyky (například angličtinou, španělštinou a <lang xml:lang> čínštinou). Tento element je volitelný a jedinečný pro službu Speech. Bez tohoto prvku bude hlas mluvit svým primárním jazykem. V současné době jsou úpravy jazyka řeči podporovány pro tyto neurální hlasy: en-US-JennyMultilingualNeural . Výše uvedené změny se použijí na úrovni věty a slov. Pokud se jazyk nepodporuje, služba nevrátí žádný zvukový stream.

Poznámka

V současné době je prvek nekompatibilní s elementem a . V tomto prvku není možné upravit pozastavení a <lang xml:lang> prosody prosomii, jako je rozdmost, rychlost, doba trvání break a objem.

Syntax

<lang xml:lang="string"></lang>

Atributy

Atribut Popis Povinné / Volitelné
lang Určuje jazyky pro mluvy. V současné době jsou různé jazyky mluvy specifické pro jednotlivé jazyky. Vyžaduje se při úpravě mluvy pro neurální hlas. Pokud používáte lang xml:lang , musí být k dispozici národní prostředí.

Pomocí této tabulky můžete určit, které jazyky mluvy jsou podporovány pro každý neurální hlas.

Hlas Jazyk národního prostředí Description
en-US-JennyMultilingualNeural lang="en-US" Promluvte si s místním prostředím v USA, které je primárním místním prostředím tohoto hlasu.
lang="en-CA" Jazyk národního prostředí en-CA
lang="en-AU" Jazyk národního prostředí en-AU
lang="en-GB" Jazyk národního prostředí en-GB
lang="de-DE" Jazyk národního prostředí de-DE
lang="fr-FR" Jazyk národního prostředí fr-FR
lang="fr-CA" Jazyk národního prostředí fr-CA
lang="es-ES" Jazyk národního prostředí es-ES
lang="es-MX" Jazyk národního prostředí jazyka ES-MX
lang="zh-CN" Jazyk národního prostředí zh-CN
lang="ko-KR" Jazyk národního prostředí Ko-KR
lang="ja-JP" Jazyk národního prostředí ja-JP
lang="it-IT" Jazyk národního prostředí IT
lang="pt-BR" Jazyk národního prostředí pt-BR

Příklad

Tento fragment kódu SSML ukazuje, jak použít ke změně jazyka pro <lang xml:lang> řeč na a 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>

Přidání nebo odebrání pozastavení

Pomocí break elementu můžete vložit pozastavení (nebo přerušení) mezi slova nebo zabránit pozastavením automaticky přidaných službou převodu textu na řeč.

Poznámka

Tento prvek slouží k přepsání výchozího chování převodu textu na řeč (TTS) pro slovo nebo frázi, pokud syntetizovaná řeč pro toto slovo nebo frázi zní nepřizná. Nastavte na , aby se zabránilo strength prosodic break, který je automaticky vložen službou převodu textu none na řeč.

Syntax

<break strength="string" />
<break time="string" />

Atributy

Atribut Popis Povinné / Volitelné
strength Určuje relativní dobu trvání pozastavení pomocí jedné z následujících hodnot:
  • žádné
  • x-weak
  • Slabý
  • medium (výchozí)
  • Silné
  • x-strong
Volitelné
time Určuje absolutní dobu trvání pozastavení v sekundách nebo milisekundách. Tato hodnota by měla být nastavená na méně než 5 000 ms. Příklady platných hodnot jsou 2s a 500ms Volitelné
Sílu Description
Žádné nebo pokud není zadaná žádná hodnota 0 ms
x-weak 250 ms
Slabý 500 ms
střední 750 ms
Silné 1000 ms
x-strong 1250 ms

Příklad

<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>

Přidání ticha

Pomocí mstts:silence elementu můžete vložit pozastavení před nebo za text nebo mezi 2 sousední věty.

Poznámka

Rozdíl mezi a spočívá v tom, že lze přidat na libovolné místo v textu, ale ticho funguje pouze na začátku nebo konci vstupního textu nebo na hranici mstts:silence break dvou break sousedních vět.

Syntax

<mstts:silence  type="string"  value="string"/>

Atributy

Atribut Popis Povinné / Volitelné
type Určuje umístění ticha, které se má přidat:
  • Leading – na začátku textu
  • Tailing – na konci textu
  • Sentenceboundary – mezi sousedními větami
Vyžadováno
Value Určuje absolutní dobu trvání pozastavení v sekundách nebo milisekundách. Tato hodnota by měla být nastavená na méně než 5 000 ms. Příklady platných hodnot jsou 2s a 500ms Vyžadováno

Příklad V tomto příkladu mtts:silence se používá k přidání ticha 200 ms mezi dvě věty.

<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>

Zadání odstavců a vět

p Prvky s a slouží k označení odstavců a vět . Pokud tyto prvky chybí, služba převodu textu na řeč automaticky určí strukturu dokumentu SSML.

Element p může obsahovat text a následující prvky: , , , , audio , , , a break phoneme prosody say-as sub mstts:express-as s .

Element s může obsahovat text a následující prvky: , , , audio , , , a break phoneme prosody say-as mstts:express-as sub .

Syntax

<p></p>
<s></s>

Příklad

<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>

Použití phonemes ke zlepšení výslovnosti

Element se používá pro výslovnost v dokumentech ph SSML. Element ph může obsahovat pouze text, žádné další prvky. Jako záložní vždy poskytnete lidsky čitelný projev.

Phonetic abecedy se skládají z telefonů, které se skládají z písmen, číslic nebo znaků, někdy v kombinaci. Každý telefon popisuje jedinečný zvuk řeči. To je na rozdíl od latinky, kde jakékoli písmeno může představovat více mluvených zvuků. Vezměte v úvahu různé výslovnosti písmen "c" ve slovech "candy" a "cease" nebo různé výslovnosti kombinace písmen "th" ve slovech "thing" a "those".

Poznámka

U těchto 5 hlasů (et-EE-AnuNeural, ga-IE-OrlaNeural, lt-LT-OnNeural, lv-LV-EveritaNeural a mt-MT-GarceNeural) se značka phonemes nepodporuje.

Syntax

<phoneme alphabet="string" ph="string"></phoneme>

Atributy

Atribut Popis Povinné / Volitelné
alphabet Určuje phonetic abecedu, která se má použít při syntetizaci výslovnosti řetězce v ph atributu . Řetězec určující abecedu musí být zadán malými písmeny. Níže jsou uvedená možná abecedy, které můžete zadat.
Abeceda se vztahuje pouze phoneme na v elementu .
Volitelné
ph Řetězec obsahující telefony, které určují výslovnost slova v phoneme elementu . Pokud zadaný řetězec obsahuje nerozpoznané telefony, služba TTS (Text-to-Speech) odmítne celý dokument SSML a nevyprodukuje žádný výstup řeči zadaný v dokumentu. Vyžaduje se při použití phonemes.

Příklady

<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>

Použití vlastního lexiconu ke zlepšení výslovnosti

Služba převodu textu na řeč někdy nedokáže přesně vyslovit slovo. Například název společnosti, lékařský termín nebo emoji. Vývojáři mohou pomocí značek a definovat, jak se v SSML čtou phoneme jednotlivé sub entity. Pokud ale potřebujete definovat, jak se čtou více entit, můžete pomocí značky vytvořit vlastní lexicon lexicon.

Poznámka

Vlastní lexicon v současné době podporuje kódování UTF-8.

Poznámka

Vlastní lexicon se v tuto chvíli nepodporuje pro těchto 5 hlasů (et-EE-AnuNeural, ga-IE-OrlaNeural, lt-LT-OnNeural, lv-LV-EveritaNeural a mt-MT-GarceNeural).

Syntax

<lexicon uri="string"/>

Atributy

Atribut Popis Povinné / Volitelné
uri Adresa externího dokumentu PLS. Povinná hodnota.

Použití

Pokud chcete definovat, jak se čte více entit, můžete vytvořit vlastní lexicon, který se uloží jako soubor .xml nebo .pls. Následuje ukázkový soubor .xml souboru.

<?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>

Element lexicon obsahuje alespoň jeden lexeme prvek. Každý lexeme prvek obsahuje alespoň jeden prvek a jeden nebo více prvků , a grapheme grapheme alias phoneme . Element grapheme obsahuje text popisující ortografii . Prvky alias se používají k označení výslovnosti zkratky nebo zkráceného termínu. Element phoneme poskytuje text popisující, jak lexeme se vyslovuje . Pokud alias je prvek a poskytnut se stejným phoneme grapheme prvkem, alias má vyšší prioritu.

Důležité

V lexeme elementu se ve vlastním lexiconu rozlišují malá a velká písmena. Pokud například zadáte jenom phoneme pro "Hello", nebude pro lexeme lexeme "hello" fungovat.

Lexicon obsahuje atribut nezbytný k označení národního prostředí, pro které xml:lang se má použít. Jeden vlastní lexicon je z návrhu omezený na jedno národní prostředí, takže ho použijte pro jiné národní prostředí, které nebude fungovat.

Je důležité si uvědomit, že výslovnost fráze nelze nastavit přímo pomocí vlastního lexiconu. Pokud potřebujete nastavit výslovnost zkratky nebo zkráceného výrazu, nejprve zadejte a pak přidružte k alias phoneme . alias Například:

  <lexeme>
    <grapheme>Scotland MV</grapheme>
    <alias>ScotlandMV</alias>
  </lexeme>
  <lexeme>
    <grapheme>ScotlandMV</grapheme>
    <phoneme>ˈskɒtlənd.ˈmiːdiəm.weɪv</phoneme>
  </lexeme>

Poznámka

Slabá hranice je .v mezinárodní phonetické abecedě.

Můžete také přímo zadat očekávaný termín pro zkratku nebo alias zkrácený termín. Například:

  <lexeme>
    <grapheme>Scotland MV</grapheme>
    <alias>Scotland Media Wave</alias>
  </lexeme>

Důležité

Při phoneme použití IPA nesmí element obsahovat prázdné znaky.

Další informace o vlastním souboru lexiconu najdete v tématu Specifikace slovníku výslovnosti (PLS) verze 1.0.

V dalším kroku publikujte vlastní soubor lexicon. I když nemáme žádná omezení, kam se tento soubor může uložit, doporučujeme použít Azure Blob Storage.

Po publikování vlastního lexiconu na něj můžete odkazovat z jazyka SSML.

Poznámka

Element lexicon musí být uvnitř voice elementu .

<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>

Při použití tohoto vlastního lexiconu se "BTW" čte jako "V cestě". "Neškodné" se přečte pomocí poskytnuté ip adresy IPA "b

Vzhledem k tomu, že ve vlastním lexiconu je snadné dělat chyby, Poskytuje Microsoft nástroj pro ověřování vlastního lexiconu. Poskytuje podrobné chybové zprávy, které vám pomůžou najít chyby. Než do služby Speech odešlete SSML s vlastním lexiconem, měli byste vlastní lexikon zkontrolovat pomocí tohoto nástroje.

Omezení

  • Velikost souboru: Maximální limit velikosti vlastního souboru lexiconu je 100 kB, pokud je velikost větší než tato, požadavek na syntézu selže.
  • Aktualizace mezipaměti Lexicon: Vlastní lexicon se při prvním načtení ve službě TTS ukládá do mezipaměti s identifikátorem URI jako klíčem. Lexicon se stejným identifikátorem URI se do 15 minut znovu načtou, takže vlastní změna lexiconu musí počkat nejdél 15 minut, než se projeví.

Phonetic sets služby Speech

Ve výše uvedené ukázce používáme Mezinárodní phonetickou abecedu, označované také jako telefonní sada IPA. Doporučujeme vývojářům používat IPA, protože se jedná o mezinárodní standard. U některých znaků IPA mají při reprezentování unicode předkomponovanou a rozloženou verzi. Vlastní lexicon podporuje pouze rozložitá kódování Unicode.

Vzhledem k tomu, že IPA není snadné zapamatovat, definuje služba Speech fonetické sady pro sedm jazyků ( , , , , , , a en-US fr-FR de-DE es-ES ja-JP zh-CN zh-TW ).

Jako hodnotu atributu můžete použít vlastní x-microsoft-sapi alphabet lexicony, jak je znázorněno níže:

<?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>

Další informace o podrobném abecedním abecedním nastavení služby Speech najdete v tématu Phonetic sets služby Speech.

Úprava prozódie

Element prosody slouží k určení změn výšky, rozmezí, rychlosti, doby trvání a objemu výstupu převodu textu na řeč. Element prosody může obsahovat text a následující prvky: , , , , audio , , , a break p phoneme prosody say-as sub s .

Vzhledem k tomu, že se hodnoty prosodických atributů mohou v širokém rozsahu lišit, interpretuje rozpoznávání řeči přiřazené hodnoty jako návrh skutečných prosodicových hodnot vybraného hlasu. Služba převodu textu na řeč omezuje nebo nahrazuje hodnoty, které nejsou podporovány. Příkladem nepodporovaných hodnot je sklon 1 MHz nebo objem 120.

Syntax

<prosody pitch="value" contour="value" range="value" rate="value" duration="value" volume="value"></prosody>

Atributy

Atribut Popis Povinné / Volitelné
pitch Označuje základní sklon textu. Můžete to vyjádřit takto:
  • Absolutní hodnota vyjádřená číslem následovaným hodnotou Hz (Hz). Například, <prosody pitch="600Hz">some text</prosody>.
  • Relativní hodnota vyjádřená jako číslo předcházející "+" nebo "-" a následovaná "Hz" nebo "st", která určuje množství pro změnu výšky. Například: <prosody pitch="+80Hz">some text</prosody> nebo <prosody pitch="-2st">some text</prosody> . "st" označuje, že jednotka změny je pololetní, což je polovina tónu (půl kroku) na standardní diatonické škále.
  • Konstantní hodnota:
    • x-low
    • Nízké
    • střední
    • high
    • x-high
    • default
Volitelné
contour Nyní podporuje neurální i standardní hlasy. Reprezentuje změny při předsudku. Tyto změny jsou reprezentovány jako pole cílů v zadaných časových pozicích ve výstupu řeči. Každý cíl je definovaný sadami párů parametrů. Například:

<prosody contour="(0%,+20Hz) (10%,-2st) (40%,+10Hz)">

První hodnota v každé sadě parametrů určuje umístění změny výšky jako procento doby trvání textu. Druhá hodnota určuje množství ke zvýšení nebo snížení výšky pomocí relativní hodnoty nebo hodnoty výčtu pro zvýšení výšky (viz pitch ).
Volitelné
range Hodnota, která představuje rozsah výšky textu. Můžete vyjádřit pomocí range stejných absolutních hodnot, relativních hodnot nebo výčtů, které se používají k popisu pitch . Volitelné
rate Označuje rychlost řeči textu. Můžete vyjádřit rate takto:
  • Relativní hodnota vyjádřená jako číslo, které funguje jako násobitel výchozí hodnoty. Například hodnota 1 nemá za výsledek žádnou změnu sazby. Hodnota 0,5 má za výsledek zastavení sazby. Hodnota 3 vede ke zkostění sazby.
  • Konstantní hodnota:
    • x-slow
    • Pomalé
    • střední
    • Rychle
    • x-fast
    • default
Volitelné
duration Časové období, které by mělo uplynout, zatímco služba syntézy řeči (TTS) čte text v sekundách nebo milisekundách. Například 2s nebo 1800ms. Doba trvání podporuje pouze standardní hlasy. Volitelné
volume Označuje úroveň hlasitosti hlasu promluvy. Svazek můžete vyjádřit takto:
  • Absolutní hodnota vyjádřená jako číslo v rozsahu od 0,0 do 100,0, od nejtiššího po nejšimlejší . Například 75. Výchozí hodnota je 100.0.
  • Relativní hodnota vyjádřená jako číslo předcházející znaku "+" nebo "-", které určuje množství pro změnu svazku. Například +10 nebo -5,5.
  • Konstantní hodnota:
    • Tichý
    • x-soft
    • Měkké
    • střední
    • Hlasité
    • x-nahot
    • default
Volitelné

Změna rychlosti řeči

Rychlost řeči se může použít na neurální hlasy a standardní hlasy na úrovni slova nebo věty.

Příklad

<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>

Změna svazku

Změny objemu lze použít u standardních hlasů na úrovni slova nebo věty. Zatímco změny objemu lze použít pouze u neurálních hlasů na úrovni věty.

Příklad

<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>

Změna výšky

Změny výšky lze použít u standardních hlasů na úrovni slova nebo věty. Zatímco změny výšky lze použít pouze u neurálních hlasů na úrovni věty.

Příklad

<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>

Změna výšky

Důležité

Neurální hlasy teď podporují změny ve neurálních hlasech.

Příklad

<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 je volitelný prvek, který označuje typ obsahu (například číslo nebo datum) textu prvku. To poskytuje modulu pro syntézu řeči pokyny, jak text zdůmyslnět.

Syntax

<say-as interpret-as="string" format="digit string" detail="string"> </say-as>

Atributy

Atribut Popis Povinné / Volitelné
interpret-as Označuje typ obsahu textu prvku. Seznam typů najdete v následující tabulce. Vyžadováno
format Poskytuje další informace o přesném formátování textu elementu pro typy obsahu, které mohou mít nejednoznačné formáty. SSML definuje formáty pro typy obsahu, které je používají (viz tabulka níže). Volitelné
detail Označuje úroveň podrobností, které se budou vyslovovat. Tento atribut může například požadovat, aby modul syntézy řeči vyslovil interpunkční znaménka. Pro neexistují žádné standardní hodnoty detail definované. Volitelné

Níže jsou podporované typy obsahu pro interpret-as atributy format a . Atribut format zahrnte jenom interpret-as v případě, že je nastavený na datum a čas.

interpret-as formát Interpretace
address Text se vysloví jako adresa. Modul syntézy řeči přednese:

I'm at <say-as interpret-as="address">150th CT NE, Redmond, WA</say-as>

As "I'm at 150th court north east redmond washington."
cardinal, number Text se vysloví jako kardinalitu. Modul syntézy řeči přednese:

There are <say-as interpret-as="cardinal">3</say-as> alternatives

Jako "Existují tři alternativy".
characters, spell-out Text se vysloví jako jednotlivá písmena (napsaná). Modul syntézy řeči přednese:

<say-as interpret-as="characters">test</say-as>

Jako "T E S T."
date dmy, mdy, ymd, ydm, ym, my, md, dm, d, m, y Text se vysloví jako datum. Atribut format určuje formát data (d=den, m=měsíc a y=rok). Modul syntézy řeči přednese:

Today is <say-as interpret-as="date" format="mdy">10-19-2016</say-as>

Jako "Today is October nineteenth two thousand sixteen".
digits, number_digit Text je vyslovený jako posloupnost jednotlivých číslic. Modul syntézy řeči přednese:

<say-as interpret-as="number_digit">123456789</say-as>

Jako "1 2 3 4 5 6 7 8 9".
fraction Text se vysloví jako desetinné číslo. Modul syntézy řeči přednese:

<say-as interpret-as="fraction">3/8</say-as> of an inch

Jako "tři osminy palce".
ordinal Text je vyslovený jako pořadové číslo. Modul syntézy řeči přednese:

Select the <say-as interpret-as="ordinal">3rd</say-as> option

Jako "Vyberte třetí možnost".
telephone Text se vysloví jako telefonní číslo. Atribut format může obsahovat číslice, které představují kód země. Například "1" pro USA nebo "39" pro Itálii. Modul pro syntézu řeči může tyto informace použít jako vodítko při přednášce telefonního čísla. Telefonní číslo může obsahovat také kód země, a pokud ano, má přednost před kódem země v format . Modul syntézy řeči přednese:

The number is <say-as interpret-as="telephone" format="1">(888) 555-1212</say-as>

Jako "My number is area code88 five five one two one two".
time hms12, hms24 Text se vysloví jako čas. Atribut určuje, jestli je čas určený pomocí format 12hodinových hodin (hms12) nebo 24hodinových hodin (hms24). Dvojtečka slouží k oddělení čísel představujících hodiny, minuty a sekundy. Toto jsou platné časové příklady: 12:35, 1:14:32, 08:15 a 02:50:45. Modul syntézy řeči přednese:

The train departs at <say-as interpret-as="time" format="hms12">4:00am</say-as>

"Train train trains at four A M." (Jak trénuje ve čtyřech 10:00)
name Text se vysloví jako jméno osoby. Modul syntézy řeči přednese:

<say-as interpret-as="name">ED</say-as>

as [ zad].
V čínských názvech se některé znaky liší, když se zobrazí v názvu rodiny. Například modul syntézy řeči říká, že 仇 v

<say-as interpret-as="address">仇先生</say-as>

jako [qiú] místo [chóu].

Použití

Element say-as může obsahovat pouze text.

Příklad

Modul syntézy řeči ukazuje následující příklad jako "První žádost byla pro jednu místnost 91. října 2010 s dřívějším příchodem ve 123: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>

Přidání zaznamenaného zvuku

audio je volitelný prvek, který umožňuje vložit zvuk MP3 do dokumentu SSML. Tělo zvukového elementu může obsahovat prostý text nebo kód SSML, který se vysloví, pokud je zvukový soubor nedostupný nebo nepřehrovatelný. Kromě toho může audio element obsahovat text a následující prvky: , , , audio , , , , a break p s phoneme prosody say-as sub .

Zvuk, který je součástí dokumentu SSML, musí splňovat tyto požadavky:

  • MP3 musí být hostovaný na koncovém bodu HTTPS přístupném z internetu. Vyžaduje se PROTOKOL HTTPS a doména hostující soubor MP3 musí předložit platný důvěryhodný certifikát TLS/SSL.
  • MP3 musí být platný soubor MP3 (MPEG v2).
  • Přenosová rychlost musí být 48 kb/s.
  • Vzorkovací frekvence musí být 16 000 Hz.
  • Celková doba pro všechny textové a zvukové soubory v jedné odpovědi nesmí překročit 90 (90) sekund.
  • MP3 nesmí obsahovat žádné citlivé informace specifické pro zákazníka ani jiné citlivé informace.

Syntax

<audio src="string"/></audio>

Atributy

Atribut Popis Povinné / Volitelné
src Určuje umístění nebo adresu URL zvukového souboru. Vyžaduje se při použití zvukového elementu v dokumentu SSML.

Příklad

<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>

Přidání zvuku na pozadí

Element umožňuje přidat zvuk na pozadí do dokumentů SSML (nebo kombinovat zvukový soubor s převodem textu mstts:backgroundaudio na řeč). Díky této smyčce můžete vytvořit smyčku se zvukovým souborem na pozadí, zeslábnout na začátku převodu textu na řeč a postupně zeslábnout na konci převodu textu mstts:backgroundaudio na řeč.

Pokud je poskytovaný zvuk na pozadí kratší než text na řeč nebo prolnutí, bude se smyčkovat. Pokud je delší než převod textu na řeč, po dokončení prolnutí se zastaví.

V SSML dokumentu je povolen pouze jeden zvukový soubor na pozadí. Můžete však audio v rámci voice elementu doplnit značky přidáním dalšího zvuku do dokumentu SSML.

Syntax

<mstts:backgroundaudio src="string" volume="string" fadein="string" fadeout="string"/>

Atributy

Atribut Popis Požadováno/volitelné
src Určuje umístění nebo adresu URL zvukového souboru na pozadí. Vyžaduje se, pokud v dokumentu SSML používáte zvuk na pozadí.
volume Určuje hlasitost zvukového souboru na pozadí. Přijaté hodnoty: 0 na 100 včetně Výchozí hodnota je 1. Volitelné
fadein Určuje dobu, po kterou se bude zvuk na pozadí zobrazovat jako milisekundy. Výchozí hodnota je 0 , což je ekvivalent bez zmizení. Přijaté hodnoty: 0 na 10000 včetně Volitelné
fadeout Určuje dobu, po kterou se má zvuk na pozadí rozmizet v milisekundách. Výchozí hodnota je 0 , což je ekvivalent bez zmizení. Přijaté hodnoty: 0 na 10000 včetně Volitelné

Příklad

<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>

Element Bookmark

Element Bookmark umožňuje vložit vlastní značky v SSML a získat posun každé značky ve zvukovém streamu. Prvky záložky nebudeme číst. Element Bookmark lze použít k odkazování na konkrétní umístění v rámci textu nebo sekvence značek.

Poznámka

bookmark element funguje jenom pro en-US-AriaNeural hlas pro nyní.

Syntax

<bookmark mark="string"/>

Atributy

Atribut Popis Požadováno/volitelné
mark Určuje referenční text bookmark elementu. Povinná hodnota.

Příklad

Jako příklad můžete chtít, abyste věděli, jaký je časový posun každého slova v květu, jak je uvedeno níže.

<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>

Získání záložky pomocí sady Speech SDK

Můžete se přihlásit k odběru BookmarkReached události v sadě Speech SDK a získat tak posunutí záložky.

Poznámka

BookmarkReached událost je k dispozici pouze od sady Speech SDK verze 1,16.

BookmarkReached události jsou vyvolány, protože výstupní zvuková data budou k dispozici, což bude rychlejší než přehrávání do výstupního zařízení.

  • AudioOffset oznamuje uplynulý čas výstupu zvuku mezi začátkem syntézy a prvkem záložky. To se měří v jednotkách se stovkami (HNS) s 10 000, který odpovídá 1 milisekundu.
  • Text je odkazový text elementu Bookmark, což je řetězec, který jste nastavili v mark atributu.

Další informace najdete v tématu BookmarkReached .

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}.");
};

Pro příklad SSML výše se událost spustí BookmarkReached dvakrát a výstup konzoly bude

Bookmark reached. Audio offset: 825ms, bookmark text: flower_1.
Bookmark reached. Audio offset: 1462.5ms, bookmark text: flower_2.

Další kroky