> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # Murf L'implémentation vocale Murf dans Mastra fournit des fonctionnalités de synthèse vocale (TTS) à l'aide du service vocal d'IA de Murf. Elle prend en charge plusieurs voix dans différentes langues. ## Exemple d'utilisation ```typescript import { MurfVoice } from '@mastra/voice-murf' // Initialize with default configuration (uses MURF_API_KEY environment variable) const voice = new MurfVoice() // Initialize with custom configuration const voice = new MurfVoice({ speechModel: { name: 'GEN2', apiKey: 'your-api-key', properties: { format: 'MP3', rate: 1.0, pitch: 1.0, sampleRate: 48000, channelType: 'STEREO', }, }, speaker: 'en-US-cooper', }) // Text-to-Speech with default settings const audioStream = await voice.speak('Hello, world!') // Text-to-Speech with custom properties const audioStream = await voice.speak('Hello, world!', { speaker: 'en-UK-hazel', properties: { format: 'WAV', rate: 1.2, style: 'casual', }, }) // Get available voices const voices = await voice.getSpeakers() ``` ## Paramètres du constructeur **speechModel** (`MurfConfig`): Configuration de la fonctionnalité de synthèse vocale (Default: `{ name: 'GEN2' }`) **speechModel.name** (`'GEN1' | 'GEN2'`): Génération du modèle Murf à utiliser **speechModel.apiKey** (`string`): Clé API Murf. Utilise par défaut la variable d'environnement MURF\_API\_KEY **speechModel.properties** (`object`): Propriétés par défaut de toutes les requêtes de synthèse vocale **speechModel.properties.style** (`string`): Style d'élocution de la voix **speechModel.properties.rate** (`number`): Multiplicateur de la vitesse de parole **speechModel.properties.pitch** (`number`): Réglage de la hauteur de la voix **speechModel.properties.sampleRate** (`8000 | 24000 | 44100 | 48000`): Fréquence d'échantillonnage audio en Hz **speechModel.properties.format** (`'MP3' | 'WAV' | 'FLAC' | 'ALAW' | 'ULAW'`): Format audio de sortie **speechModel.properties.channelType** (`'STEREO' | 'MONO'`): Configuration des canaux audio **speechModel.properties.pronunciationDictionary** (`Record`): Correspondances de prononciation personnalisées **speechModel.properties.encodeAsBase64** (`boolean`): Indique s'il faut encoder l'audio en base64 **speechModel.properties.variation** (`number`): Paramètre de variation de la voix **speechModel.properties.audioDuration** (`number`): Durée audio cible en secondes **speechModel.properties.multiNativeLocale** (`string`): Locale utilisée pour la prise en charge multilingue **speaker** (`string`): ID de voix par défaut à utiliser pour la synthèse vocale (Default: `'en-UK-hazel'`) ## Méthodes ### `speak()` Convertit du texte en parole à l'aide de l'API Murf. **input** (`string | NodeJS.ReadableStream`): Texte à convertir en parole. Si un stream est fourni, il sera d'abord converti en texte. **options** (`object`): Options de synthèse vocale **options.speaker** (`string`): Remplace le locuteur par défaut pour cette requête **options.properties** (`object`): Remplace les propriétés vocales par défaut pour cette requête Renvoie : `Promise` ### `getSpeakers()` Renvoie un tableau des options vocales disponibles, où 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()` Cette méthode n'est pas prise en charge par Murf et lève une erreur. Murf ne fournit aucune fonctionnalité de transcription vocale. ## Remarques importantes 1. Une clé API Murf est requise. Définissez-la avec la variable d'environnement `MURF_API_KEY` ou transmettez-la au constructeur. 2. Le service utilise GEN2 comme version de modèle par défaut. 3. Les propriétés vocales peuvent être définies au niveau du constructeur et remplacées pour chaque requête. 4. Le service permet de personnaliser finement l'audio grâce à des propriétés comme le format, la fréquence d'échantillonnage et le type de canal. 5. La transcription vocale n'est pas prise en charge.