> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # 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’utilisation ```typescript 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 constructeur **speechModel** (`ElevenLabsVoiceConfig`): Configuration de la fonctionnalité de synthèse vocale. (Default: `{ name: 'eleven_multilingual_v2' }`) **speechModel.name** (`ElevenLabsModel`): Modèle ElevenLabs à utiliser **speechModel.apiKey** (`string`): Clé d’API ElevenLabs. Utilise par défaut la variable d’environnement ELEVENLABS\_API\_KEY **speaker** (`string`): ID de la voix à utiliser pour la synthèse vocale (Default: `'9BWtsMINqrJLrRacOk9x' (voix Aria)`) ## Méthodes ### `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 **options.speaker** (`string`): Remplace l’ID de la voix par défaut pour cette requête Renvoie : `Promise` ### `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()` 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` - Promise résolue avec le texte transcrit ## Remarques importantes 1. Une clé d’API ElevenLabs est requise. Définissez-la au moyen de la variable d’environnement `ELEVENLABS_API_KEY` ou transmettez-la au constructeur. 2. La voix par défaut est Aria (ID : '9BWtsMINqrJLrRacOk9x'). 3. La fonctionnalité de transcription vocale n’est pas prise en charge par ElevenLabs. 4. 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.