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 elemecie 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 dane wyjściowe mowy. Aby uzyskać pełną listę obsługiwanych wstępnie utworzonych głosów, zobacz Obsługa języka. Wymagania
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 środowisko słuchowe może być obniżone z powodu zniekształceń odtwarzania 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.
Opcjonalnie

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 en-US-AvaMultilingualNeural głosu.

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

Przykład wielu głosów

W elemecie speak można określić wiele głosów dla danych wyjściowych 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 jest alternatywny między en-US-AvaMultilingualNeural głosami i en-US-AndrewMultilingualNeural . 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-AvaMultilingualNeural">
        Good morning!
    </voice>
    <voice name="en-US-AndrewMultilingualNeural">
        Good morning to you too Ava!
    </voice>
</speak>

Przykład niestandardowego neuronowego głosu

Aby użyć niestandardowego neuronowego 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

Atrybut służy 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>

Używanie stylów i ról mówienia

Domyślnie głosy neuronowe mają neutralny styl mówienia. Możesz dostosować styl wypowiedzi, stopień 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 również użyć interfejsu API rozpoznawania głosów listy i 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 neuronowego głosu można znaleźć w przykładzie niestandardowego stylu neuronowego głosu. Wymagania
styledegree Intensywność stylu mówienia. Możesz określić silniejszy lub łagodniejszy styl, aby mowa bardziej wyrazisła lub jędniejsza. Zakres akceptowanych wartości to: 0.01 do 2 inkluzywności. 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 wyników podwojenia domyślnej intensywności stylu. Jeśli brakuje stopnia stylu lub nie jest obsługiwany dla twojego głosu, ten atrybut jest ignorowany. Opcjonalnie
role Rola mówiąca. 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. Opcjonalnie

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ższym boiskiem i energią wokalną. Głośnik jest w stanie przyciągania uwagi odbiornika. Osobowość prelegenta jest często ujmująco w przyrodzie.
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, pitch i prosody są bardziej jednolite w porównaniu do innych typów 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 obsługi klienta.
style="depressed" Wyraża melancholijny i przygnębia ton z niższym boiskiem i energią.
style="disgruntled" Wyraża pogardę i narzeka na ton. Mowa tej emocji wyświetla niezadowolenie i pogardę.
style="documentary-narration" Opowiada filmy dokumentalne w zrelaksowanym, interesującym i informacyjnym stylu odpowiednim do dubbingu filmów dokumentalnych, komentarzy ekspertów i podobnych treści.
style="embarrassed" Wyraża niepewny i niezdecydowany ton, gdy głośnik 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ższym boiskiem, wyższą energią wokalną 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 boiskiem i energią wokalną.
style="hopeful" Wyraża ciepły i letni ton. Brzmi to jak coś dobrego stanie się z głośnikem.
style="lyrical" Wyraża emocje w sposób melodiny i sentymentalny.
style="narration-professional" Wyraża profesjonalny, obiektywny ton do czytania zawartości.
style="narration-relaxed" Wyraża kojący i melodiny ton do czytania treści.
style="newscast" Wyraża formalny i profesjonalny ton do narrowania wiadomości.
style="newscast-casual" Wyraża wszechstronny i swobodny ton ogólnego dostarczania 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 smutek smutek.
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 w imprezie sportowej.
style="whispering" Wyraża miękki ton, który próbuje zrobić 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:

Rola 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ę.

mstts express-as examples

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 <mstts:express-as> elementu o sad stopniu 2stylu .

<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 neuronowego głosu

Możesz wytrenować niestandardowy neuronowy głos, aby porozmawiać z niektórymi wstępnie ustawionymi stylami, takimi jak cheerful, sadi whispering. Możesz również wytrenować niestandardowy neuronowy głos , aby mówić w niestandardowym stylu określonym przez dane treningowe. Aby użyć niestandardowego stylu neuronowego 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 ze cheerful wstępnie ustawionym stylem i stopniem 2stylu , a następnie stylem niestandardowym o nazwie my-custom-style i stopniem 0.01stylu .

