Aller au contenu principal

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
Lien direct vers Exemple d'utilisation

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
Lien direct vers Paramètres

Cette méthode n'accepte aucun paramètre.

Valeur renvoyée
Lien direct vers Valeur renvoyée

Promise<Array<{ voiceId: string } & TSpeakerMetadata>>:

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
Lien direct vers Métadonnées propres au Provider

Les différents Providers Voice renvoient des métadonnées différentes pour leurs voix :

voiceId:

string
Identifiant unique de la voix (par exemple, 'alloy', 'echo', 'fable', 'onyx', 'nova', 'shimmer')

Remarques
Lien direct vers 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