Korzystanie z głosu osobistego w aplikacji
Możesz użyć identyfikatora profilu osoby mówiącej dla swojego osobistego głosu, aby syntetyzować mowę w dowolnym z 91 języków obsługiwanych w 100+ ustawieniach regionalnych. Tag ustawień regionalnych nie jest wymagany. Osobisty głos używa automatycznego wykrywania języka na poziomie zdania.
Integrowanie osobistego głosu w aplikacji
Aby używać osobistego głosu w aplikacji, należy użyć języka znaczników syntezy mowy (SSML ). SSML to język znaczników oparty na języku XML, który zapewnia standardowy sposób oznaczania tekstu na potrzeby generowania mowy syntetycznej. Tagi SSML służą do kontrolowania wymowy, głośności, skoku, szybkości i innych atrybutów danych wyjściowych syntezy mowy.
Właściwość
speakerProfileId
w języku SSML służy do określania identyfikatora profilu osoby mówiącej dla głosu osobistego.Nazwa głosu jest określona
name
we właściwości w języku SSML. W przypadku głosu osobistego nazwa głosu musi być jedną z obsługiwanych nazw głosów modelu podstawowego. Aby uzyskać listę obsługiwanych nazw głosów modelu podstawowego, użyj BaseModels_List operacji niestandardowego interfejsu API głosu.Uwaga
Nazwy głosowe oznaczone etykietą
Latest
, na przykładDragonLatestNeural
lubPhoenixLatestNeural
, zostaną zaktualizowane od czasu do czasu. Jego wydajność może się różnić w zależności od aktualizacji w celu stałego ulepszenia. Jeśli chcesz użyć stałej wersji, wybierz jedną etykietę z numerem wersji, na przykładPhoenixV2Neural
.DragonLatestNeural
jest modelem podstawowym z lepszą podobieństwem klonowania głosu w porównaniu doPhoenixLatestNeural
.PhoenixLatestNeural
jest modelem podstawowym z dokładniejszą wymową i mniejszym opóźnieniem niżDragonLatestNeural
.W przypadku głosu osobistego można użyć
<lang xml:lang>
elementu w celu dostosowania języka mówionego. Jest taka sama jak w przypadku wielojęzycznych głosów. Zobacz , jak używać elementu lang do mówienia w różnych językach.
Oto przykładowy kod SSML w żądaniu zamiany tekstu na mowę z nazwą głosu i identyfikatorem profilu osoby mówiącej. W przykładzie pokazano również, jak przełączać języki z en-US
na zh-HK
przy użyciu <lang xml:lang>
elementu .
<speak version='1.0' xmlns='http://www.w3.org/2001/10/synthesis' xmlns:mstts='http://www.w3.org/2001/mstts' xml:lang='en-US'>
<voice name='DragonLatestNeural'>
<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.
<lang xml:lang='zh-HK'>我很高興聽到你覺得我很了不起,我讓你的旅行計劃更輕鬆、更有趣。</lang>
</mstts:ttsembedding>
</voice>
</speak>
Język SSML można używać za pośrednictwem zestawu Speech SDK lub interfejsu API REST.
- Synteza mowy w czasie rzeczywistym: użyj zestawu SPEECH SDK lub interfejsu API REST, aby przekonwertować tekst na mowę.
- Jeśli używasz zestawu SPEECH SDK, nie ustawiaj identyfikatora punktu końcowego, podobnie jak w przypadku głosu przed kompilacją.
- W przypadku korzystania z interfejsu API REST użyj wstępnie utworzonego punktu końcowego neuronowych głosów.
Obsługiwane i nieobsługiwane elementy SSML na potrzeby głosu osobistego
Aby uzyskać szczegółowe informacje na temat obsługiwanych i nieobsługiwanych elementów SSML dla modeli Phoenix i Dragon, zapoznaj się z poniższą tabelą. Aby uzyskać instrukcje dotyczące używania elementów SSML, zapoznaj się ze strukturą i zdarzeniami dokumentu SSML.
Element | opis | Obsługiwane w systemie Phoenix | Obsługiwane w programie Dragon |
---|---|---|---|
<voice> |
Określa efekty głosowe i opcjonalne (eq_car i eq_telecomhp8k ). |
Tak | Tak |
<mstts:express-as> |
Określa style i role mówiące. | Nie | Nie. |
<mstts:ttsembedding> |
Określa speakerProfileId właściwość dla osobistego głosu. |
Tak | Tak |
<lang xml:lang> |
Określa język mówiący. | Tak | Tak |
<prosody> |
Dopasowuje wysokość, kontur, zakres, szybkość i objętość. | ||
pitch |
Wskazuje punkt odniesienia dla tekstu. | Nie | Nie. |
contour |
Reprezentuje zmiany w boisku. | Nie | Nie. |
range |
Reprezentuje zakres skoku tekstu. | Nie | Nie. |
rate |
Wskazuje szybkość wypowiadania tekstu. | Tak | Tak |
volume |
Wskazuje poziom głośności głosu mówiącego. | Nie | Nie. |
<emphasis> |
Dodaje lub usuwa stres na poziomie wyrazów dla tekstu. | Nie | Nie. |
<audio> |
Osadza wstępnie rozpoznany dźwięk w dokumencie SSML. | Tak | Nie. |
<mstts:audioduration> |
Określa czas trwania dźwięku wyjściowego. | Nie | Nie. |
<mstts:backgroundaudio> |
Dodaje dźwięk tła do dokumentów SSML lub miesza plik audio z tekstem do mowy. | Tak | Nie. |
<phoneme> |
Określa wymowę fonetyczną w dokumentach SSML. | ||
ipa |
Jeden z fonetycznych alfabetów. | Tak | Nie. |
sapi |
Jeden z fonetycznych alfabetów. | Nie | Nie. |
ups |
Jeden z fonetycznych alfabetów. | Tak | Nie. |
x-sampa |
Jeden z fonetycznych alfabetów. | Tak | Nie. |
<lexicon> |
Definiuje sposób odczytu wielu jednostek w języku SSML. | Tak | Tak (obsługują tylko alias) |
<say-as> |
Wskazuje typ zawartości, taki jak liczba lub data, tekstu elementu. | Tak | Tak |
<sub> |
Wskazuje, że wartość tekstowa atrybutu aliasu powinna być wymawiana zamiast ujętego tekstu elementu. | Tak | Tak |
<math> |
Używa języka MathML jako tekstu wejściowego, aby prawidłowo wymawiać notacje matematyczne w wyjściowym dźwięku. | Tak | Nie. |
<bookmark> |
Pobiera przesunięcie każdego znacznika w strumieniu audio. | Tak | Nie. |
<break> |
Zastępuje domyślne zachowanie podziałów lub wstrzymuje się między wyrazami. | Tak | Tak |
<mstts:silence> |
Wstawia wstrzymuje się przed tekstem lub po nim albo między dwoma sąsiednimi zdaniami. | Tak | Nie. |
<mstts:viseme> |
Definiuje położenie twarzy i ust, gdy osoba mówi. | Tak | Nie. |
<p> |
Określa akapity w dokumentach SSML. | Tak | Tak |
<s> |
Określa zdania w dokumentach SSML. | Tak | Tak |
Obsługiwane i nieobsługiwane funkcje zestawu SDK dla osobistego głosu
W poniższej tabeli przedstawiono funkcje zestawu SDK obsługiwane w modelach Phoenix i Dragon. Aby uzyskać szczegółowe informacje na temat korzystania z tych funkcji zestawu SDK w aplikacjach, zobacz Subskrybowanie zdarzeń syntezatora.
Funkcje zestawu SDK | Opis | Obsługiwane w systemie Phoenix | Obsługiwane w programie Dragon |
---|---|---|---|
Granica wyrazów | Sygnały, że granica słowa została odebrana podczas syntezy, zapewniając dokładny czas słowa podczas procesu syntezy mowy. | Tak | Nie. |
Zdarzenia Viseme | Zapewnia informacje o wizjach (wargi, szczęki i ruch języka) podczas syntezy, co pozwala na synchronizację wizualną. | Tak | Nie. |