plugins/plugin-edge-tts/README.md
Free text-to-speech plugin for ElizaOS using Microsoft Edge TTS. No API key required.
npm install @elizaos/plugin-edge-tts
import { edgeTTSPlugin } from "@elizaos/plugin-edge-tts";
const runtime = new AgentRuntime({
plugins: [edgeTTSPlugin],
// ... other config
});
// Use via runtime
const audio = await runtime.useModel(ModelType.TEXT_TO_SPEECH, "Hello world!");
All configuration is optional:
| Variable | Default | Description |
|---|---|---|
EDGE_TTS_VOICE | en-US-MichelleNeural | Voice ID |
EDGE_TTS_LANG | en-US | Language code |
EDGE_TTS_OUTPUT_FORMAT | audio-24khz-48kbitrate-mono-mp3 | Output format |
EDGE_TTS_RATE | - | Rate adjustment (e.g., +10%, -5%) |
EDGE_TTS_PITCH | - | Pitch adjustment (e.g., +5Hz, -10Hz) |
EDGE_TTS_VOLUME | - | Volume adjustment (e.g., +20%, -10%) |
EDGE_TTS_PROXY | - | HTTP proxy URL |
EDGE_TTS_TIMEOUT_MS | 30000 | Request timeout |
en-US-MichelleNeural - Female (default)en-US-GuyNeural - Maleen-US-JennyNeural - Femaleen-US-AriaNeural - Femaleen-US-DavisNeural - Maleen-US-ChristopherNeural - Maleen-GB-SoniaNeural - Femaleen-GB-RyanNeural - Malede-DE-KatjaNeural - German Femalefr-FR-DeniseNeural - French Femalees-ES-ElviraNeural - Spanish Femaleja-JP-NanamiNeural - Japanese Femalezh-CN-XiaoxiaoNeural - Chinese Femaleko-KR-SunHiNeural - Korean FemaleFor compatibility with OpenAI's TTS API, the following voice names are mapped:
| OpenAI Voice | Edge TTS Voice |
|---|---|
alloy | en-US-GuyNeural |
echo | en-US-ChristopherNeural |
fable | en-GB-RyanNeural |
onyx | en-US-DavisNeural |
nova | en-US-JennyNeural |
shimmer | en-US-AriaNeural |
Edge TTS is not available in browser environments because it requires:
For browser TTS, use @elizaos/plugin-elevenlabs or @elizaos/plugin-openai instead.
MIT