Dostosowywanie głosu i dźwięku przy użyciu języka SSML

Możesz użyć języka znaczników syntezy mowy (SSML), aby określić tekst na głos mowy, język, nazwę, styl i rolę dla danych wyjściowych mowy. Możesz również użyć wielu głosów w jednym dokumencie SSML i dostosować nacisk, szybkość mówienia, wysokość i głośność. Ponadto SSML oferuje możliwość wstawiania wstępnie rozpoznanego dźwięku, takiego jak efekt dźwiękowy lub nuta muzyczna.

W artykule pokazano, jak używać elementów SSML do określania głosu i dźwięku. Aby uzyskać więcej informacji na temat składni SSML, zobacz Struktura i zdarzenia dokumentu SSML.

Korzystanie z elementów głosowych

Co najmniej jeden voice element musi być określony w każdym elemencie SSML "speak". Ten element określa głos używany do zamiany tekstu na mowę.

W jednym dokumencie SSML można uwzględnić wiele voice elementów. Każdy voice element może określać inny głos. Możesz również wielokrotnie używać tego samego głosu z różnymi ustawieniami, takimi jak zmiana czasu trwania ciszy między zdaniami.

W poniższej tabeli opisano użycie voice atrybutów elementu:

Atrybut Opis Wymagane lub opcjonalne
name Głos używany do zamiany tekstu na mowę. Aby uzyskać pełną listę obsługiwanych standardowych głosów, zobacz Obsługa języka. Wymagane
effect Procesor efektu dźwięku używany do optymalizowania jakości syntetyzowanych danych wyjściowych mowy w określonych scenariuszach na urządzeniach.

W przypadku niektórych scenariuszy w środowiskach produkcyjnych wrażenia słuchowe mogą być pogorszone ze względu na zniekształcenia dźwięku przy odtwarzaniu na niektórych urządzeniach. Na przykład syntetyzowana mowa z głośnika samochodu może brzmieć nudne i tłumione ze względu na czynniki środowiskowe, takie jak odpowiedź osoby mówiącej, odgłos pokoju i hałas w tle. Pasażer może być musiał podkręcić głośność, aby usłyszeć wyraźniej. Aby uniknąć operacji ręcznych w takim scenariuszu, procesor efektu dźwięku może uczynić dźwięk jaśniejszym, kompensując zniekształcenie odtwarzania.

Obsługiwane są następujące wartości:
  • eq_car – Optymalizowanie doświadczenia słuchowego podczas zapewniania wysokiej wierności mowy w samochodach, autobusach i innych zamkniętych samochodach.
  • eq_telecomhp8k – Optymalizowanie środowiska słuchowego pod kątem mowy wąskobandowej w scenariuszach telekomunikacyjnych lub telefonicznych. Należy użyć częstotliwości próbkowania wynoszącej 8 kHz. Jeśli częstotliwość próbkowania nie wynosi 8 kHz, jakość słuchowej mowy wyjściowej nie jest zoptymalizowana.

Jeśli brakuje wartości lub jest ona nieprawidłowa, ten atrybut jest ignorowany i nie zastosowano żadnego efektu.
Opcjonalne

Przykłady głosu

Aby uzyskać informacje o obsługiwanych wartościach atrybutów voice elementu, zobacz Używanie elementów głosowych.

Przykład pojedynczego głosu

W tym przykładzie użyto głosu en-US-Ava:DragonHDLatestNeural.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-Ava:DragonHDLatestNeural">
        This is the text that is spoken.
    </voice>
</speak>

Przykład wielu głosów

W elemencie speak można określić wiele głosów dla zamiany tekstu na mowę. Te głosy mogą być w różnych językach. Dla każdego głosu tekst musi być opakowany w voice element.

Ten przykład przełącza się pomiędzy głosem en-US-Ava:DragonHDLatestNeural i głosem en-US-Andrew:DragonHDLatestNeural. Neuronowe wielojęzyczne głosy mogą mówić w różnych językach na podstawie tekstu wejściowego.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-Ava:DragonHDLatestNeural">
        Good morning!
    </voice>
    <voice name="en-US-Andrew:DragonHDLatestNeural">
        Good morning to you too Ava!
    </voice>
</speak>

Przykład niestandardowego głosu

Aby użyć niestandardowego głosu, określ nazwę modelu jako nazwę głosu w języku SSML.

W tym przykładzie użyto niestandardowego głosu o nazwie my-custom-voice.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="my-custom-voice">
        This is the text that is spoken.
    </voice>
</speak>

Przykład efektu dźwiękowego

Używasz atrybutu effect do optymalizowania środowiska słuchowego w scenariuszach, takich jak samochody i telekomunikacja. Poniższy przykład SSML używa atrybutu effect z konfiguracją w scenariuszach samochodowych.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-AvaMultilingualNeural" effect="eq_car">
        This is the text that is spoken.
    </voice>
</speak>

Przykład audio z wieloma rozmówcami

Głosy wielomówców umożliwiają naturalne, dynamiczne rozmowy z wieloma odrębnymi mówcami. Ta innowacja zwiększa realizm syntetyzowanych dialogów, zachowując kontekstowy przepływ, spójność emocjonalną i wzorce naturalnej mowy.

Użyj tej funkcji, aby wygenerować wciągającą, podkastową mowę lub konwersacyjne wymiany z bezproblemowymi przejściami między głośnikami. W przeciwieństwie do modeli rozmówców pojedynczych, które syntetyzują każdą kwestię w izolacji, głosy wielorozmówcze utrzymują spójność pomiędzy dialogami, zapewniając bardziej autentyczne i immersyjne doświadczenie słuchowe.

Dla en-US-MultiTalker-Ava-Andrew:DragonHDLatestNeural, wewnątrz elementu <mstts:dialog>, można określić każdą zmianę dla wyjściowej mowy tekstu, używając poniższego formatu naprzemiennie między prelegentem ava a andrew dla każdej zmiany.

<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-MultiTalker-Ava-Andrew:DragonHDLatestNeural'>
        <mstts:dialog>
            <mstts:turn speaker="ava">Hello, Andrew! How's your day going?</mstts:turn>
            <mstts:turn speaker="andrew">Hey Ava! It's been great, just exploring some AI advancements in communication.</mstts:turn>
            <mstts:turn speaker="ava">That sounds interesting! What kind of projects are you working on?</mstts:turn>
            <mstts:turn speaker="andrew">Well, we've been experimenting with text-to-speech applications, including turning emails into podcasts.</mstts:turn>
            <mstts:turn speaker="ava">Wow, that could really improve content accessibility! Are you looking for collaborators?</mstts:turn>
            <mstts:turn speaker="andrew">Absolutely! We're open to testing new ideas and seeing how AI can enhance communication.</mstts:turn>
        </mstts:dialog>
    </voice>