<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

Element służy mstts:ttsembedding do określania speakerProfileId właściwości dla głosu osobistego. Osobisty głos to niestandardowy neuronowy głos, który jest szkolony 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> 

Dostosowywanie języków mówionych

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 do dostosowania języka mówienia dla neuronowego głosu. Jeśli używasz lang xml:langpolecenia , należy podać ustawienia regionalne.

Uwaga

Element <lang xml:lang> jest niezgodny z elementami prosody i break . Nie można dostosować pauzy i prosody, takich jak skok, kontur, szybkość lub objętość w tym elemecie.

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.

Głos Obsługiwany numer języka Obsługiwane języki Automatycznie wykryte domyślne ustawienia regionalne dla każdego języka
en-US-AndrewMultilingualNeural1 (mężczyzna)
en-US-AvaMultilingualNeural1 (kobieta)
en-US-BrianMultilingualNeural1 (mężczyzna)
en-US-EmmaMultilingualNeural1 (kobieta)
77 Afrikaans, Albańczyk, Amharic, Arabski, Ormiański, Azerbejdżan, Bahasa Indonezyjski, Bangla, Basków, Bengali, Bośniacki, Bułgarski, Birmański, kataloński, chiński kantoński, chiński mandaryński, chiński tajwański, chorwacki, czeski, duński, holenderski, angielski, estoński, filipiński, fiński, francuski, galicyjski, gruziński, niemiecki, grecki, hebrajski, hindi, węgierski, islandzki, irlandzki, włoski, japoński, javanese, Kannada, Kazakh, Khmer, koreański, lao, łotewski, litewski, macedoński, malajski, maltański, mongolski, nepalski, Norweski Bokmål, Pashto, Perski, Polski, Portugalski, Rumuński, Rosyjski, Serbski, Sinhala, Słowacki, Slovene, Somalia, Hiszpański, Sundanese, Swahili, Szwedzki,Tamil, Telugu, Tajski, Turecki, Ukraiński, Urdu, Uzbek, Wietnamski, Walijski, Zulu af-ZA, am-ET, ar-EGaz-AZbg-BGbn-BDbn-INbs-BAca-EScs-CZcy-GBda-DKde-DEel-GRen-USes-ESet-EEeu-ESfa-IRfi-FIfil-PHfr-FRga-IEgl-EShe-ILhi-INhr-HRhu-HUhy-AMid-IDis-ISit-ITja-JPjv-IDka-GEkk-KZkm-KHkn-INko-KRlo-LAlt-LTlv-LVmk-MKml-INmn-MNms-MYmt-MTmy-MMnb-NOne-NPnl-NLpl-PLps-AFpt-BRro-ROru-RUsi-LKsk-SKsl-SIso-SOsq-ALsr-RSsu-IDsv-SEsw-KE, ta-IN, , te-IN, tr-TRth-THuk-UAzh-CNur-PKzh-TWuz-UZzh-HKvi-VNzu-ZA.

1 Są to neuronowe wielojęzyczne głosy w usłudze Azure AI Speech. Wszystkie wielojęzyczne głosy mogą mówić w języku w domyślnych ustawieniach regionalnych tekstu wejściowego bez użycia języka 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. Podstawowe ustawienia regionalne dla każdego głosu są wskazywane przez prefiks w nazwie, taki jak głos en-US-AndrewMultilingualNeural, jego podstawowe ustawienia regionalne to en-US. Sprawdź pełną listę obsługiwanych ustawień regionalnych za pomocą języka SSML.

Uwaga

Wielojęzyczne głosy nie obsługują w pełni niektórych elementów SSML, takich jak break, emphasis, silencei sub.

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-AvaMultilingualNeural jest en-US.

Ten fragment kodu SSML pokazuje, jak używać <lang xml:lang> funkcji do mówienia de-DE z głosem neuronowym en-US-AvaMultilingualNeural .

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

