edge-tts
Skill0 starsChanged 9 months agoMITView on GitHub
Text-to-speech conversion using node-edge-tts npm package for generating audio from text. Supports multiple voices, languages, speed adjustment, pitch control, and subtitle generation. Use when: (1) User requests audio/voice output with the "tts" trigger or keyword. (2) Content needs to be spoken rather than read (multitasking, accessibility, driving, cooking). (3) User wants a specific voice, speed, pitch, or format for TTS output.
- Installs packages
4 other projects use a version of this, 3 of them edited.
Adopted by
Most recently taken up by
- cadecode/agent-skillsedited, first seen Nov 1, 2026
- aahl/skillsedited, first seen Sep 15, 2026
- opencue/cuecardsedited, first seen Aug 17, 2026
- lisniuse/edge-ttstheir own version, first seen Feb 9, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 3
- aahl/skills★ 15916% same
- opencue/cuecards★ 616% same
- cadecode/agent-skills★ 112% same
Wrote their own version · 1
- lisniuse/edge-tts★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository4 other files it gives its agents.
- exa-mcpSkill
- iflow2apiSkill
- tavilySkill
- xiaohongshu-mcpSkill
The file
We split this skill into the rules it gives an agent
10 rules. About 0 are common, 5 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 17
When you detect TTS intent from triggers or user request:
- Distinctive: line 127
Test different voices and preview audio quality at: https://tts.travisvn.com/
- Distinctive: line 146
Detect intent: Check for "tts" trigger or keyword in user message
- Very specific: line 147
Choose method: Use built-in tts tool for simple requests, or scripts/tts-converter.js for customization
- Distinctive: line 154
Run the test script to verify TTS functionality:
- Very specific: line 165
Use the built-in tts tool for quick testing:
- Very specific: line 182
Test connectivity: Run npm test to check if TTS service is accessible
- Very specific: line 183
Check voice availability: Use node tts-converter.js --list-voices to see available voices
- Very specific: line 184
Verify proxy settings: If using proxy, test with node tts-converter.js "test" --proxy http://localhost:7890
- Distinctive: line 190
No API key needed (free service)
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Edge-TTS Skill
Overview
Generate high-quality text-to-speech audio using Microsoft Edge's neural TTS service via the node-edge-tts npm package. Supports multiple languages, voices, adjustable speed/pitch, and subtitle generation.
Quick Start
When you detect TTS intent from triggers or user request:
- Call the tts tool (Clawdbot built-in) to convert text to speech
- The tool returns a MEDIA: path
- Clawdbot routes the audio to the current channel
// Example: Built-in tts tool usage
tts("Your text to convert to speech")
// Returns: MEDIA: /path/to/audio.mp3Trigger Detection
Recognize "tts" keyword as TTS requests. The skill automatically filters out TTS-related keywords from text before conversion to avoid converting the trigger words themselves to audio.
Advanced Customization
Using the Node.js Scripts
For more control, use the bundled scripts directly:
TTS Converter
cd scripts
npm install
node tts-converter.js "Your text" --voice en-US-AriaNeural --rate +10% --output output.mp3Options:
--voice, -v: Voice name (default: en-US-AriaNeural)--lang, -l: Language code (e.g., en-US, es-ES)--format, -o: Output format (default: audio-24khz-48kbitrate-mono-mp3)--pitch: Pitch adjustment (e.g., +10%, -20%, default)--rate, -r: Rate adjustment (e.g., +10%, -20%, default)--volume: Volume adjustment (e.g., +0%, -10%, default)--save-subtitles, -s: Save subtitles as JSON file--output, -f: Output file path (default: tts_output.mp3)--proxy, -p: Proxy URL (e.g., http://localhost:7890)--timeout: Request timeout in milliseconds (default: 10000)--list-voices, -L: List available voices
Configuration Manager
cd scripts
npm install
node config-manager.js --set-voice en-US-AriaNeural
node config-manager.js --set-rate +10%
node config-manager.js --get
node config-manager.js --resetVoice Selection
Common voices (use --list-voices for full list):
English:
en-US-MichelleNeural(female, natural, default)en-US-AriaNeural(female, natural)en-US-GuyNeural(male, natural)en-GB-SoniaNeural(female, British)en-GB-RyanNeural(male, British)
Other Languages:
es-ES-ElviraNeural(Spanish, Spain)fr-FR-DeniseNeural(French)de-DE-KatjaNeural(German)ja-JP-NanamiNeural(Japanese)zh-CN-XiaoxiaoNeural(Chinese)ar-SA-ZariyahNeural(Arabic)
Rate Guidelines
Rate values use percentage format:
"default": Normal speed"-20%"to"-10%": Slow, clear (tutorials, stories, accessibility)"+10%"to"+20%": Slightly fast (summaries)"+30%"to"+50%": Fast (news, efficiency)
Output Formats
Choose audio quality based on use case:
audio-24khz-48kbitrate-mono-mp3: Standard quality (voice notes, messages)audio-24khz-96kbitrate-mono-mp3: High quality (presentations, content)audio-48khz-96kbitrate-stereo-mp3: Highest quality (professional audio, music)
Resources
scripts/tts-converter.js
Main TTS conversion script using node-edge-tts. Generates audio files with customizable voice, rate, volume, pitch, and format. Supports subtitle generation and voice listing.
scripts/config-manager.js
Manages persistent user preferences for TTS settings (voice, language, format, pitch, rate, volume). Stores config in ~/.tts-config.json.
scripts/package.json
NPM package configuration with node-edge-tts dependency.
references/node_edge_tts_guide.md
Complete documentation for node-edge-tts npm package including:
- Full voice list by language
- Prosody options (rate, pitch, volume)
- Usage examples (CLI and Module)
- Subtitle generation
- Output formats
- Best practices and limitations
Voice Testing
Test different voices and preview audio quality at: https://tts.travisvn.com/
Refer to this when you need specific voice details or advanced features.
Installation
To use the bundled scripts:
cd /home/user/clawd/skills/public/tts-skill/scripts
npm installThis installs:
node-edge-tts- TTS librarycommander- CLI argument parsing
Workflow
- Detect intent: Check for "tts" trigger or keyword in user message
- Choose method: Use built-in
ttstool for simple requests, orscripts/tts-converter.jsfor customization - Generate audio: Convert the target text (message, search results, summary)
- Return to user: The tts tool returns a MEDIA: path; Clawdbot handles delivery
Testing
Basic Test
Run the test script to verify TTS functionality:
cd /home/user/clawd/skills/public/edge-tts/scripts
npm testThis generates a test audio file and verifies the TTS service is working.
Voice Testing
Test different voices and preview audio quality at: https://tts.travisvn.com/
Integration Test
Use the built-in tts tool for quick testing:
// Example: Test TTS with default settings
tts("This is a test of the TTS functionality.")Configuration Test
Verify configuration persistence:
cd /home/user/clawd/skills/public/edge-tts/scripts
node config-manager.js --get
node config-manager.js --set-voice en-US-GuyNeural
node config-manager.js --getTroubleshooting
- Test connectivity: Run
npm testto check if TTS service is accessible - Check voice availability: Use
node tts-converter.js --list-voicesto see available voices - Verify proxy settings: If using proxy, test with
node tts-converter.js "test" --proxy http://localhost:7890 - Check audio output: The test should generate
test-output.mp3in the scripts directory
Notes
- node-edge-tts uses Microsoft Edge's online TTS service (updated, working authentication)
- No API key needed (free service)
- Output is MP3 format by default
- Requires internet connection
- Supports subtitle generation (JSON format with word-level timing)
- Temporary File Handling: By default, audio files are saved to the system's temporary directory (
/tmp/edge-tts-temp/on Unix,C:\Users\<user>\AppData\Local\Temp\edge-tts-temp\on Windows) with unique filenames (e.g.,tts_1234567890_abc123.mp3). Files are not automatically deleted - the calling application (Clawdbot) should handle cleanup after use. You can specify a custom output path with the--outputoption if permanent storage is needed. - TTS keyword filtering: The skill automatically filters out TTS-related keywords (tts, TTS, text-to-speech) from text before conversion to avoid converting the trigger words themselves to audio
- For repeated preferences, use
config-manager.jsto set defaults - Default voice:
en-US-MichelleNeural(female, natural) - Neural voices (ending in
Neural) provide higher quality than Standard voices
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