</speak>

Aby uzyskać informacje o obsługiwanych głosach, zobacz dokumentację obsługi języka .

Używaj stylów mówienia, paralingwistyki i ról

Style i paralingwistyka w głosach HD

W głosach HD (DragonHD, DragonHD Omni i DragonHD Flash) style i elementy paralinguistyczne mogą być używane na następujące trzy sposoby:

Typ danych wejściowych Przykład
SSML (tag express-as) <Mów>
<voice name="en-us-Ava:DragonHDLatestNeural">
<mstts:express-as style="szept">Nie mów nikomu...</mstts:express-as>
<mstts:express-as style="zachwycający">To niesamowite!</mstts:express-as>
</voice>
</speak>
SSML (znaczniki stylu) <Mów>
<voice name="en-us-Ava:DragonHDLatestNeural">
[szept] Nie mów nikomu...
[ekstatyczny] To niesamowite!
</voice>
</speak>
Zwykły tekst (po wyborze głosu) [szept] Nie mów nikomu...
[ekstatyczny] To niesamowite!

Obsługiwane style dla programu Dragon HD

Następujące style i tagi paralinguistyczne są obsługiwane w głosach HD

Typ Tag
Style amazed, amused, angry, annoyed, anxious, appreciative, calm, cautious, concerned, confident, confused, curious, defeated, defensive, defiant, determined, disappointed, disgusted, doubtful, ecstatic, encouraging, excited, fast, fearful, frustrated, happy, hesitant, hurt, impatient, impressed, intrigued, joking, laughing, optimistic, painful, panicked, panting, pleading, proud, quiet, reassuring, reflective, relieved, remorseful, resigned, sad, sarcastic, secretive, serious, shocked, shouting, shy, skeptical, slow, struggling, surprised, suspicious, sympathetic, terrified, upset, urgent, whispering
Paralinguistyka laughter, coughing, throat_clearing, breathing, sighing, yawning

Uwaga

Style są dostępne we wszystkich angielskich treściach dla wszystkich głosów. Wyniki stylu są silnie istotne dla zawartości wejściowej: model dostosowuje aplikację stylu na podstawie semantycznego znaczenia tekstu. Paralingwistyka jest dostępna we wszystkich głosach i językach.

Obsługiwane style dla Dragon HD Omni

Następujące style i tagi paralinguistyczne są obsługiwane w głosach HDOmni

Typ Tag
Style amazed, amused, angry, annoyedanxiousappreciativecalmcautiousconcernedconfidentconfusedcuriousdefeateddefensivedefiantdetermineddisappointeddisgusteddoubtfulecstaticencouragingexcitedfastfearfulfrustratedhappyhesitanthurtimpatientimpressedintriguedjokinglaughingoptimisticpainfulpanickedpantingpleadingproudquietreassuringreflectiverelievedremorsefulresignedsadsarcasticsecretiveseriousshockedshoutingshyskepticalslowstrugglingsurprisedsuspicioussympatheticterrifiedupseturgent
Paralinguistyka laughter, coughing, throat_clearing, breathing, sighing, yawning

Uwaga

Style są dostępne we wszystkich angielskich treściach dla wszystkich głosów. Wyniki stylu są silnie istotne dla zawartości wejściowej: model dostosowuje aplikację stylu na podstawie semantycznego znaczenia tekstu. Paralingwistyka jest dostępna we wszystkich głosach i językach.

Style i role w głosach neuronowych

Domyślnie głosy neuronowe mają neutralny styl mówienia. Możesz dostosować styl wypowiedzi, intensywność stylu i rolę na poziomie zdania.

Uwaga

Usługa Mowa obsługuje style, stopień stylu i role dla podzbioru neuronowych głosów zgodnie z opisem w dokumentacji stylów i ról głosowych . Aby określić obsługiwane style i role dla każdego głosu, możesz użyć także interfejsu API listy głosów oraz aplikacji internetowej do tworzenia zawartości audio.

W poniższej tabeli opisano użycie mstts:express-as atrybutów elementu:

Atrybut Opis Wymagane lub opcjonalne
style Styl mówienia specyficzny dla głosu. Możesz wyrazić emocje, takie jak wesołość, empatia i spokój. Możesz również zoptymalizować głos pod kątem różnych scenariuszy, takich jak obsługa klienta, wiadomości i asystent głosowy. Jeśli brakuje wartości stylu lub jest ona nieprawidłowa, cały mstts:express-as element jest ignorowany, a usługa używa domyślnej neutralnej mowy. Niestandardowe style głosu można znaleźć w przykładzie niestandardowego stylu głosu. Wymagane
styledegree Intensywność stylu mówienia. Możesz określić silniejszy lub łagodniejszy styl, aby mowa była bardziej wyrazista lub stonowana. Zakres akceptowanych wartości to: 0.01 do 2 włącznie. Wartość domyślna to 1, co oznacza wstępnie zdefiniowaną intensywność stylu. Minimalna jednostka to 0.01, co powoduje nieznaczną tendencję do stylu docelowego. Wartość 2 powoduje podwojenie domyślnej intensywności stylu. Jeśli brakuje stopnia stylizacji lub nie jest on obsługiwany dla danej postaci głosowej, ten atrybut jest ignorowany. Opcjonalne
role Ćwiczenie z odgrywania ról poprzez mówienie. Głos może naśladować inny wiek i płeć, ale nazwa głosu nie jest zmieniana. Na przykład męski głos może podnieść ton i zmienić intonację, aby naśladować głos kobiecy, ale nazwa głosu nie jest zmieniana. Jeśli brakuje roli lub nie jest obsługiwana dla twojego głosu, ten atrybut jest ignorowany. Opcjonalne

W poniższej tabeli opisano każdy obsługiwany style atrybut:

