Aller au contenu principal

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

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

speechModel?:

MurfConfig
= { name: 'GEN2' }
Configuration de la fonctionnalité de synthèse vocale
MurfConfig

name:

'GEN1' | 'GEN2'
Génération du modèle Murf à utiliser

apiKey?:

string
Clé API Murf. Utilise par défaut la variable d'environnement MURF_API_KEY

properties?:

object
Propriétés par défaut de toutes les requêtes de synthèse vocale
object

style?:

string
Style d'élocution de la voix

rate?:

number
Multiplicateur de la vitesse de parole

pitch?:

number
Réglage de la hauteur de la voix

sampleRate?:

8000 | 24000 | 44100 | 48000
Fréquence d'échantillonnage audio en Hz

format?:

'MP3' | 'WAV' | 'FLAC' | 'ALAW' | 'ULAW'
Format audio de sortie

channelType?:

'STEREO' | 'MONO'
Configuration des canaux audio

pronunciationDictionary?:

Record<string, string>
Correspondances de prononciation personnalisées

encodeAsBase64?:

boolean
Indique s'il faut encoder l'audio en base64

variation?:

number
Paramètre de variation de la voix

audioDuration?:

number
Durée audio cible en secondes

multiNativeLocale?:

string
Locale utilisée pour la prise en charge multilingue

speaker?:

string
= 'en-UK-hazel'
ID de voix par défaut à 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 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
object

speaker?:

string
Remplace le locuteur par défaut pour cette requête

properties?:

object
Remplace les propriétés vocales par défaut pour cette requête

Renvoie : Promise<NodeJS.ReadableStream>

getSpeakers()
Lien direct vers 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()
Lien direct vers 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
Lien direct vers 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.