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'utilisationLien direct vers 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 :
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)
ConfigurationLien direct vers Configuration
Options du constructeurLien direct vers Options du constructeur
speechModel?:
apiKey?:
region?:
voiceName?:
language?:
listeningModel?:
apiKey?:
region?:
voiceName?:
language?:
speaker?:
MéthodesLien direct vers Méthodes
speak()Lien direct vers speak
Convertit du texte en parole à l'aide du service de synthèse vocale neuronale d'Azure.
input:
options?:
speaker?:
Renvoie : Promise<NodeJS.ReadableStream> - Flux audio au format WAV
listen()Lien direct vers listen
Transcrit un contenu audio à l'aide du service de reconnaissance vocale d'Azure.
audioStream:
Renvoie : Promise<string> - 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()Lien direct vers getspeakers
Renvoie un tableau des options de voix disponibles (plus de 200 voix), dont chaque élément contient :
voiceId:
language:
region:
Renvoie : Promise<Array<{ voiceId: string; language: string; region: string; }>>
Remarques importantesLien direct vers Remarques importantes
Azure Speech Services et Azure OpenAILien direct vers 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_KEYavec 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'environnementLien direct vers 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 ServicesAZURE_REGION- Votre région Azure (par exemple, 'eastus', 'westeurope')
Capacités vocalesLien direct vers 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 disponiblesLien direct vers 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 :
const voices = await voice.getSpeakers()
console.log(voices) // Array of { voiceId, language, region }
Pour plus d'informations, consultez la documentation Azure Neural TTS.