Freigeben über


Verwenden von persönlicher Stimme in Ihrer Anwendung

Sie können die Sprecherprofil-ID für Ihre persönliche Stimme verwenden, um Sprache in einer der 91 Sprachen zu synthetisieren, die über 100 Gebietsschemas hinweg unterstützt werden. Ein Gebietsschematag ist nicht erforderlich. Persönliche Stimme verwendet die automatische Spracherkennung auf Satzebene.

Integrieren von persönlicher Stimme in Ihre Apps

Sie müssen die Speech Synthesis Markup Language (SSML) verwenden, um die persönliche Stimme in Ihrer Anwendung zu nutzen. SSML ist eine XML-basierte Markupsprache, die eine Standardmethode zum Markieren von Text für die Generierung synthetischer Spracherkennung bietet. SSML-Tags werden verwendet, um die Aussprache, Lautstärke, Neigung, Rate und andere Attribute der Sprachsyntheseausgabe zu steuern.

  • Die speakerProfileId Eigenschaft in SSML wird verwendet, um die Sprecherprofil-ID für die persönliche Stimme anzugeben.

  • Der Sprachname wird in der name-Eigenschaft in SSML angegeben. Für die personalisierte Stimme muss der Stimmenname auf einen unterstützten Stimmennamen des Basismodells eingestellt sein. Um eine Liste der unterstützten Basismodell-Stimmennamen zu erhalten, verwenden Sie den Vorgang BaseModels_List der benutzerdefinierten Sprach-API.

    Hinweis

    Die Stimmennamen, die mit Latest bezeichnet sind, z. B. DragonLatestNeural oder PhoenixLatestNeural, werden von Zeit zu Zeit aktualisiert. Ihre Leistung kann mit Updates für fortlaufende Verbesserungen variieren. Wenn Sie eine feste Version verwenden möchten, wählen Sie eine mit einer Versionsnummer gekennzeichnete Version wie beispielsweise PhoenixV2Neural.

  • DragonLatestNeural ist ein Basismodell mit überlegener Stimmklonungsähnlichkeit im Vergleich zu PhoenixLatestNeural. PhoenixLatestNeural ist ein Basismodell mit genauerer Aussprache und geringerer Latenz als DragonLatestNeural.

  • Bei einer personalisierten Stimme können Sie das <lang xml:lang>-Element verwenden, um die Sprache anzupassen. Dies ist identisch mit mehrsprachigen Stimmen. Weitere Informationen finden Sie unter Verwenden des Lang-Elements für unterschiedliche Sprachen.

Hier sehen Sie ein Beispiel für SSML in einer Anforderung für die Sprachsynthese mit dem Sprachnamen und der Sprecherprofil-ID. Im Beispiel wird auch veranschaulicht, wie Sie Sprachen mithilfe des <lang xml:lang>-Elements von en-US zu zh-HK umschalten.

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

Sie können SSML über Speech SDK oder REST-APIverwenden.

  • Echtzeit-Sprachsynthese: Verwenden Sie das Speech SDK oder die REST-API, um Text in Sprache zu konvertieren.
    • Wenn Sie das Speech-SDK verwenden, legen Sie keine Endpunkt-ID fest, genau wie bei der vordefinierten Stimme.
    • Wenn Sie DIE REST-API verwenden, verwenden Sie den vordefinierten Endpunkt für neurale Stimmen.

Unterstützte und nicht unterstützte SSML-Elemente für persönliche Stimme

Ausführliche Informationen zu den unterstützten und nicht unterstützten SSML-Elementen für Phoenix- und Dragon-Modelle finden Sie in der folgenden Tabelle. Anweisungen zur Verwendung von SSML-Elementen finden Sie unter SSML-Dokumentstruktur und -Ereignisse.