W elemplecie speak można określić wiele języków, w tym en-US dla danych wyjściowych zamiany tekstu na mowę. Dla każdego dostosowanego języka tekst musi być zgodny z językiem voice i być opakowany w element. W tym fragmencie kodu SSML pokazano, jak <lang xml:lang> zmienić języki mówiące na es-MX, en-USi 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-AvaMultilingualNeural">
        <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 prozodii

Możesz użyć prosody elementu , aby określić zmiany pitch, contour, range, rate i volume dla tekstu na dane wyjściowe mowy. Element prosody może zawierać tekst i następujące elementy: audio, , break, pphonemesay-asprosody, sub, i .s

Ponieważ wartości atrybutów prosodic mogą się różnić w szerokim zakresie, rozpoznawanie mowy interpretuje przypisane wartości jako sugestię, jakie powinny być rzeczywiste wartości prosodic wybranego głosu. Limity zamiany tekstu na mowę lub wartości, które nie są obsługiwane. Przykłady nieobsługiwanych wartości to skok 1 MHz lub wolumin 120.

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

Atrybut opis Wymagane lub opcjonalne
contour Kontur reprezentuje zmiany w skoku. 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 skoku jako procent czasu trwania tekstu. Druga wartość określa kwotę do podniesienia lub obniżenia skoku przy użyciu wartości względnej lub wartości wyliczenia dla skoku (zobacz pitch).
Opcjonalnie
pitch Wskazuje punkt odniesienia dla 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 razy w oryginalnym dźwięku. Możesz wyrazić boisko 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 wyrazem "+" lub "-" i następnie "Hz" lub "st", która określa ilość, która określa wartość zmiany skoku. Na przykład: <prosody pitch="+80Hz">some text</prosody> lub <prosody pitch="-2st">some text</prosody>. Wartość "st" wskazuje, że jednostka zmiany jest naczepą, czyli połowę tonu (pół kroku) w standardowej skali diatonicznej.
    • Jako wartość procentowa: wyrażona jako liczba poprzedzona symbolem "+" (opcjonalnie) lub "-" i wskazująca względną zmianę. Na przykład: <prosody pitch="50%">some text</prosody> lub <prosody pitch="-50%">some text</prosody>.
  • Stała wartość:
    • x-low
    •  Niski
    •  Średni
    • Wysokiej
    • x-high
    • domyślna
Opcjonalnie
range Wartość reprezentująca zakres skoku 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. Opcjonalnie
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 0.5 przed upływem czasu 2 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 wyników nie zmienia się w pierwotnej stawce. Wartość 0.5 powoduje zmniejszenie o połowę oryginalnej stawki. Wartość wyników jest dwukrotnie większa 2 niż oryginalna stawka.
    • Jako wartość procentowa: wyrażona jako liczba poprzedzona symbolem "+" (opcjonalnie) lub "-" i wskazująca względną zmianę. Na przykład: <prosody rate="50%">some text</prosody> lub <prosody rate="-50%">some text</prosody>.
  • Stała wartość:
    • x-slow
    • wolno
    •  Średni
    • szybko
    • x-fast
    • domyślna
Opcjonalnie
volume Wskazuje poziom głośności głosu mówiącego. Zmiany woluminu można stosować na poziomie zdania. Wolumin można wyrazić jako:
  • Wartość bezwzględna: wyrażona jako liczba w zakresie od do 100.0, od najcichszych do najgłośniejszych, takich jak 75.0.0 Domyślna wartość 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ąca względną zmianę. Na przykład: <prosody volume="50%">some text</prosody> lub <prosody volume="+3%">some text</prosody>.
  • Stała wartość:
    • Cichy
    • x-soft
    • soft
    •  Średni
    • Głośno
    • x-loud
    • domyślna
Opcjonalnie

Przykłady prosody

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

Przykład współczynnika mówienia zmian

Ten fragment kodu SSML ilustruje sposób, w jaki rate atrybut jest używany do zmiany szybkości mówienia na 30% większą niż domyślna stawka.

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

