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:
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 dla 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 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 neuronowego głosu
Możesz wytrenować niestandardowy neuronowy głos, aby porozmawiać z niektórymi wstępnie ustawionymi stylami, takimi jak cheerful
, sad
i 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 2
stylu , a następnie stylem niestandardowym o nazwie my-custom-style i stopniem 0.01
stylu .
<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:lang polecenia , 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.
Niejęzyczne głosy nie obsługują elementu zgodnie z <lang xml:lang>
projektem.
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 | Automatycznie wykryty numer języka | Automatycznie wykryty język (ustawienia regionalne) | Numer wszystkich ustawień regionalnych | Wszystkie języki (ustawienia regionalne) obsługiwane przez język 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łgarskibg-BG bs-BA (), 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-NL en-US (), Angielski (), Estońskiet-EE (), Filipinofil-PH (), Fiński (fi-FI ), Francuski (fr-FR ), Galicyjski (), Gruziński (gl-ES ), Niemiecki (de-DE ), Grecki (el-GR ), Hebrajskihe-IL (), Hindihi-IN (), Węgierski (hu-HU ), Islandia (), Irlandzkiga-IE (), Włoski (it-IT ), Japońskija-JP (), Javanesejv-ID (), Kannada (kn-IN ), Kazach (kk-KZ ), Khmerkm-KH (), Koreański (ko-KR ), Lao (lo-LA ), Łotewskilv-LV is-IS (), Litewskilt-LT (), Macedoński (mk-MK ), Malayalamms-MY ml-IN (), Maltański (), Mongolskimt-MT mn-MN (), Nepalskine-NP (), Bokmål (nb-NO ), Pashto (ps-AF ka-GE ), Perski (), Polski (fa-IR pl-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ńskies-ES (), Sundanese (su-ID ), Swahili (sw-KE ), Szwedzkisv-SE (), Tamilta-IN (), Telugu (te-IN ), Thai (th-TH ), Tureckitr-TR (), Ukraińskiuk-UA (), Urdu (ur-PK ), Uzbekuz-UZ (), Wietnamskivi-VN cy-GB (), Walijskiso-SO (), Zuluzu-ZA () |
91 | Afrikaans (Republika Południowej Afryki) (af-ZA ), Albański (Albania) (sq-AL ), Amharic (Etiopia) (am-ET ),ar-EG Arabski (), Arabski (Arabia Saudyjska) (ar-SA ), Ormiański (Armenia) (hy-AM ), Azerbejdżan (),az-AZ Baski (Baskijczyk) (eu-ES ), Bengali (Indie) (bn-IN ), Bośniacki (Bośnia i Hercegowina) (bs-BA ), Bułgarski (),bg-BG Birma (Birmamy-MM ) (), Kataloński (Hiszpaniaca-ES ) (), Chiński (Kantoński, Tradycyjny) (), chiński (zh-HK mandaryński, uproszczony) (), chiński (zh-CN mandaryński tajwański) ( zh-TW ), Chorwacki (Chorwacja) (hr-HR ), Czeski (Czeski) (), Duński (cs-CZ Dania),da-DK Holenderski (Belgia) (nl-BE ), Holenderski (Holandianl-NL ) (), Angielski (Australia) (en-AU ), Angielski (Kanadaen-CA ) (), Angielski (Hongkong SARen-HK ) (), angielski (Indie) (en-IN ), angielski (Indie) (), angielski (Irlandia) (en-IE ), angielski (Wielka Brytania) (en-GB ), angielski (Stany Zjednoczone) (en-US ), estoński (Estonia) (et-EE ), Filipino (Filipinyfil-PH ) (), fiński (Finlandia) (fi-FI (), francuski (Belgia) (fr-BE ), francuski (Kanada) (), francuski (fr-CA Francja) (fr-FR ), francuski (Szwajcaria) (fr-CH ), galicyjski (galicyjski) (gl-ES ), gruziński (),ka-GE niemiecki (Austria) (), niemiecki (Niemcy) (de-AT de-DE ), niemiecki (Szwajcaria) (), niemiecki (Szwajcaria) (de-CH ), Grecki (Grecja) (el-GR ), Hebrajski (Izrael) (he-IL ), Hindi (Indie) (hi-IN ), Węgierski (Węgry) (hu-HU ), Islandia (Islandia) (is-IS ), Indonezyjski (Indonezja) (id-ID ), Irlandzki (Irlandia) (), Włoski (ga-IE Włochy) (), Japoński (it-IT Japonia) ( ja-JP ), Javanese (Indonezja) (jv-ID ), Kannada (Indie) (kn-IN ), Kazachski (Kazachstan) (kk-KZ ), Khmer (Kambodża) (km-KH ), Koreański (Korea) (ko-KR ), Lao (Laos) (lo-LA ), Łotewski (Łotewski) (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 ), Pashto (Afganistan) (ps-AF ), Perski (Iran) (fa-IR ), Polski (Polska) (pl-PL ), Portugalski (Brazylia) (), Portugalski (pt-BR Portugalia) (pt-PT ), Rumuński (Rumunia) (), Rosyjski (Rosja) (ro-RO ru-RU ), Serbski (Cyrylica, Serbia) (sr-RS ), Sinhala (Sri Lanka) (si-LK ), Słowacki (Słowacja) (sk-SK ), Słoweński (Słowenia) (sl-SI ), Somalia (), Somalia (so-SO ), Hiszpański (Meksykes-MX ) (), Hiszpański (Hiszpania) (es-ES ), Sundanese (Indonezja) (su-ID ), Swahili (Kenia) (sw-KE ), Szwedzki (),sv-SE Tamil (Indie) (), Telugu (ta-IN Indie) (te-IN ), Tajski (Tajlandia) (th-TH ), Turecki (Türkiye) (tr-TR ), Ukraiński (Ukraina) (uk-UA ), Urdu (Pakistan) (ur-PK ), Uzbek (Uzbekistan) (uz-UZ ), Wietnamski (Wietnam) (), Walijski (Wielka Brytania) (vi-VN cy-GB ), Zulu (Republika Południowej Afryki) (zu-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
.
Uwaga
Wielojęzyczne głosy nie obsługują w pełni niektórych elementów SSML, takich jak break
, emphasis
, silence
i 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-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-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
, p
phoneme
say-as
prosody
, 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 ). Kontur skoku nie działa na pojedynczych wyrazach i krótkich frazach. Zaleca się dostosowanie konturu skoku dla całych zdań lub długich fraz. |
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:
|
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:
|
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:
|
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
, lang
prosody
phoneme
say-as
emphasis
sub
, i .voice
Uwaga
Dostrajanie nacisku 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ą 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:
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
, , break
phoneme
s
prosody
p
say-as
i .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.
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 .Maksymalna wartość czasu trwania dźwięku wyjściowego wynosi 300 sekund. 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ść. 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. |
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:backgroundaudio
polecenia 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>