Styl Opis
style="advertisement_upbeat" Wyraża podekscytowany i wysoki ton energii do promowania produktu lub usługi.
style="affectionate" Wyraża ciepły i czuły ton, z wyższą wysokością i energicznością wokalną. Osoba mówiąca jest w stanie przyciągania uwagi słuchacza. Osobowość prelegenta jest często z natury ujmująca.
style="angry" Wyraża zły i zirytowany ton.
style="assistant" Wyraża ciepły i zrelaksowany ton dla asystentów cyfrowych.
style="calm" Wyraża chłodną, zebraną i skomponowaną postawę podczas mówienia. Ton, intonacja i prozodia są bardziej jednolite w porównaniu z innymi rodzajami mowy.
style="chat" Wyraża swobodny i zrelaksowany ton.
style="cheerful" Wyraża pozytywny i szczęśliwy ton.
style="customerservice" Wyraża przyjazny i pomocny ton w obsłudze klienta.
style="depressed" Wyraża melancholijny i przygnębiający ton o niższej tonacji i energii.
style="disgruntled" Wyraża ton pogardliwy i narzekający. Mowa tej emocji wyświetla niezadowolenie i pogardę.
style="documentary-narration" Opowiada filmy dokumentalne w zrelaksowanym, interesującym i informacyjnym stylu odpowiednim dla filmów dokumentalnych, komentarzy ekspertów i podobnych treści.
style="embarrassed" Wyraża niepewny i niezdecydowany ton, gdy mówca czuje się nieswojo.
style="empathetic" Wyraża poczucie troskliwości i zrozumienia.
style="envious" Wyraża ton podziwu, gdy pragniesz czegoś, co ma ktoś inny.
style="excited" Wyraża optymistyczny i pełen nadziei ton. Brzmi to jak coś wspaniałego dzieje się i głośnik jest z tego zadowolony.
style="fearful" Wyraża przestraszony i nerwowy ton, z wyższą wysokością, większą energią głosową i szybszym tempem. Prelegent jest w stanie napięcia i niepokoju.
style="friendly" Wyraża przyjemny, zapraszający i ciepły ton. Brzmi szczero i troskliwa.
style="gentle" Wyraża łagodny, uprzejmy i przyjemny ton, z niższym tonem i energią głosu.
style="hopeful" Wyraża ciepły i tęskniący ton. Wygląda na to, że mówca spodziewa się czegoś dobrego.
style="lyrical" Wyraża emocje w sposób melodyjny i sentymentalny.
style="narration-professional" Wyraża profesjonalny, obiektywny ton do czytania zawartości.
style="narration-relaxed" Wyraża kojący i melodyjny ton do czytania tekstów.
style="newscast" Wyraża formalny i profesjonalny ton w przekazywaniu wiadomości.
style="newscast-casual" Wyraża wszechstronny i swobodny ton przekazu wiadomości.
style="newscast-formal" Wyraża formalny, pewny siebie i autorytatywny ton dostarczania wiadomości.
style="poetry-reading" Wyraża emocjonalny i rytmiczny ton podczas czytania wiersza.
style="sad" Wyraża smutny ton.
style="serious" Wyraża ścisły i nakazujący ton. Prelegent często brzmi sztywniej i znacznie mniej zrelaksowany z mocną kadencją.
style="shouting" Wyraża ton, który brzmi tak, jakby głos był odległy lub w innej lokalizacji i starał się być wyraźnie wysłuchany.
style="sports_commentary" Wyraża zrelaksowany i zainteresowany ton transmisji wydarzeń sportowych.
style="sports_commentary_excited" Wyraża intensywny i energiczny ton do nadawania ekscytujących momentów podczas wydarzenia sportowego.
style="whispering" Wyraża miękki ton, który próbuje wydobyć cichy i delikatny dźwięk.
style="terrified" Wyraża przestraszony ton, z szybszym tempem i bardziej chwiejnym głosem. Brzmi to jak głośnik jest w niezłomnym i szalonym statusie.
style="unfriendly" Wyraża zimny i obojętny ton.

Poniższa tabela zawiera opisy każdego obsługiwanego role atrybutu:

Roli Opis
role="Girl" Głos imituje dziewczynę.
role="Boy" Głos imituje chłopca.
role="YoungAdultFemale" Głos imituje młodą dorosłą kobietę.
role="YoungAdultMale" Głos imituje młodego dorosłego mężczyznę.
role="OlderAdultFemale" Głos imituje starszą dorosłą kobietę.
role="OlderAdultMale" Głos imituje starszego dorosłego mężczyznę.
role="SeniorFemale" Głos imituje starsą kobietę.
role="SeniorMale" Głos imituje starszego mężczyznę.

Examples of MSTTS Express-as

Aby uzyskać informacje o obsługiwanych wartościach atrybutów mstts:express-as elementu, zobacz Używanie stylów i ról mówienia.

Przykład stylu i stopnia

Używasz elementu do wyrażania mstts:express-as emocji, takich jak wesołość, empatia i spokój. Możesz również zoptymalizować głos pod kątem różnych scenariuszy, takich jak obsługa klienta, wiadomości i asystent głosowy.

Poniższy przykład SSML używa elementu <mstts:express-as> z sad stopniem 2 stylu.

<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 style="sad" styledegree="2">
            快走吧,路上一定要注意安全,早去早回。
        </mstts:express-as>
    </voice>
</speak>

Przykład roli

Oprócz dostosowywania stylów i stopnia stylu mówienia można również dostosować role parametr, aby głos naśladował inny wiek i płeć. Na przykład męski głos może podnieść ton i zmienić intonację, aby naśladować głos kobiecy, ale nazwa głosu nie jest zmieniana.

Ten fragment kodu SSML ilustruje sposób, w jaki role atrybut jest używany do zmiany roli dla elementu zh-CN-XiaomoNeural.

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

Przykład niestandardowego stylu głosu

Możesz wytrenować niestandardowy głos, aby przemawiać w wstępnie ustawionych stylach, takich jak cheerful, sad i whispering. Możesz również dostosować profesjonalny głos, aby przemawiał w niestandardowym stylu określonym przez dane treningowe. Aby użyć niestandardowego stylu głosu w języku SSML, określ nazwę stylu, która została wcześniej wprowadzona w usłudze Speech Studio.

W tym przykładzie użyto niestandardowego głosu o nazwie my-custom-voice. Niestandardowy głos mówi z cheerful wstępnie ustawionym stylem i stopniem stylu 2, a następnie z niestandardowym stylem o nazwie my-custom-style i stopniem stylu 0.01.

