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'utilisationLien 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 constructeurLien 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éthodesLien 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 importantesLien direct vers Remarques importantes
- Une clé API Murf est requise. Définissez-la avec la variable d'environnement
MURF_API_KEYou transmettez-la au constructeur. - Le service utilise GEN2 comme version de modèle par défaut.
- Les propriétés vocales peuvent être définies au niveau du constructeur et remplacées pour chaque requête.
- 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.
- La transcription vocale n'est pas prise en charge.