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 Locale-Tag ist nicht erforderlich. Die persönliche Stimme verwendet die automatische Sprachenerkennung 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, Tonhöhe, Sprechgeschwindigkeit 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 einer der unterstützten Stimmennamen des Basismodells sein. Um eine Liste der unterstützten Basismodell-Stimmennamen zu erhalten, verwenden Sie den Vorgang BaseModels_List der benutzerdefinierten Sprach-API.

Diese Tabelle zeigt die Vorteile der verschiedenen Basismodelle:

Basismodell Wichtige Merkmale Latenz
DragonLatestNeural Gute Ähnlichkeit mit der Aufzeichnung. 500 ms
DragonHDOmniLatestNeural Natürliche Steuerung von Prosodie, Stil und Paralinguistik. Beispiel:
[laughter] Don't worry—we'll get you a table, no problem! [Sad] Don't worry—we'll get you a table, no problem!
Siehe die unterstützten Stile und Paralinguistik.
300 ms
MAI-Voice-2 Hohe Klangtreue, ausdrucksstark. Unterstützt mehrsprachige Synthese in mehr als 10 Sprachen. 1600 ms
PhoenixLatestNeural Präzise Aussprache, niedrigere Latenz. 200 ms

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.

Hier sehen Sie ein Beispiel für SSML in einer Anforderung für text to speech mit dem Sprachnamen und der Sprecherprofil-ID. Im Beispiel wird auch veranschaulicht, wie Sie Sprachen mithilfe des en-US-Elements von zh-HK zu <lang xml:lang> 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.

  • Realzeit-Sprachsynthese: Verwenden Sie das Speech SDK oder REST-API, um text to speech zu konvertieren.
    • Wenn Sie das Speech SDK verwenden, legen Sie keine Endpunkt-ID fest, ähnlich wie bei vorgefertigter Stimme.
    • Wenn Sie die REST-API verwenden, nutzen Sie den Standard-Voices-Endpunkt.

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 Unterstützt in Phoenix In Dragon verfügbar
<voice> Gibt die Sprach- und optionalen Effekte an (eq_car und eq_telecomhp8k). Ja Ja
<mstts:express-as> Gibt Sprechstile und Rollen an. Nein Nein
<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. Nein Nein
   contour Stellt Änderungen der Tonhöhe dar. Nein Nein
   range Stellt den Tonhöhenbereich für den Text dar. Nein Nein
   rate Gibt die Sprechgeschwindigkeit für den Text an. Ja Ja
   volume Gibt die Lautstärke der Sprechstimme an. Nein Nein
<emphasis> Fügt Betonung auf Wortebene im Text hinzu oder entfernt sie. Nein Nein
<audio> Fügt vorab aufgezeichnete Audiodaten in ein SSML-Dokument ein. Ja Nein
<mstts:audioduration> Gibt die Dauer der Audioausgabe an. Nein Nein
<mstts:backgroundaudio> Fügt Ihren SSML-Dokumenten Hintergrundaudio hinzu oder mischt eine Audiodatei mit text to speech. Ja Nein
<phoneme> Gibt die phonetische Aussprache in SSML-Dokumenten an.
   ipa Eines der phonetischen Alphabete. Ja Nein
   sapi Eines der phonetischen Alphabete. Nein Nein
   ups Eines der phonetischen Alphabete. Ja Nein
   x-sampa Eines der phonetischen Alphabete. Ja Nein
<lexicon> Definiert, wie mehrere Entitäten in SSML gelesen werden. Ja Ja (nur Support-Alias)
<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 Nein
<bookmark> Ruft den Offset der einzelnen Markierungen im Audiodatenstrom ab. Ja Nein
<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 Nein
<mstts:viseme> Bestimmt die Position des Gesichts und des Mundes, während eine Person spricht. Ja Nein
<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. Ein Python-Beispiel finden Sie unter Synthetisatorereignisse abonnieren.

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

Referenzdokumentation

Nächste Schritte

  • Erfahren Sie mehr über benutzerdefinierte VoIP in der Übersicht.
  • Erkunden Sie Foundry (neu), um eine persönliche Sprachanpassung zu erstellen und zu verwalten, oder verwenden Sie Speech Studio für die Demoumgebung.