<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="my-custom-voice">
        <mstts:express-as style="cheerful" styledegree="2">
            That'd be just amazing!
        </mstts:express-as>
        <mstts:express-as style="my-custom-style" styledegree="0.01">
            What's next?
        </mstts:express-as>
    </voice>
</speak>

Identyfikator profilu osoby mówiącej

Za pomocą elementu mstts:ttsembedding określasz właściwość speakerProfileId dla głosu osobistego. Osobisty głos to spersonalizowany głos, który jest trenowany na własnym głosie lub głosie klienta. Aby uzyskać więcej informacji, zobacz tworzenie osobistego głosu.

Poniższy przykład SSML używa <mstts:ttsembedding> elementu z nazwą głosu i identyfikatorem profilu osoby mówiącej.

<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 xml:lang='en-US' xml:gender='Male' name='PhoenixV2Neural'> 
    <mstts:ttsembedding speakerProfileId='your speaker profile ID here'> 
    I'm happy to hear that you find me amazing and that I have made your trip planning easier and more fun. 我很高兴听到你觉得我很了不起,我让你的旅行计划更轻松、更有趣。Je suis heureux d'apprendre que vous me trouvez incroyable et que j'ai rendu la planification de votre voyage plus facile et plus amusante.  
    </mstts:ttsembedding> 
    </voice> 
</speak> 

Dostosuj języki mówione

Domyślnie wielojęzyczne głosy mogą automatycznie określać język tekstu wejściowego i mówić w języku domyślnych ustawień regionalnych tekstu wejściowego bez użycia języka SSML. Opcjonalnie możesz użyć <lang xml:lang> elementu , aby dostosować język mówienia dla tych głosów w celu ustawienia preferowanego akcentu, takiego jak en-GB dla brytyjskiego języka angielskiego. Język mówiony można dostosować zarówno na poziomie zdania, jak i na poziomie wyrazów. Aby uzyskać informacje o obsługiwanych językach dla wielojęzycznego głosu, zobacz Wielojęzyczne głosy z elementem lang w tabeli przedstawiającej <lang> definicje składni i atrybutów.

W poniższej tabeli opisano użycie <lang xml:lang> atrybutów elementu:

Atrybut Opis Wymagane lub opcjonalne
xml:lang Język, w którym ma mówić neuronowy głos. Wymagane jest dostosowanie języka mówienia do głosu neuronowego. Jeśli używasz lang xml:lang, należy podać ustawienia regionalne.

Uwaga

Jednojęzyczne głosy nie obsługują elementu <lang xml:lang> z założenia projektu.

Wielojęzyczne głosy z elementem lang

Skorzystaj z sekcji wielojęzycznych głosów , aby określić języki mówiące obsługiwane przez usługę Rozpoznawanie mowy dla każdego neuronowego głosu, jak pokazano w poniższej przykładowej tabeli. Jeśli głos nie mówi w języku tekstu wejściowego, usługa rozpoznawania mowy nie generuje syntetyzowanego dźwięku.

Voice Automatycznie wykryty numer języka Automatycznie wykryty język lokalny Numer wszystkich ustawień regionalnych Wszystkie języki (ustawienia regionalne) obsługiwane przez SSML
en-US-AndrewMultilingualNeural 1 (mężczyzna)
en-US-AvaMultilingualNeural 1 (kobieta)
en-US-BrianMultilingualNeural 1 (mężczyzna)
en-US-EmmaMultilingualNeural 1 (kobieta)
77 Afrikaans (af-ZA), Albański (sq-AL), Amharic (am-ET), Arabskiar-EG (), Ormiańskihy-AM (), Azerbejdżan (az-AZ), Bahasa Indonezyjski (id-ID), Bangla (bn-BD), Baskieu-ES (), Bengalski (), Bośniackibn-IN (), Bułgarskibs-BAbg-BG (), Birmańskimy-MM (), Kataloński (ca-ES), Chiński Kantońskizh-HK (), Chiński Mandaryńskizh-CN (), Chiński Tajwańczyk (zh-TW), Chorwackihr-HR (), Czeskics-CZ (), Duńskida-DK (), Holenderskinl-NLen-US (), Angielski (), Estońskiet-EE (), Filipinofil-PH (), Fiński (fi-FI), Francuski (fr-FR), Galicyjski (), Gruziński (gl-ES), Niemiecki (ka-GE), Grecki (de-DE), Hebrajskiel-GR (), Hindihe-IL (), Węgierski (hi-IN), Islandia (), Irlandzkihu-HU (), Włoski (is-IS), Japońskiga-IE (), Javaneseit-IT (), Kannada (ja-JP), Kazach (jv-ID), Khmerkn-IN (), Koreański (kk-KZ), Lao (km-KH), Łotewskiko-KRlo-LA (), Litewskilv-LV (), Macedoński (lt-LT), Malayalammk-MKms-MY (), Maltański (), Mongolskiml-INmt-MT (), Nepalskimn-MN (), Bokmål (ne-NP), Pashto (nb-NOps-AF), Perski (), Polski (fa-IRpl-PL), Portugalski (pt-BR), Rumuński (ro-RO), Rosyjski (ru-RU), Serbskisr-RS (), Sinhala (si-LK), Słowacki (sk-SK), Slovene (sl-SI), Somali (), Hiszpańskiso-SO (), Sundanese (es-ES), Swahili (su-ID), Szwedzkisw-KE (), Tamilsv-SE (), Telugu (ta-IN), Thai (te-IN), Tureckith-TH (), Ukraińskitr-TR (), Urdu (uk-UA), Uzbekur-PK (), Wietnamskiuz-UZvi-VN (), Walijskicy-GB (), Zuluzu-ZA () 91 Afrikaans (Republika Południowej Afryki) (af-ZA), albański (Albania) (sq-AL), amharski (Etiopia) (am-ET), arabski (Egipt) (ar-EG), arabski (Arabia Saudyjska) (ar-SA), ormiański (Armenia) (hy-AM), azerski (Azerbejdżan) (az-AZ), baskijski (Baskijski) (eu-ES), bengalski (Indie) (bn-IN), bośniacki (Bośnia i Hercegowina) (bs-BA), bułgarski (Bułgaria) (bg-BG), birmański (Birma) (my-MM), kataloński (Hiszpania) (ca-ES), chiński (kantoński, tradycyjny) (zh-HK), chiński (mandaryński, uproszczony) (zh-CN), chiński (tajwański mandaryński) (zh-TW), chorwacki (Chorwacja) (hr-HR), czeski (Czechy) (cs-CZ), duński (Dania) (da-DK), holenderski (Belgia) (nl-BE), holenderski (Holandia) (nl-NL), angielski (Australia) (en-AU), angielski (Kanada) (en-CA), angielski (Hongkong) (en-HK), angielski (Indie) (en-IN), angielski (Irlandia) (en-IE), angielski (Wielka Brytania) (en-GB), angielski (Stany Zjednoczone) (en-US), estoński (Estonia) (et-EE), filipiński (Filipiny) (fil-PH), fiński (Finlandia) (fi-FI), francuski (Belgia) (fr-BE), francuski (Kanada) (fr-CA), francuski (Francja) (fr-FR), francuski (Szwajcaria) (fr-CH), galisyjski (Galicja) (gl-ES), gruziński (Gruzja) (ka-GE), niemiecki (Austria) (de-AT), niemiecki (Niemcy) (de-DE), niemiecki (Szwajcaria) (de-CH), grecki (Grecja) (el-GR), hebrajski (Izrael) (he-IL), hindi (Indie) (hi-IN), węgierski (Węgry) (hu-HU), islandzki (Islandia) (is-IS), indonezyjski (Indonezja) (id-ID), irlandzki (Irlandia) (ga-IE), włoski (Włochy) (it-IT), japoński (Japonia) (ja-JP), jawajski (Indonezja) (jv-ID), kannada (Indie) (kn-IN), kazachski (Kazachstan) (kk-KZ), khmerski (Kambodża) (km-KH), koreański (Korea) (ko-KR), lao (Laos) (lo-LA), łotewski (Łotwa) (lv-LV), litewski (Litwa) (lt-LT), macedoński (Macedonia Północna) (mk-MK), malajski (Malezja) (ms-MY), malajalam (Indie) (ml-IN), maltański (Malta) (mt-MT), mongolski (Mongolia) (mn-MN), nepalski (Nepal) (ne-NP), norweski (Bokmål, Norwegia) (nb-NO), paszto (Afganistan) (ps-AF), perski (Iran) (fa-IR), polski (Polska) (pl-PL), portugalski (Brazylia) (pt-BR), portugalski (Portugalia) (pt-PT), rumuński (Rumunia) (ro-RO), rosyjski (Rosja) (ru-RU), serbski (cyrylica, Serbia) (sr-RS), singaleski (Sri Lanka) (si-LK), słowacki (Słowacja) (sk-SK), słoweński (Słowenia) (sl-SI), somalijski (Somalia) (so-SO), hiszpański (Meksyk) (es-MX), hiszpański (Hiszpania) (es-ES), sundajski (Indonezja) (su-ID), suahili (Kenia) (sw-KE), szwedzki (Szwecja) (sv-SE), tamilski (Indie) (ta-IN), telugu (Indie) (te-IN), tajski (Tajlandia) (th-TH), turecki (Turcja) (tr-TR), ukraiński (Ukraina) (uk-UA), urdu (Pakistan) (ur-PK), uzbecki (Uzbekistan) (uz-UZ), wietnamski (Wietnam) (vi-VN), walijski (Wielka Brytania) (cy-GB), zuluski (Republika Południowej Afryki) (zu-ZA)

