> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # Azure La classe AzureVoice de Mastra fournit des fonctionnalités de synthèse et de reconnaissance vocales à l'aide de Microsoft Azure Cognitive Services. ## Exemple d'utilisation Cette utilisation nécessite des identifiants Azure Speech Services, qui peuvent être fournis par des variables d'environnement ou directement dans la configuration : ```typescript import { AzureVoice } from '@mastra/voice-azure' // Initialize with configuration const voice = new AzureVoice({ speechModel: { apiKey: 'your-azure-speech-api-key', // Or use AZURE_API_KEY env var region: 'eastus', // Or use AZURE_REGION env var voiceName: 'en-US-AriaNeural', // Optional: specific voice for TTS }, listeningModel: { apiKey: 'your-azure-speech-api-key', // Or use AZURE_API_KEY env var region: 'eastus', // Or use AZURE_REGION env var language: 'en-US', // Optional: recognition language for STT }, speaker: 'en-US-JennyNeural', // Optional: default voice }) // Convert text to speech const audioStream = await voice.speak('Hello, how can I help you?', { speaker: 'en-US-GuyNeural', // Optional: override default voice }) // Convert speech to text const text = await voice.listen(audioStream) ``` ## Configuration ### Options du constructeur **speechModel** (`AzureSpeechConfig`): Configuration de la synthèse vocale. **speechModel.apiKey** (`string`): Clé API Azure Speech Services (PAS une clé Azure OpenAI). Utilise la variable d'environnement AZURE\_API\_KEY à défaut. **speechModel.region** (`string`): Région Azure (par exemple, 'eastus', 'westeurope'). Utilise la variable d'environnement AZURE\_REGION à défaut. **speechModel.voiceName** (`string`): Identifiant de la voix pour la synthèse vocale (par exemple, 'en-US-AriaNeural', 'en-US-JennyNeural'). Utilisé uniquement dans speechModel. Consultez la liste des voix ci-dessous. **speechModel.language** (`string`): Code de langue de la reconnaissance (par exemple, 'en-US', 'fr-FR'). Utilisé uniquement dans listeningModel. **listeningModel** (`AzureSpeechConfig`): Configuration de la reconnaissance vocale. **listeningModel.apiKey** (`string`): Clé API Azure Speech Services (PAS une clé Azure OpenAI). Utilise la variable d'environnement AZURE\_API\_KEY à défaut. **listeningModel.region** (`string`): Région Azure (par exemple, 'eastus', 'westeurope'). Utilise la variable d'environnement AZURE\_REGION à défaut. **listeningModel.voiceName** (`string`): Identifiant de la voix pour la synthèse vocale (par exemple, 'en-US-AriaNeural', 'en-US-JennyNeural'). Utilisé uniquement dans speechModel. Consultez la liste des voix ci-dessous. **listeningModel.language** (`string`): Code de langue de la reconnaissance (par exemple, 'en-US', 'fr-FR'). Utilisé uniquement dans listeningModel. **speaker** (`string`): Identifiant par défaut de la voix pour la synthèse vocale. ## Méthodes ### `speak()` Convertit du texte en parole à l'aide du service de synthèse vocale neuronale d'Azure. **input** (`string | NodeJS.ReadableStream`): Texte ou flux de texte à convertir en parole. **options** (`Options`): Options de configuration. **options.speaker** (`string`): Identifiant de la voix à utiliser pour la synthèse vocale (par exemple, 'en-US-JennyNeural'). Remplace la voix par défaut. Renvoie : `Promise` - Flux audio au format WAV ### `listen()` Transcrit un contenu audio à l'aide du service de reconnaissance vocale d'Azure. **audioStream** (`NodeJS.ReadableStream`): Flux audio à transcrire. Doit être au format WAV. Renvoie : `Promise` - Texte reconnu à partir du contenu audio Les paramètres de langue et de reconnaissance sont définis dans la configuration `listeningModel` lors de l'initialisation ; ils ne sont pas transmis en tant qu'options à cette méthode. ### `getSpeakers()` Renvoie un tableau des options de voix disponibles (plus de 200 voix), dont chaque élément contient : **voiceId** (`string`): Identifiant unique de la voix (par exemple, 'en-US-JennyNeural', 'fr-FR-DeniseNeural') **language** (`string`): Code de langue extrait de l'identifiant de la voix (par exemple, 'en', 'fr') **region** (`string`): Code de région extrait de l'identifiant de la voix (par exemple, 'US', 'GB', 'FR') Renvoie : `Promise>` ## Remarques importantes ### Azure Speech Services et Azure OpenAI **⚠️ Important :** ce package utilise **Azure Speech Services**, qui est distinct d'**Azure OpenAI Services**. - **N'utilisez pas** votre `AZURE_OPENAI_API_KEY` avec ce package - **Utilisez** une clé d'abonnement Azure Speech Services (à obtenir dans le portail Azure, sous « Speech Services ») - Il s'agit de ressources Azure distinctes, avec des clés API et des endpoints différents ### Variables d'environnement Les clés API et les régions peuvent être fournies au moyen des options du constructeur ou de variables d'environnement : - `AZURE_API_KEY` - Votre clé d'abonnement Azure Speech Services - `AZURE_REGION` - Votre région Azure (par exemple, 'eastus', 'westeurope') ### Capacités vocales - Azure propose plus de 200 voix neuronales dans plus de 50 langues - Chaque identifiant de voix suit le format : `{language}-{region}-{name}Neural` (par exemple, 'en-US-JennyNeural') - Certaines voix sont multilingues ou proposent des variantes en qualité HD - La sortie audio est au format WAV - L'entrée audio destinée à la reconnaissance doit être au format WAV ## Voix disponibles Azure propose plus de 200 voix neuronales dans de nombreuses langues. Parmi les voix anglaises les plus populaires figurent : - **Anglais américain :** - `en-US-AriaNeural` (féminine, par défaut) - `en-US-JennyNeural` (féminine) - `en-US-GuyNeural` (masculine) - `en-US-DavisNeural` (masculine) - `en-US-AvaNeural` (féminine) - `en-US-AndrewNeural` (masculine) - **Anglais britannique :** - `en-GB-SoniaNeural` (féminine) - `en-GB-RyanNeural` (masculine) - `en-GB-LibbyNeural` (féminine) - **Anglais australien :** - `en-AU-NatashaNeural` (féminine) - `en-AU-WilliamNeural` (masculine) Pour obtenir la liste complète des plus de 200 voix : ```typescript const voices = await voice.getSpeakers() console.log(voices) // Array of { voiceId, language, region } ``` Pour plus d'informations, consultez la [documentation Azure Neural TTS](https://learn.microsoft.com/en-us/azure/cognitive-services/speech-service/language-support?tabs=tts).