Usare la voce neurale personalizzata nell'applicazione

È possibile usare l'ID profilo parlante per la voce personale per sintetizzare la voce in una delle 91 lingue supportate in più di 100 impostazioni locali. Non è necessario un tag delle impostazioni locali. La voce personale usa il rilevamento automatico della lingua a livello di frase.

Integrare la voce personale nell'applicazione

È necessario usare il linguaggio SSML (Speech Synthesis Markup Language) per usare la voce personale nell'applicazione. SSML è un linguaggio di markup basato su XML che fornisce un modo standard per contrassegnare il testo per la generazione di riconoscimento vocale sintetico. I tag SSML vengono usati per controllare la pronuncia, il volume, l'inclinazione, la frequenza e altri attributi dell'output di sintesi vocale.

  • La proprietà speakerProfileId in SSML viene usata per specificare l'ID del profilo voce per la voce personale.

  • Il nome della voce viene specificato nella proprietà name in SSML. Per la voce personale, il nome della voce deve essere uno dei nomi di voce del modello di base supportati. Per ottenere un elenco dei nomi di voce del modello di base supportati, usare l'operazione di BaseModels_List dell'API vocale personalizzata.

    Nota

    I nomi delle voci etichettati con il Latest, ad esempio DragonLatestNeural o PhoenixLatestNeural, verranno aggiornati di tanto in tanto; le prestazioni possono variare con gli aggiornamenti per i miglioramenti continui. Se si vuole usare una versione fissa, selezionare un'etichetta con un numero di versione, ad esempio PhoenixV2Neural.

  • DragonLatestNeural è un modello di base con somiglianza di clonazione vocale superiore rispetto a PhoenixLatestNeural. PhoenixLatestNeural è un modello di base con una pronuncia più accurata e una latenza inferiore rispetto a DragonLatestNeural.

  • Per la voce personale, è possibile usare l'elemento <lang xml:lang> per regolare la lingua parlante. È uguale a quello delle voci multilingue. Vedere come usare l'elemento lang per parlare lingue differenti.

Ecco un esempio di SSML in una richiesta di sintesi vocale con il nome della voce e l'ID del profilo del parlante. L'esempio illustra anche come commutare lingue da en-US a zh-HK usando l’elemento <lang xml:lang>.

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

È possibile usare SSML tramite SDK Voce o API REST.

  • Sintesi vocale in tempo reale: usare Speech SDK o l'API REST per convertire il testo in voce.
    • Quando si usa Speech SDK, non impostare l'ID endpoint, proprio come la voce di precompilazione.
    • Quando si usa l'API REST, usare l'endpoint delle voci neurali predefinite.

Elementi SSML supportati e non supportati per la voce personale

Per informazioni dettagliate sugli elementi SSML supportati e non supportati per i modelli Phoenix e Dragon, vedere la tabella seguente. Per istruzioni su come usare gli elementi SSML, vedere la struttura e gli eventi del documento SSML.

Elemento Descrizione Supportato in Phoenix Supportato in Dragon
<voice> Specifica gli effetti vocali e facoltativi (eq_car e eq_telecomhp8k).
<mstts:express-as> Specifica gli stili di pronuncia e i ruoli. No No
<mstts:ttsembedding> Specifica la proprietà speakerProfileId per una voce personale. No
<lang xml:lang> Specifica la lingua parlante.
<prosody> Regola il passo, il contorno, l'intervallo, la frequenza e il volume.
   pitch Indica l'intonazione di base del testo. No No
   contour Rappresenta i cambiamenti di intonazione. No No
   range Rappresenta l'intervallo di passo per il testo. No No
   rate Indica la velocità di pronuncia del testo.
   volume Indica il livello di volume della voce parlante. No No
<emphasis> Aggiunge o rimuove l’accento a livello di parola per il testo. No No
<audio> Incorpora audio pre-registrato in un documento SSML. No
<mstts:audioduration> Specifica la durata dell'audio di output. No No
<mstts:backgroundaudio> Aggiunge audio in background ai documenti SSML o combina un file audio con testo vocale. No
<phoneme> Specifica la pronuncia fonetica nei documenti SSML.
   ipa Uno degli alfabeti fonetici. No
   sapi Uno degli alfabeti fonetici. No No
   ups Uno degli alfabeti fonetici. No
   x-sampa Uno degli alfabeti fonetici. No
<lexicon> Definisce la modalità di lettura di più entità in SSML. Sì (solo alias di supporto)
<say-as> Indica il tipo di contenuto, ad esempio numero o data, del testo dell'elemento.
<sub> Indica che il valore di testo dell'attributo alias deve essere pronunciato al posto del testo racchiuso dell'elemento.
<math> Usa MathML come testo di input per pronunciare correttamente le notazioni matematiche nell'audio di output. No
<bookmark> Ottiene l'offset di ogni marcatore nel flusso audio. No
<break> Esegue l'override del comportamento predefinito di interruzioni o pause tra le parole.
<mstts:silence> Inserisce pause prima o dopo il testo o tra due frasi adiacenti. No
<mstts:viseme> Definisce la posizione del viso e della bocca mentre una persona sta parlando. No
<p> Indica i paragrafi nei documenti SSML.
<s> Indica le frasi nei documenti SSML.

Documentazione di riferimento

Passaggi successivi

  • Altre informazioni sulla voce neurale personalizzata sono disponibili nella panoramica.
  • Altre informazioni su Speech Studio sono disponibili nella panoramica.