1 Są to neuronowe wielojęzyczne głosy w narzędziach Azure Speech in Foundry Tools. Wszystkie wielojęzyczne głosy mogą mówić w języku odpowiadającym domyślnym ustawieniom regionalnym tekstu wejściowego bez użycia SSML. Można jednak użyć <lang xml:lang> elementu , aby dostosować akcent mówiący dla każdego języka w celu ustawienia preferowanego akcentu, takiego jak brytyjski akcent (en-GB) dla języka angielskiego. Prefiks w każdej nazwie głosu wskazuje jego główne ustawienia regionalne; na przykład główne ustawienia regionalne dla en-US-AndrewMultilingualNeural to en-US.

Przykłady języka

Aby uzyskać informacje o obsługiwanych wartościach atrybutów lang elementu, zobacz Dostosowywanie języka mówionego.

Musisz określić en-US jako język domyślny w elemecie speak , niezależnie od tego, czy język jest dostosowywany w innym miejscu. W tym przykładzie podstawowym językiem programu en-US-Ava:DragonHDLatestNeural jest en-US.

Ten fragment kodu SSML pokazuje, jak używać <lang xml:lang> do mówienia de-DE za pomocą głosu neuronowego en-US-Ava:DragonHDLatestNeural.

<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-Ava:DragonHDLatestNeural">
        <lang xml:lang="de-DE">
            Wir freuen uns auf die Zusammenarbeit mit Ihnen!
        </lang>
    </voice>
</speak>

W elemencie speak można określić wiele języków, w tym en-US dla wyjścia przetwarzania tekstu na mowę. Dla każdego dostosowanego języka tekst musi być zgodny z językiem i opakowany w element voice. W tym fragmencie kodu SSML pokazano, jak użyć <lang xml:lang> do zmiany języków mówienia na es-MX, en-US i fr-FR.

<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-Ava:DragonHDLatestNeural">
        <lang xml:lang="es-MX">
            ¡Esperamos trabajar con usted!
        </lang>
        <lang xml:lang="en-US">
           We look forward to working with you!
        </lang>
        <lang xml:lang="fr-FR">
            Nous avons hâte de travailler avec vous!
        </lang>
    </voice>
</speak>

Dostosowywanie prosodii

Możesz użyć elementu prosody, aby określić zmiany wysokości, konturu, zakresu, tempa i głośności dla tekstu na dane wyjściowe mowy. Element prosody może zawierać tekst i następujące elementy: audio, , p, phonemeprosody, say-as, sub, i s.

Ponieważ wartości atrybutów prozodycznych mogą się różnić w szerokim zakresie, rozpoznawanie mowy przypisuje im sugerowane wartości, które wskazują, jakie powinny być rzeczywiste wartości prozodyczne wybranego głosu. Ograniczenia zamiany tekstu na mowę lub zamienianie wartości, które nie są obsługiwane. Przykłady nieobsługiwanych wartości to częstotliwość 1 MHz lub głośność 120.

W poniższej tabeli opisano użycie prosody atrybutów elementu:

Atrybut Opis Wymagane lub opcjonalne
contour Kontur reprezentuje zmiany w wysokości dźwięku. Te zmiany są reprezentowane jako tablica obiektów docelowych w określonych pozycjach czasu w danych wyjściowych mowy. Zestawy par parametrów definiują każdy element docelowy. Na przykład:

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

