lh-edge-tts

Text-to-speech conversion using Python edge-tts 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.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "lh-edge-tts" with this command: npx skills add liuhedev/lh-edge-tts

Edge-TTS Skill

Overview

Generate high-quality text-to-speech audio using Microsoft Edge's neural TTS service via Python edge-tts. Supports multiple languages, voices, adjustable speed/pitch, and subtitle generation (SRT/VTT).

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

Trigger Detection

Recognize "tts" keyword as TTS requests. The skill automatically filters out TTS-related keywords from text before conversion.

Advanced Customization

Using the Python Scripts

For more control, use the bundled scripts directly:

TTS Converter

cd scripts
python3 tts_converter.py "Your text" --voice en-US-AriaNeural --rate +10% -o output.mp3
python3 tts_converter.py -f input.txt --voice zh-CN-XiaoxiaoNeural -o output.mp3
python3 tts_converter.py -f input.txt -v zh-CN-YunxiNeural -r "+10%" -o output.mp3 -s output.vtt

Options:

  • --voice, -v: Voice name (default: en-US-MichelleNeural)
  • --lang, -l: Language code (e.g., en-US, zh-CN)
  • --rate, -r: Rate adjustment (e.g., +10%, -20%)
  • --volume: Volume adjustment (e.g., +0%, -50%)
  • --pitch: Pitch adjustment (e.g., +0Hz, -10Hz)
  • --output, -o: Output file path (default: temp file)
  • --subtitles, -s: Save subtitles to file (.vtt or .srt)
  • --file, -f: Read text from file
  • --proxy, -p: Proxy URL
  • --timeout: Receive timeout in seconds (default: 60)
  • --list-voices, -L: List available voices
  • --lang-filter: Filter voices by language (used with --list-voices)

Configuration Manager

cd scripts
python3 config_manager.py --set voice zh-CN-XiaoxiaoNeural
python3 config_manager.py --set rate "+10%"
python3 config_manager.py --get
python3 config_manager.py --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)

Chinese:

  • zh-CN-XiaoxiaoNeural (female)
  • zh-CN-YunyangNeural (male, news style)
  • zh-CN-YunxiNeural (male, natural)

Other Languages:

  • es-ES-ElviraNeural (Spanish)
  • fr-FR-DeniseNeural (French)
  • de-DE-KatjaNeural (German)
  • ja-JP-NanamiNeural (Japanese)
  • ar-SA-ZariyahNeural (Arabic)

Rate Guidelines

Rate values use percentage format:

  • "+0%": Normal speed (default)
  • "-20%" to "-10%": Slow, clear (tutorials, stories, accessibility)
  • "+10%" to "+20%": Slightly fast (summaries)
  • "+30%" to "+50%": Fast (news, efficiency)

Resources

scripts/tts_converter.py

Main TTS conversion script using edge-tts. Generates audio files with customizable voice, rate, volume, pitch. Supports subtitle generation (VTT/SRT) and voice listing.

scripts/config_manager.py

Manages persistent user preferences for TTS settings. Stores config in ~/.tts-config.json.

Voice Testing

Test different voices and preview audio quality at: https://tts.travisvn.com/

Installation

pip install edge-tts

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.py for customization
  3. Generate audio: Convert the target text
  4. Return to user: The tts tool returns a MEDIA: path; Clawdbot handles delivery

Testing

Basic Test

cd scripts
python3 tts_converter.py "Hello, this is a test." -o test-output.mp3

Chinese Test

python3 tts_converter.py "这是一个测试" -v zh-CN-XiaoxiaoNeural -o test-zh.mp3

List Voices

python3 tts_converter.py --list-voices --lang-filter zh

Configuration Test

python3 config_manager.py --get
python3 config_manager.py --set voice en-US-GuyNeural
python3 config_manager.py --get voice

Notes

  • edge-tts uses Microsoft Edge's online TTS service
  • No API key needed (free service)
  • Output is MP3 format by default
  • Requires internet connection
  • Supports subtitle generation (standard VTT/SRT format)
  • Temporary File Handling: By default, audio files are saved to the system's temporary directory with unique filenames. Specify a custom output path with --output for permanent storage.
  • TTS keyword filtering: Automatically filters out TTS-related keywords from text before conversion
  • Neural voices (ending in Neural) provide higher quality

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

Mac Control

Control Mac via mouse/keyboard automation using cliclick and AppleScript. Use for clicking UI elements, taking screenshots, getting window bounds, handling c...

Registry SourceRecently Updated
Coding

PineTS - PineScript executor

Run Pine Script indicators from the command line using pinets-cli. Use when asked to execute, test, or analyze Pine Script indicators, calculate technical an...

Registry SourceRecently Updated
Coding

Github Cli

Comprehensive GitHub CLI (gh) reference. Covers repos, issues, PRs, Actions, releases, gists, search, projects v2, API, secrets/variables, labels, codespaces...

Registry SourceRecently Updated