Aller au contenu principal

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
Lien 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 constructeur
Lien 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éthodes
Lien 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 importantes
Lien direct vers 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.