Pierwsza wartość w każdym zestawie parametrów określa lokalizację zmiany wysokości dźwięku jako procent długości trwania tekstu. Druga wartość określa stopień, o jaki należy podnieść lub obniżyć ton, używając wartości względnej lub wartości wyliczeniowej dla tonu (zobacz pitch). Kontur intonacji nie działa na pojedynczych wyrazach i krótkich frazach. Zaleca się dostosowanie konturu tonacji dla całych zdań lub długich fraz.
Opcjonalne
pitch Wskazuje podstawową wysokość dźwięku tekstu. Zmiany wysokości można stosować na poziomie zdania. Zmiany wysokości powinny mieścić się w zakresie od 0,5 do 1,5 krotności oryginalnego dźwięku. Możesz wyrazić wysokość dźwięku w następujący sposób:
  • Wartość bezwzględna: Wyrażona jako liczba, po której następuje "Hz" (Hertz). Na przykład <prosody pitch="600Hz">some text</prosody>.
  • Wartość względna:
    • Jako liczba względna: Wyrażona jako liczba poprzedzona znakiem "+" lub "-" i następnie "Hz" lub "st", która określa wartość zmiany wysokości dźwięku. Na przykład: <prosody pitch="+80Hz">some text</prosody> lub <prosody pitch="-2st">some text</prosody>. Wartość "st" wskazuje, że jednostka zmiany to półton, czyli połowa tonu (pół kroku) w standardowej skali diatonicznej.
    • Jako wartość procentowa: wyrażona jako liczba poprzedzona symbolem "+" (opcjonalnie) lub "-" i "%" wskazującą względną zmianę. Na przykład: <prosody pitch="50%">some text</prosody> lub <prosody pitch="-50%">some text</prosody>.
  • Stała wartość:
    • x-low (równoważne 0,55,-45%)
    • low (równoważne 0,8, -20%)
    • medium (równoważne 1, wartość domyślna)
    • high (równoważne 1,2, +20%)
    • x-high (równoważne 1,45, +45%)
Opcjonalne
range Wartość reprezentująca zakres wysokości dźwięku dla tekstu. Można wyrazić range za pomocą tych samych wartości bezwzględnych, wartości względnych lub wartości wyliczenia używanych do opisania pitch. Opcjonalne
rate Wskazuje szybkość wypowiadania tekstu. Częstotliwość mówienia można stosować na poziomie słowa lub zdania. Zmiany szybkości powinny mieścić się w zakresie od 0.5 do 2 razy w stosunku do oryginalnego dźwięku. Możesz wyrazić rate jako:
  • Wartość względna:
    • Jako liczba względna: wyrażona jako liczba, która działa jako mnożnik wartości domyślnej. Na przykład wartość 1 nie powoduje zmiany w pierwotnej stawce. Wartość 0.5 powoduje zmniejszenie o połowę oryginalnej stawki. Ustawienie wartości 2 skutkuje podwójną pierwotną wartością stawki.
    • Jako wartość procentowa: wyrażona jako liczba poprzedzona symbolem "+" (opcjonalnie) lub "-" i "%" wskazującą względną zmianę. Na przykład: <prosody rate="50%">some text</prosody> lub <prosody rate="-50%">some text</prosody>.
  • Stała wartość:
    • x-slow (równoważne 0,5, -50%)
    • slow (równoważne 0,64, -46%)
    • medium (równoważne 1, wartość domyślna)
    • fast (równoważne 1,55, +55%)
    • x-fast (równoważne 2, +100%)
Opcjonalne
volume Wskazuje poziom głośności głosu mówiącego. Zmiany woluminu można stosować na poziomie zdania. Objętość można wyrazić jako:
  • Wartość bezwzględna: wyrażona jako liczba w zakresie 0.0 od do 100.0, od najcichszych do najgłośniejszych, takich jak 75. Wartość domyślna to 100.0.
  • Wartość względna:
    • Jako liczba względna: wyrażona jako liczba poprzedzona wyrazem "+" lub "-", która określa ilość, aby zmienić wolumin. Przykłady to +10 lub -5.5.
    • Jako wartość procentowa: wyrażona jako liczba poprzedzona symbolem "+" (opcjonalnie) lub "-" i "%" wskazującą względną zmianę. Na przykład: <prosody volume="50%">some text</prosody> lub <prosody volume="+3%">some text</prosody>.
  • Stała wartość:
    • silent (równoważne 0)
    • x-soft (równoważne 0,2)
    • soft (równoważne 0,4)
    • medium (równoważne 0,6)
    • loud (równoważne 0,8)
    • x-loud (równoważne 1, wartość domyślna)
Opcjonalne

Przykłady prozodii

Aby uzyskać informacje o obsługiwanych wartościach atrybutów prosody elementu, zobacz Dostosowywanie prosody.

Przykład zmiany tempa mówienia

Ten fragment kodu SSML ilustruje sposób, w jaki rate atrybut jest używany do zmiany współczynnika mowy na 30% większy niż domyślna stawka.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-Ava:DragonHDLatestNeural">
        <prosody rate="+30.00%">
            Enjoy using text to speech.
        </prosody>
    </voice>
</speak>

Przykład zmiany woluminu

Ten fragment kodu SSML ilustruje użycie atrybutu volume w celu zmiany głośności o 20% większy niż głośność domyślna.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-Ava:DragonHDLatestNeural">
        <prosody volume="+20.00%">
            Enjoy using text to speech.
        </prosody>
    </voice>
</speak>

Przykład zmiany tonacji

Ten fragment kodu SSML ilustruje sposób użycia atrybutu pitch w taki sposób, aby głos mówił w wysokim tonie.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-AvaMultilingualNeural">
        Welcome to <prosody pitch="high">Enjoy using text to speech.</prosody>
    </voice>
</speak>

Przykład zmiany konturu wysokości dźwięku

Ten fragment kodu SSML ilustruje sposób, w jaki contour atrybut jest używany do zmiany konturu.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-AvaMultilingualNeural">
        <prosody contour="(60%,-60%) (100%,+80%)" >
            Were you the only person in the room?
        </prosody>
    </voice>
</speak>

Dopasuj nacisk

