Udostępnij za pośrednictwem


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ład DragonLatestNeural lub PhoenixLatestNeural, 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ład PhoenixV2Neural.

  • DragonLatestNeural jest modelem podstawowym z lepszą podobieństwem klonowania głosu w porównaniu do PhoenixLatestNeural. 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.

Dokumentacja referencyjna

Następne kroki

  • Dowiedz się więcej o niestandardowym neuronowym głosie w omówieniu.
  • Dowiedz się więcej o usłudze Speech Studio w omówieniu.