> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # voice.getSpeakers() La méthode `getSpeakers()` récupère la liste des options de voix disponibles (locuteurs) auprès du Provider Voice. Les applications peuvent proposer aux utilisateurs un choix de voix ou sélectionner par programmation la voix la plus appropriée selon le contexte. ## Exemple d'utilisation ```typescript import { OpenAIVoice } from '@mastra/voice-openai' import { ElevenLabsVoice } from '@mastra/voice-elevenlabs' // Initialize voice providers const openaiVoice = new OpenAIVoice() const elevenLabsVoice = new ElevenLabsVoice({ apiKey: process.env.ELEVENLABS_API_KEY, }) // Get available speakers from OpenAI const openaiSpeakers = await openaiVoice.getSpeakers() console.log('OpenAI voices:', openaiSpeakers) // Example output: [{ voiceId: "alloy" }, { voiceId: "echo" }, { voiceId: "fable" }, ...] // Get available speakers from ElevenLabs const elevenLabsSpeakers = await elevenLabsVoice.getSpeakers() console.log('ElevenLabs voices:', elevenLabsSpeakers) // Example output: [{ voiceId: "21m00Tcm4TlvDq8ikWAM", name: "Rachel" }, ...] // Use a specific voice for speech const text = 'Hello, this is a test of different voices.' await openaiVoice.speak(text, { speaker: openaiSpeakers[2].voiceId }) await elevenLabsVoice.speak(text, { speaker: elevenLabsSpeakers[0].voiceId }) ``` ## Paramètres Cette méthode n'accepte aucun paramètre. ## Valeur renvoyée **Promise\>** (`Promise`): Une promesse qui se résout en un tableau d'options de voix, dont chacune contient au moins une propriété voiceId et peut inclure des métadonnées supplémentaires propres au Provider. ## Métadonnées propres au Provider Les différents Providers Voice renvoient des métadonnées différentes pour leurs voix : **OpenAI**: **voiceId** (`string`): Identifiant unique de la voix (par exemple, 'alloy', 'echo', 'fable', 'onyx', 'nova', 'shimmer') **OpenAI Realtime**: **voiceId** (`string`): Identifiant unique de la voix (par exemple, 'alloy', 'echo', 'fable', 'onyx', 'nova', 'shimmer') **Deepgram**: **voiceId** (`string`): Identifiant unique de la voix **language** (`string`): Code de langue intégré à l'identifiant de la voix (par exemple, 'en') **ElevenLabs**: **voiceId** (`string`): Identifiant unique de la voix **name** (`string`): Nom lisible de la voix **category** (`string`): Catégorie de la voix (par exemple, 'premade', 'cloned') **Google**: **voiceId** (`string`): Identifiant unique de la voix **languageCodes** (`string[]`): Tableau des codes de langue pris en charge par la voix (par exemple, \['en-US']) **Azure**: **voiceId** (`string`): Identifiant unique de la voix **language** (`string`): Code de langue extrait de l'identifiant de la voix (par exemple, 'en') **region** (`string`): Code de région extrait de l'identifiant de la voix (par exemple, 'US') **Murf**: **voiceId** (`string`): Identifiant unique de la voix **name** (`string`): Nom de la voix (identique à voiceId) **language** (`string`): Code de langue extrait de l'identifiant de la voix (par exemple, 'en') **gender** (`string`): Genre de la voix (toujours 'neutral' dans l'implémentation actuelle) **PlayAI**: **voiceId** (`string`): Identifiant unique de la voix (URL S3 vers manifest.json) **name** (`string`): Nom lisible de la voix (par exemple, 'Angelo', 'Arsenio') **accent** (`string`): Accent de la voix (par exemple, 'US', 'Irish', 'US African American') **gender** (`string`): Genre de la voix ('M' ou 'F') **age** (`string`): Catégorie d'âge de la voix (par exemple, 'Young', 'Middle') **style** (`string`): Style d'élocution de la voix (par exemple, 'Conversational') **Speechify**: **voiceId** (`string`): Identifiant unique de la voix **name** (`string`): Nom lisible de la voix **language** (`string`): Code de langue de la voix (par exemple, 'en-US') **Sarvam**: **voiceId** (`string`): Identifiant unique de la voix **name** (`string`): Nom lisible de la voix **language** (`string`): Langue de la voix (par exemple, 'english', 'hindi') **gender** (`string`): Genre de la voix ('male' ou 'female') ## Remarques - Les voix disponibles varient considérablement d'un Provider à l'autre - Certains Providers peuvent nécessiter une authentification pour récupérer la liste complète des voix - L'implémentation par défaut renvoie un tableau vide si le Provider ne prend pas en charge cette méthode - Pour des raisons de performances, envisagez de mettre les résultats en cache si vous devez afficher fréquemment la liste - La présence de la propriété `voiceId` est garantie pour tous les Providers, mais les métadonnées supplémentaires varient