Możesz użyć opcjonalnego elementu emphasis, aby dodać lub usunąć akcent na poziomie wyrazu w tekście. Ten element może zawierać tylko tekst i następujące elementy: audio, , break, emphasislangphonemeprosodysay-assub, i .voice

Uwaga

Dostrajanie emfazy na poziomie wyrazów jest dostępne tylko dla tych neuronowych głosów: en-US-GuyNeural, en-US-DavisNeural, i en-US-JaneNeural.

W przypadku słów, które mają niską intonację i krótki czas trwania, wysokość dźwięku może nie być wystarczająco podniesiona, aby była zauważona.

W poniższej emphasis tabeli opisano atrybuty elementu:

Atrybut Opis Wymagane lub opcjonalne
level Wskazuje siłę nacisku, który ma zostać zastosowany:
  • reduced
  • none
  • moderate
  • strong

level Jeśli atrybut nie zostanie określony, domyślnym poziomem jest moderate. Aby uzyskać szczegółowe informacje na temat każdego atrybutu, zobacz element wyróżnienia.
Opcjonalne

Przykłady wyróżnienia

Aby uzyskać informacje o obsługiwanych wartościach atrybutów emphasis elementu, zobacz Dostosowywanie wyróżnienia.

Ten fragment kodu SSML pokazuje, jak można użyć elementu emphasis, aby dodać umiarkowany nacisk na słowo "spotkania".

<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-AndrewMultilingualNeural">
    I can help you join your <emphasis level="moderate">meetings</emphasis> fast.
    </voice>
</speak>

Dodawanie nagranego dźwięku

Element audio jest opcjonalny. Można go użyć do wstawienia wstępnie utworzonego dźwięku do dokumentu SSML. Treść elementu audio może zawierać zwykły tekst lub znaczniki SSML czytane, jeśli plik dźwiękowy jest niedostępny lub nieodtwarzalny. Element audio może również zawierać tekst i następujące elementy: audio, , breakpsphonemeprosodysay-asi .sub

Wszelkie dźwięki zawarte w dokumencie SSML muszą spełniać następujące wymagania:

  • Plik dźwiękowy musi być prawidłowy *.mp3, *.wav, *.opus, *.ogg, *.flac lub *.wma plików.
  • Łączny łączny czas dla wszystkich plików tekstowych i audio w jednej odpowiedzi nie może przekroczyć 600 sekund.
  • Dźwięk nie może zawierać żadnych informacji poufnych ani specyficznych dla klienta.

Uwaga

Element audio nie jest obsługiwany przez API Long Audio. Aby konwertować długi tekst na mowę, użyj wsadowego interfejsu API syntezy.

W poniższej tabeli opisano użycie audio atrybutów elementu:

Atrybut Opis Wymagane lub opcjonalne
src Lokalizacja identyfikatora URI pliku audio. Dźwięk musi być hostowany w punkcie końcowym HTTPS dostępnym z internetu. Protokół HTTPS jest wymagany. Domena hostująca plik musi przedstawić prawidłowy, zaufany certyfikat TLS/SSL. Plik dźwiękowy należy umieścić w Blob Storage w tym samym regionie Azure co punkt końcowy zamiany tekstu na mowę, aby zminimalizować opóźnienie. Wymagane

Przykłady audio

Aby uzyskać informacje o obsługiwanych wartościach atrybutów audio elementu, zobacz Dodawanie nagranego dźwięku.

Ten fragment kodu SSML ilustruje sposób użycia src atrybutu do wstawiania dźwięku z dwóch plików .wav.

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-AvaMultilingualNeural">
        <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>

Dostosowywanie czasu trwania dźwięku

Użyj elementu , mstts:audioduration aby ustawić czas trwania dźwięku wyjściowego. Użyj tego elementu, aby ułatwić synchronizację czasu zakończenia odtwarzania dźwięku. Czas trwania dźwięku można zmniejszyć lub zwiększyć od 0.5 do 2 razy względem szybkości oryginalnego dźwięku. Oryginalny dźwięk to dźwięk bez żadnych innych ustawień szybkości. Szybkość mówienia jest spowalniana lub odpowiednio przyspieszana na podstawie ustawionej wartości.

Ustawienie czasu trwania dźwięku ma zastosowanie do całego tekstu wejściowego w jego otaczającym voice elemencie. Aby ponownie zresetować lub zmienić ustawienie czasu trwania dźwięku, należy użyć nowego voice elementu z tym samym głosem lub innym głosem.

W poniższej tabeli opisano użycie mstts:audioduration atrybutów elementu:

Atrybut Opis Wymagane lub opcjonalne
value Żądany czas trwania dźwięku wyjściowego w ciągu jednej z sekund, takich jak 2s, lub milisekundy, na przykład 2000ms.

Maksymalna wartość czasu trwania dźwięku wyjściowego wynosi 300 sekund. Ta wartość powinna mieścić się w zakresie od 0.5 do 2 razy oryginalnej prędkości dźwięku, bez żadnych innych ustawień prędkości. Jeśli na przykład żądany czas trwania dźwięku to 30s, oryginalny dźwięk musi w przeciwnym razie wynosić od 15 do 60 sekund. Jeśli ustawisz wartość poza tymi granicami, czas trwania jest ustawiany zgodnie z odpowiednią minimalną lub maksymalną wielokrotność. W przypadku dźwięku wyjściowego dłuższego niż 300 sekund najpierw wygeneruj oryginalny dźwięk bez żadnych innych ustawień szybkości, a następnie oblicz szybkość dostosowywania przy użyciu współczynnika prosody, aby osiągnąć żądany czas trwania.
Wymagane

Przykłady czasu trwania dźwięku mstts

Aby uzyskać informacje o obsługiwanych wartościach atrybutów mstts:audioduration elementu, zobacz Dostosowywanie czasu trwania dźwięku.

W tym przykładzie oryginalny dźwięk wynosi około 15 sekund. Element mstts:audioduration służy do ustawiania czasu trwania dźwięku na 20 sekund lub 20s.

<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-AvaMultilingualNeural">
<mstts:audioduration value="20s"/>
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>

Dodawanie dźwięku tła

Możesz użyć mstts:backgroundaudio elementu , aby dodać dźwięk tła do dokumentów SSML lub wymieszać plik audio z tekstem na mowę. Za pomocą mstts:backgroundaudio można zapętlić plik audio w tle, nasilić się na początku syntezatora mowy i zanikać na końcu syntezatora mowy.

