voice/murf/README.md
Murf Voice integration for Mastra, providing Text-to-Speech (TTS) capabilities using Murf's AI voice technology.
npm install @mastra/voice-murf
The module requires the following environment variable:
MURF_API_KEY=your_api_key
import { MurfVoice } from '@mastra/voice-murf';
// Or generate speech from a text stream
import { Readable } from 'stream';
// Initialize with configuration
const voice = new MurfVoice({
speechModel: {
name: 'GEN2', // Optional, defaults to 'GEN2'
apiKey: 'your-api-key', // Optional, can use MURF_API_KEY env var
},
speaker: 'en-US-natalie', // Optional, defaults to first available voice
});
// Or use with defaults (using env vars)
const defaultVoice = new MurfVoice();
// List available speakers
const speakers = await voice.getSpeakers();
// Generate speech from text
const stream = await voice.speak('Hello from Mastra!');
const textStream = Readable.from(['Hello', ' from', ' stream', ' input!']);
const audioStream = await voice.speak(textStream);
// Speech recognition is not supported
try {
await voice.listen(audioStream);
} catch (error) {
console.error(error); // "Murf does not support speech recognition"
}
Murf provides a variety of voices with different accents and styles:
View the complete list in the voices.ts file or Murf's documentation.