← Back to Skills Marketplace
onlyloveher

Edge Tts

by onlyloveher · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
115
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install edge-tts-v1
Description
Text-to-speech conversion using node-edge-tts npm package for generating audio from text. Supports multiple voices, languages, speed adjustment, pitch contro...
README (SKILL.md)

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:

  1. Call the tts tool (Clawdbot built-in) to convert text to speech
  2. The tool returns a MEDIA: path
  3. 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.mp3

Trigger 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.mp3

Options:

  • --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 --reset

Voice 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 install

This installs:

  • node-edge-tts - TTS library
  • commander - CLI argument parsing

Workflow

  1. Detect intent: Check for "tts" trigger or keyword in user message
  2. Choose method: Use built-in tts tool for simple requests, or scripts/tts-converter.js for customization
  3. Generate audio: Convert the target text (message, search results, summary)
  4. 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 test

This 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 --get

Troubleshooting

  • Test connectivity: Run npm test to check if TTS service is accessible
  • Check voice availability: Use node tts-converter.js --list-voices to 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.mp3 in 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\\x3Cuser>\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 --output option 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.js to set defaults
  • Default voice: en-US-MichelleNeural (female, natural)
  • Neural voices (ending in Neural) provide higher quality than Standard voices
Usage Guidance
This package appears to implement the stated TTS functionality and uses the npm node-edge-tts library. Before installing: (1) verify the skill's source/provenance (metadata in the bundle is inconsistent across files); (2) inspect package-lock.json and consider running 'npm audit' to check for known issues; (3) install and run the scripts in a sandbox or test environment first since npm will fetch dependencies from the registry; (4) be aware the skill will create ~/.tts-config.json and write audio files to your temp directory; (5) the optional proxy setting can redirect network traffic if configured — leave it empty unless you control the proxy. If provenance cannot be confirmed, prefer obtaining the node-edge-tts library from a known source or the official npm package and review code before use.
Capability Assessment
Purpose & Capability
Name/description (Edge TTS) align with included files: tts-converter.js, config-manager.js, package.json and package-lock reference node-edge-tts and commander. The files implement a CLI and helper that produce audio and subtitles as described. One note: SKILL metadata/provenance fields are inconsistent across files (registry metadata, _meta.json, skill-info.json, skill.yaml show differing versions/owner/homepage), which reduces confidence in the package origin but does not contradict functionality.
Instruction Scope
SKILL.md instructs the agent to use the built-in tts tool or the bundled scripts. The scripts operate on input text, create audio files in the system temp dir and store preferences in ~/.tts-config.json. The instructions do not ask the agent to read unrelated files, access secrets, or exfiltrate data. The doc references an external preview site (https://tts.travisvn.com/) for voice testing — this is an out-of-band resource (not required for operation) and should be considered an external dependency.
Install Mechanism
No arbitrary downloads are used; installation is npm-based (install.sh and script-level npm install). package-lock.json enumerates dependencies from the npm registry (node-edge-tts, commander, and transitive deps). This is a common, low-to-moderate risk install pattern; it will fetch code from npm, so standard npm supply-chain risks apply.
Credentials
The skill declares no required environment variables or credentials. The code asks only for optional proxy/timeout settings and stores a per-user config file (~/.tts-config.json). There are no demands for unrelated cloud credentials or tokens.
Persistence & Privilege
always:false (no forced global presence). The skill persists only a per-user config file (~/.tts-config.json) and writes temporary audio files to the system temp directory; it does not attempt to modify other skills or system-wide settings.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install edge-tts-v1
  3. After installation, invoke the skill by name or use /edge-tts-v1
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of the edge-tts skill, providing advanced text-to-speech features: - Converts text to speech using node-edge-tts and Microsoft Edge neural voices. - Supports customizable voices, languages, speed, pitch, and subtitle generation. - Includes scripts for CLI and programmatic TTS operations, and a config manager for persistent user settings. - Integrates with Clawdbot for automatic audio delivery. - Filters out TTS-related trigger keywords before conversion.
Metadata
Slug edge-tts-v1
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Edge Tts?

Text-to-speech conversion using node-edge-tts npm package for generating audio from text. Supports multiple voices, languages, speed adjustment, pitch contro... It is an AI Agent Skill for Claude Code / OpenClaw, with 115 downloads so far.

How do I install Edge Tts?

Run "/install edge-tts-v1" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Edge Tts free?

Yes, Edge Tts is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Edge Tts support?

Edge Tts is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Edge Tts?

It is built and maintained by onlyloveher (@onlyloveher); the current version is v1.0.0.

💬 Comments