Element Beschreibung In Phoenix unterstützt In Dragon unterstützt
<voice> Gibt die Sprach- und optionalen Effekte an (eq_car und eq_telecomhp8k). Ja Ja
<mstts:express-as> Gibt Sprechstile und Rollen an. No No
<mstts:ttsembedding> Gibt die speakerProfileId-Eigenschaft für eine persönliche Stimme an. Ja Ja
<lang xml:lang> Gibt die gesprochene Sprache an. Ja Ja
<prosody> Passt Tonhöhe, Kontur, Bereich, Rate und Lautstärke an.
   pitch Gibt die Basistonhöhe für den Text an. No No
   contour Stellt Änderungen der Tonhöhe dar. No No
   range Stellt den Tonhöhenbereich für den Text dar. No No
   rate Gibt die Sprechgeschwindigkeit für den Text an. Ja Ja
   volume Gibt die Lautstärke der Sprechstimme an. No No
<emphasis> Fügt Betonung auf Wortebene für den Text hinzu oder entfernt sie. No No
<audio> Fügt vorab aufgezeichnete Audiodaten in ein SSML-Dokument ein. Ja No
<mstts:audioduration> Gibt die Dauer der Audioausgabe an. No No
<mstts:backgroundaudio> Fügt Hintergrundaudioaufnahmen zu Ihren SSML-Dokumenten hinzu oder mischt eine Audiodatei mit Text-zu-Sprache. Ja No
<phoneme> Gibt die phonetische Aussprache in SSML-Dokumenten an.
   ipa Eines der phonetischen Alphabete. Ja No
   sapi Eines der phonetischen Alphabete. No No
   ups Eines der phonetischen Alphabete. Ja No
   x-sampa Eines der phonetischen Alphabete. Ja No
<lexicon> Definiert, wie mehrere Entitäten in SSML gelesen werden. Ja Ja (nur Supportalias)
<say-as> Gibt den Inhaltstyp, z. B. Zahl oder Datum, für den Text des Elements an. Ja Ja
<sub> Gibt den Textwert des Aliasattributs anstelle des eingeschlossenen Texts des Elements an, der ausgesprochen werden soll. Ja Ja
<math> Verwendet MathML als Eingabetext, um mathematische Notationen in der Audioausgabe ordnungsgemäß auszusprechen. Ja No
<bookmark> Ruft den Offset der einzelnen Markierungen im Audiodatenstrom ab. Ja No
<break> Setzt das Standardverhalten von Unterbrechungen oder Pausen zwischen Wörtern außer Kraft. Ja Ja
<mstts:silence> Fügt Pausen vor oder nach dem Text oder zwischen zwei aufeinander folgenden Sätzen ein. Ja No
<mstts:viseme> Bestimmt die Position des Gesichts und des Mundes, während eine Person spricht. Ja No
<p> Gibt Absätze in SSML-Dokumenten an. Ja Ja
<s> Gibt Sätze in SSML-Dokumenten an. Ja Ja

Unterstützte und nicht unterstützte SDK-Features für persönliche Stimme

In der folgenden Tabelle wird beschrieben, welche SDK-Features für Phoenix- und Dragon-Modelle unterstützt werden. Ausführliche Informationen zur Verwendung dieser SDK-Features in Ihren Anwendungen finden Sie unter Abonnieren von Synthesizerereignissen.

SDK-Features Beschreibung In Phoenix unterstützt In Dragon unterstützt
Wortgrenze Signalisiert, dass bei der Synthese eine Wortgrenze empfangen wurde, sodass während des Sprachsyntheseprozesses präzise Wortzeitangaben bereitgestellt werden. Ja No
Visemeereignisse Stellt während der Synthese Visemeinformationen (Lippen-, Kiefer- und Zungenbewegung) bereit, sodass eine visuelle Synchronisierung möglich ist. Ja No

Referenzdokumentation

Nächste Schritte

  • Erfahren Sie mehr über benutzerdefinierte Neural Voice in der Übersicht.
  • Weitere Informationen zu Speech Studio finden Sie in der Übersicht.