Przykład zmiany woluminu

Ten fragment kodu SSML ilustruje, w jaki sposób volume atrybut jest używany do zmiany woluminu na 20% większy niż wolumin domyślny.

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

Zmiana przykładu skoku

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

<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 zmieniania konturu skoku

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 emphasis elementu, aby dodać lub usunąć stres na poziomie wyrazu dla tekstu. Ten element może zawierać tylko tekst i następujące elementy: audio, , break, langprosodyphonemesay-asemphasissub, i .voice

Uwaga

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

W przypadku słów, które mają niski skok i krótki czas trwania, boisko może nie być wystarczająco podniesione, aby być zauważonym.

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

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ć emphasis elementu, aby dodać umiarkowany nacisk na poziom dla słowa "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ść audio elementu może zawierać zwykły tekst lub znacznikI SSML mówione, 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, , breakphonemesprosodypsay-asi .sub

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

  • Plik audio 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 interfejs API long audio. W przypadku zamiany tekstu długiego na mowę użyj interfejsu API syntezy wsadowej (wersja zapoznawcza).

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 internetowym punkcie końcowym HTTPS. Protokół HTTPS jest wymagany. Domena hostująca plik musi przedstawić prawidłowy, zaufany certyfikat TLS/SSL. Plik audio należy umieścić w usłudze Blob Storage w tym samym regionie świadczenia usługi Azure, co tekst w punkcie końcowym mowy, aby zminimalizować opóźnienie. Wymagania

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ę chronometrażu ukończenia danych wyjściowych dźwięku. Czas trwania dźwięku można zmniejszyć lub zwiększyć między 0.5 czasami 2 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 elemecie. 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.

Ta wartość powinna być w ciągu 0.5 do 2 czasu oryginalnego dźwięku bez żadnych innych ustawień szybkoś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ść.

Biorąc pod uwagę żądany czas trwania dźwięku wyjściowego, usługa rozpoznawania mowy odpowiednio dostosowuje szybkość mówienia. Użyj interfejsu API listy głosowej i sprawdź WordsPerMinute atrybut , aby dowiedzieć się, jak mówić o używanym głosie neuronowym. Liczbę wyrazów w tekście wejściowym można podzielić na wartość atrybutu WordsPerMinute , aby uzyskać przybliżony oryginalny czas trwania dźwięku wyjściowego. Dźwięk wyjściowy brzmi najbardziej naturalnie, ustawiając czas trwania dźwięku najbliżej szacowany czas trwania.
Wymagania

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:backgroundaudiopolecenia można zapętlić plik audio w tle, zanikać na początku tekstu na mowę i wynikać na końcu tekstu na mowę.

Jeśli podany dźwięk w tle jest krótszy niż tekst do mowy lub zanikanie, zapętla się. Jeśli tekst do mowy jest dłuższy niż tekst, zatrzymuje się po zakończeniu wynikania.

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 interfejs API long audio. W przypadku zamiany tekstu długiego na mowę użyj interfejsu API syntezy wsadowej (wersja zapoznawcza).

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

Atrybut opis Wymagane lub opcjonalne
src Lokalizacja identyfikatora URI pliku audio w tle. Wymagania
volume Wolumin pliku audio w tle. Akceptowane wartości: 0 do 100 inkluzywnego. Domyślna wartość to 1. Opcjonalnie
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: 0 do 10000 inkluzywnego. Opcjonalnie
fadeout Czas trwania zanikania dźwięku w tle w milisekundach. Wartość domyślna to 0, która jest odpowiednikiem braku zanikania. Akceptowane wartości: 0 do 10000 inkluzywnego. Opcjonalnie

przykłady mstss backgroundaudio

Aby uzyskać informacje o obsługiwanych wartościach atrybutów elementu, zobacz Dodawanie dźwiękumstts:backgroundaudi 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 will be spoken over the background audio.
    </voice>
</speak>

Następne kroki