ElevenLabs
L’implémentation vocale d’ElevenLabs dans Mastra fournit des fonctionnalités de synthèse vocale (TTS) et de transcription vocale (STT) de haute qualité au moyen de l’API ElevenLabs.
Exemple d’utilisationLien direct vers Exemple d’utilisation
import { ElevenLabsVoice } from '@mastra/voice-elevenlabs'
// Initialize with default configuration (uses ELEVENLABS_API_KEY environment variable)
const voice = new ElevenLabsVoice()
// Initialize with custom configuration
const voice = new ElevenLabsVoice({
speechModel: {
name: 'eleven_multilingual_v2',
apiKey: 'your-api-key',
},
speaker: 'custom-speaker-id',
})
// Text-to-Speech
const audioStream = await voice.speak('Hello, world!')
// Get available speakers
const speakers = await voice.getSpeakers()
Paramètres du constructeurLien direct vers Paramètres du constructeur
speechModel?:
ElevenLabsVoiceConfig
= { name: 'eleven_multilingual_v2' }
Configuration de la fonctionnalité de synthèse vocale.
ElevenLabsVoiceConfig
name?:
ElevenLabsModel
Modèle ElevenLabs à utiliser
apiKey?:
string
Clé d’API ElevenLabs. Utilise par défaut la variable d’environnement ELEVENLABS_API_KEY
speaker?:
string
= '9BWtsMINqrJLrRacOk9x' (voix Aria)
ID de la voix à utiliser pour la synthèse vocale
MéthodesLien direct vers Méthodes
speak()Lien direct vers speak
Convertit du texte en parole à l’aide du modèle vocal et de la voix configurés.
input:
string | NodeJS.ReadableStream
Texte à convertir en parole. Si un flux est fourni, il est d’abord converti en texte.
options?:
object
Options supplémentaires de synthèse vocale
object
speaker?:
string
Remplace l’ID de la voix par défaut pour cette requête
Renvoie : Promise<NodeJS.ReadableStream>
getSpeakers()Lien direct vers getspeakers
Renvoie un tableau des options de voix disponibles, dans lequel chaque élément contient :
voiceId:
string
Identifiant unique de la voix
name:
string
Nom d’affichage de la voix
language:
string
Code de langue de la voix
gender:
string
Genre de la voix
listen()Lien direct vers listen
Convertit une entrée audio en texte au moyen de l’API Speech-to-Text d’ElevenLabs.
input:
NodeJS.ReadableStream
Flux lisible contenant les données audio à transcrire
options?:
object
Options de configuration de la transcription
L’objet d’options prend en charge les propriétés suivantes :
language_code?:
string
Code de langue ISO (par exemple, 'en', 'fr', 'es')
tag_audio_events?:
boolean
Indique si les événements audio tels que [MUSIC], [LAUGHTER], etc. doivent être balisés
num_speakers?:
number
Nombre de voix à détecter dans le son
filetype?:
string
Format du fichier audio (par exemple, 'mp3', 'wav', 'ogg')
timeoutInSeconds?:
number
Délai d’expiration de la requête, en secondes
maxRetries?:
number
Nombre maximal de nouvelles tentatives
abortSignal?:
AbortSignal
Signal permettant d’interrompre la requête
Renvoie : Promise<string> - Promise résolue avec le texte transcrit
Remarques importantesLien direct vers Remarques importantes
- Une clé d’API ElevenLabs est requise. Définissez-la au moyen de la variable d’environnement
ELEVENLABS_API_KEYou transmettez-la au constructeur. - La voix par défaut est Aria (ID : '9BWtsMINqrJLrRacOk9x').
- La fonctionnalité de transcription vocale n’est pas prise en charge par ElevenLabs.
- Les voix disponibles peuvent être récupérées à l’aide de la méthode
getSpeakers(), qui renvoie des informations détaillées sur chacune d’elles, notamment sa langue et son genre.