Synthèse vocale
Note
Pour plus d’informations, consultez l’onglet Texte et images !
La synthèse vocale, souvent appelée synthèse vocale (TTS), concerne les données vocalisantes, généralement en convertissant du texte en parole. La synthèse vocale génère généralement une voix audible à partir d’une source textuelle.
Une solution de synthèse vocale nécessite généralement les informations suivantes :
- Texte à prononcer
- Voix à utiliser pour vocaliser le discours
Pour synthétiser la voix, le système tokenise généralement le texte pour le décomposer en mots individuels et affecte des sons phonétiques à chaque mot. Il interrompt ensuite la transcription phonétique en unités prosodiques (telles que des expressions, des clauses ou des phrases). Le système crée des phonèmes à partir des unités prosodiciques. Ces phonèmes sont ensuite synthétisés en tant qu’audio et peuvent être attribués à une voix, une fréquence de parole, un pitch et un volume particuliers.
Vous pouvez utiliser la sortie de la synthèse vocale à de nombreuses fins, telles que :
- Génération de réponses parlées à l’entrée utilisateur.
- Lecture à haute voix des messages.
- Annonces de diffusion.
Azure Speech - Synthèse de texte en parole
Azure Speech inclut une API de synthèse vocale que nous pouvons explorer dans le portail Microsoft Foundry.
L’API de synthèse vocale vous permet de convertir une entrée de texte en parole audible, qui peut être lue directement via un haut-parleur d’ordinateur ou écrite dans un fichier audio. Le service inclut plusieurs voix prédéfinies avec prise en charge de plusieurs langues et prononciation régionale, y compris les voix neuronales qui utilisent des réseaux neuronaux. Les voix neuronales peuvent surmonter les limitations courantes de la synthèse vocale, telles que les problèmes d’intonation, ce qui entraîne une voix plus naturelle. Vous pouvez également développer des voix personnalisées et les utiliser avec l’API de synthèse vocale.
Dans le nouveau portail Microsoft Foundry, nous pouvons explorer les fonctionnalités de synthèse vocale d’Azure Speech dans le terrain de jeu Foundry. Dans l'environnement de test Azure Speech - Synthèse vocale, vous pouvez choisir une voix synthétique parmi la sélection disponible. Vous pouvez également ajuster certains paramètres pour contrôler la livraison de l’audio, comme la vitesse et la hauteur. La sortie audio est générée à partir du texte synthétisé.
Utilisation du Kit de développement logiciel (SDK) de synthèse vocale Azure
Vous pouvez utiliser Azure Speech pour développer une application qui utilise la synthèse vocale. Le SDK Azure Text-to-Speech permet aux applications de convertir du texte écrit en audio parlé naturel.
Le Kit de développement logiciel (SDK) permet à votre application :
- Envoyer du texte à Azure Speech
- Générer de l’audio parlé à l’aide de voix neuronales
- Lire ou enregistrer l’audio sur des haut-parleurs ou un fichier audio
Le SDK gère l’authentification, la communication réseau, la mise en forme audio et la lecture afin de pouvoir vous concentrer sur l’expérience de votre application.
Développement d’une application
Le Kit de développement logiciel (SDK) de synthèse vocale est généralement utilisé dans :
- Applications clientes pour convertir du texte en synthèse vocale et la lire immédiatement (par exemple, une application de bureau ou mobile)
- Services principaux : pour générer des fichiers audio pour la lecture ultérieure
Après avoir installé le Kit de développement logiciel (SDK) Python, vous pouvez créer et exécuter votre programme. Considérez le code Python suivant. Lorsque vous l’exécutez :
- Votre application initialise le Kit de développement logiciel (SDK) Speech : fournit un point de terminaison et une authentification (clé ou ID Microsoft Entra)
- Le texte est fourni
- Le texte est envoyé à Azure Speech : le Kit de développement logiciel (SDK) gère la demande et la mise en forme
- Exécutions de synthèse vocale dans le cloud : les modèles neuronaux génèrent de l’audio
- L’audio est retourné : votre application lit, diffuse ou enregistre temporairement l’audio
import os
import azure.cognitiveservices.speech as speechsdk
# This example requires environment variables named "FOUNDRY_KEY" and "ENDPOINT"
speech_config = speechsdk.SpeechConfig(subscription=os.environ.get('FOUNDRY_KEY'), endpoint=os.environ.get('ENDPOINT'))
audio_config = speechsdk.audio.AudioOutputConfig(use_default_speaker=True)
# The neural multilingual voice can speak different languages based on the input text.
speech_config.speech_synthesis_voice_name='en-US-Ava:DragonHDLatestNeural'
speech_synthesizer = speechsdk.SpeechSynthesizer(speech_config=speech_config, audio_config=audio_config)
# Get text from the console and synthesize to the default speaker.
print("Enter some text that you want to speak >")
text = input()
speech_synthesis_result = speech_synthesizer.speak_text_async(text).get()
if speech_synthesis_result.reason == speechsdk.ResultReason.SynthesizingAudioCompleted:
print("Speech synthesized for text [{}]".format(text))
elif speech_synthesis_result.reason == speechsdk.ResultReason.Canceled:
cancellation_details = speech_synthesis_result.cancellation_details
print("Speech synthesis canceled: {}".format(cancellation_details.reason))
if cancellation_details.reason == speechsdk.CancellationReason.Error:
if cancellation_details.error_details:
print("Error details: {}".format(cancellation_details.error_details))
print("Did you set the speech resource key and endpoint values?")
Exemple d’application cliente
Par exemple, supposons que vous créez une application qui vocalise des messages texte. Dans l’éditeur de code, vous disposez d’un fichier texte et d’un fichier Python qui contient du code d’application.
Tout d’abord, connectez-vous au point de terminaison pour Azure Speech. Ensuite, créez un SpeechSynthesizer objet. Ensuite, l’application traite le fichier texte contenant le message et utilise l’objet SpeechSynthesizer pour générer l’audio parlé.
Lorsque vous exécutez l’application, elle prend le texte et retourne une sortie audio du message.
Découvrez ensuite comment incorporer des fonctionnalités de reconnaissance vocale dans une application avec Azure Speech - Voice Live.