Jeśli podany dźwięk w tle jest krótszy niż przekształcanie tekstu na mowę lub efekt zanikania, zapętla się. Jeśli funkcja tekstu na mowę jest dłuższa niż czas odtwarzania, zatrzymuje się, gdy dobiegnie końca wyciszenie.

Tylko jeden plik dźwiękowy w tle jest dozwolony dla dokumentu SSML. Możesz przeplatać audio tagi w elemecie voice , aby dodać więcej dźwięku do dokumentu SSML.

Uwaga

Element mstts:backgroundaudio należy umieścić przed wszystkimi voice elementami. Jeśli zostanie określony, musi być pierwszym elementem podrzędnym speak elementu.

Element mstts:backgroundaudio nie jest obsługiwany przez API Long Audio. W przypadku zamiany długiego tekstu na mowę, użyj interfejsu API syntezy wsadowej (wersja próbna).

W poniższej tabeli opisano użycie mstts:backgroundaudio atrybutów elementu:

Atrybut Opis Wymagane lub opcjonalne
src Lokalizacja URI pliku audio w tle. Wymagane
volume Wolumin pliku audio w tle. Akceptowane wartości: 0 do 100 włącznie. Wartość domyślna to 1. Opcjonalne
fadein Czas trwania dźwięku tła zanika w milisekundach. Wartość domyślna to 0, która jest odpowiednikiem braku zanikania. Akceptowane wartości: od 0 do 10000 włącznie. Opcjonalne
fadeout Czas trwania zanikania dźwięku w tle w milisekundach. Wartość domyślna to 0, co odpowiada brakowi zanikania. Akceptowane wartości: od 0 do 10000 włącznie. Opcjonalne

Przykłady MSTSS dźwięku w tle

Aby uzyskać informacje o obsługiwanych wartościach atrybutów elementu mstts:backgroundaudi, zobacz Dodawanie dźwięku tła.

<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="en-US-AvaMultilingualNeural">
        The text provided in this document are spoken over the background audio.
    </voice>
</speak>

Viseme, element

Viseme to wizualny opis fonemy w języku mówionym. Definiuje położenie twarzy i ust, gdy osoba mówi. Możesz użyć mstts:viseme elementu w języku SSML, aby zażądać danych wyjściowych viseme. Aby uzyskać więcej informacji, zobacz Uzyskiwanie pozycji twarzy z viseme.

Ustawienie viseme jest stosowane do całego tekstu wejściowego w jego otaczającym voice elemencie. Aby ponownie zresetować lub zmienić ustawienie viseme, należy użyć nowego voice elementu z tym samym głosem lub innym głosem.

viseme Użycie atrybutów elementu opisano w poniższej tabeli.

Atrybut Opis Wymagane lub opcjonalne
type Typ danych wyjściowych viseme.
  • redlips_front – synchronizacja ruchu ust z ID viseme i przesunięciem wyjścia dźwięku
  • FacialExpression – mieszanie danych wyjściowych kształtów
Wymagane

Uwaga

redlips_front Obecnie obsługuje tylko neuronowe głosy w ustawieniach regionalnych en-US, a FacialExpression obsługuje neuronowe głosy w ustawieniach regionalnych en-US oraz zh-CN.

Przykłady viseme

Obsługiwane wartości atrybutów viseme elementu zostały opisane wcześniej.

Ten fragment kodu SSML ilustruje sposób żądania mieszania kształtów z syntetyzowaną mową.

<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-AvaNeural">
    <mstts:viseme type="FacialExpression"/>
    Rainbow has seven colors: Red, orange, yellow, green, blue, indigo, and violet.
  </voice>
</speak>

Element konwersji głosu

Konwersja głosu (wersja zapoznawcza) to proces zmiany cech głosowych danego nagrania, aby odpowiadały głosowi docelowego mówcy. Po konwersji głosu wynikowy dźwięk zachowuje zawartość językową i prozodię dźwięku źródłowego, podczas gdy barwa głosu brzmi jak głos docelowego mówcy. Aby uzyskać więcej informacji, zobacz konwersję głosu.

Użyj tagu <mstts:voiceconversion> za pomocą języka znaczników syntezy mowy (SSML), aby określić źródłowy adres URL dźwięku i docelowy głos konwersji. Aby uzyskać pełną listę obsługiwanych głosów docelowych, zobacz obsługiwane głosy na potrzeby konwersji głosu.

W poniższej tabeli opisano użycie mstts:voiceconversion atrybutów elementu:

Atrybut Opis Wymagane lub opcjonalne
url Adres URL źródłowego pliku audio, który zapewnia zawartość językową i prosody dla syntetyzowanej mowy.

Element url musi być dostępny za pośrednictwem adresu URL HTTPS. Na przykład: https://example.com/source.wav

Dźwięk wejściowy musi być poniżej 100 MB.
Wymagane

Oto jak działa konwersja głosu:

  • Źródłowy dźwięk jest wcześniej nagranym plikiem audio, który zawiera wypowiedziane słowa i prozodię.
    • Zawartość tekstowa: ostateczna syntetyzowana mowa jest zgodna ze słowami wypowiadanymi w źródłowym dźwięku.
    • Prosodia i rytm: Przemowa zachowuje tempo i intonację ze źródła.
  • Tag <voice> określa docelowy głos używany dla dźwięku wyjściowego. Aby uzyskać informacje na temat obsługiwanych głosów docelowych, zobacz obsługiwane głosy na potrzeby konwersji głosu.
  • Dźwięk wyjściowy zachowuje barwę (ton i jakość) docelowego głosu, ale podąża za tekstem i stylem mówienia dźwięku źródłowego.

Uwaga

Wszystkie elementy SSML związane z prosodią i wymową, takie jak <prosody> lub <mstts:express-as> , są ignorowane.

Wprowadzanie tekstu jest opcjonalne i podczas renderowania ignorowany jest dowolny tekst zawarty w języku SSML.

Przykłady funkcji mstss voiceconversion

W poniższym przykładzie pokazano, jak używać <mstts:voiceconversion> do syntezowania mowy przy użyciu docelowego neuronowego głosu podczas dopasowywania zarówno zawartości, jak i prosody danego dźwięku źródłowego:

<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 xml:lang="en-US" xml:gender="Female" name="en-US-AvaMultilingualNeural">
        <mstts:voiceconversion url="https://your.blob.core.windows.net/sourceaudio.wav"/>
    </voice>
</speak>

Następne kroki