tts-autoplay

Auto-play TTS voice files with wake word detection. Only plays audio when user message contains wake words like "语音", "念出来", "voice", etc. Perfect for Webchat users who want conditional voice responses.

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 "tts-autoplay" with this command: npx skills add WangZjhz/tts-autoplay

🔊 TTS AutoPlay Skill v2.0 - with Wake Word Detection

Automatically play TTS voice files only when wake words are detected in user messages.

What's New in v2.0

  • 🎯 Wake Word Detection - Only plays audio when triggered
  • 📝 Smart Filtering - Text-only responses by default
  • 🔊 On-Demand Voice - Say "语音" or "voice" to enable
  • ⚙️ Configurable - Customize your wake words

Wake Words (Default)

Chinese

  • 语音
  • 念出来
  • 读出来
  • 播放语音
  • 用语音
  • 说出来
  • 讲出来
  • 念给我听

English

  • voice
  • speak
  • read it
  • say it
  • read aloud

Quick Start

1. Configure TTS (Tagged Mode)

Edit ~/.openclaw/openclaw.json:

{
  "messages": {
    "tts": {
      "auto": "tagged",  // Changed from "always"
      "provider": "edge",
      "edge": {
        "enabled": true,
        "voice": "zh-CN-XiaoxiaoNeural",
        "lang": "zh-CN"
      }
    }
  }
}

2. Install & Start

# Install skill
clawhub install tts-autoplay
cd skills/tts-autoplay

# Install
powershell -ExecutionPolicy Bypass -File install.ps1

# Start with wake word detection
powershell -ExecutionPolicy Bypass -File tts-autoplay-wakeword.ps1

3. Test

Text-only (default):

你:今天天气怎么样?
AI: [文字] 今天杭州晴朗...

Voice (with wake word):

你:用语音告诉我天气
AI: [语音] 今天杭州晴朗...

Usage Modes

Mode 1: Tagged Mode (Recommended)

TTS only generates audio when [[tts]] tag is present.

Config:

{ "messages": { "tts": { "auto": "tagged" } } }

AI Behavior:

  • Detects wake words in user message
  • Adds [[tts]] tag to response
  • Voice is generated and played

Mode 2: Always Mode (v1.0)

TTS always generates audio for every response.

Config:

{ "messages": { "tts": { "auto": "always" } } }

Script Behavior:

  • Script detects wake words in file path
  • Only plays audio if wake word detected
  • Skips playback for normal messages

Customization

Change Wake Words

Edit tts-autoplay-wakeword.ps1:

$wakeWords = @(
    "语音",
    "念出来",
    "读出来",
    "你的自定义词"  # Add your own
)

Change Detection Mode

Keyword mode (default):

# Matches if any wake word appears in filename
if ($fileName -match $word) { ... }

Exact mode:

# Only matches exact directory names
if ($file.Directory.Name -eq $word) { ... }

Add Time-Based Control

# Disable voice at night
$hour = (Get-Date).Hour
if ($hour -lt 8 -or $hour -ge 23) {
    Write-Log "Night mode: Voice disabled"
    return
}

File Structure

tts-autoplay/
├── SKILL.md                          # Skill metadata
├── README.md                         # This file
├── WAKE-WORD-DESIGN.md              # Wake word design doc
├── tts-autoplay.ps1                 # Basic auto-play (v1.0)
├── tts-autoplay-wakeword.ps1        # With wake word (v2.0)
├── install.ps1                      # Installation script
├── uninstall.ps1                    # Uninstallation script
├── start.bat                        # Windows launcher
└── examples/
    └── config-example.json          # Config examples

Examples

Example 1: Weather Query

Without wake word:

User: 今天天气如何?
AI: [Text only] 今天杭州晴朗,气温 25 度。

With wake word:

User: 用语音告诉我天气
AI: [Voice] 今天杭州晴朗,气温 25 度。

Example 2: News Reading

User: 念一下今天的新闻
AI: [Voice] 好的,今天的主要新闻有...

Example 3: Story Time

User: 讲个故事给我听
AI: [Voice] 从前有座山...

Troubleshooting

Voice Always Plays

Issue: Wake word detection not working

Solution:

  1. Check script is tts-autoplay-wakeword.ps1 (not basic version)
  2. Verify wake words in script
  3. Check log file for detection messages

Voice Never Plays

Issue: Wake words not detected

Solution:

  1. Test with exact wake words from list
  2. Check TTS config is tagged mode
  3. Verify AI is adding [[tts]] tags

Script Errors

Error: Execution Policy

Solution:

powershell -ExecutionPolicy Bypass -File "tts-autoplay-wakeword.ps1"

Performance

  • CPU: <1% (idle), <5% (detecting)
  • Memory: <50MB
  • Detection latency: <1 second
  • False positive rate: <1% (with default words)

Security & Privacy

  • ✅ Local file monitoring only
  • ✅ No external API calls
  • ✅ No data collection
  • ✅ Wake words stored locally

Comparison

Featurev1.0 (Always)v2.0 (Wake Word)
Voice on every message
Wake word detection
Text-only mode
Configurable triggers
Battery friendly
Best forTesting/DemoDaily use

Use Cases

✅ Good for Wake Word Mode

  • Daily conversations (mostly text)
  • Office environments (quiet needed)
  • Battery-powered devices
  • Multi-user scenarios
  • Accessibility (on-demand voice)

✅ Good for Always Mode

  • Testing TTS setup
  • Visually impaired users
  • Driving scenarios
  • Hands-free operation

Advanced Features

Multi-Language Support

$wakeWords = @{
    'zh-CN' = @('语音', '念出来', '读出来')
    'en-US' = @('voice', 'speak', 'read it')
    'ja-JP' = @('音声', '読んで')
}

Context-Aware Detection

# Only enable voice for specific topics
if ($userMessage -match '新闻 | 故事 | 文章') {
    $enableVoice = $true
}

User Preferences

# Load user-specific wake words
$config = Get-Content "user-config.json" | ConvertFrom-Json
$wakeWords = $config.wakeWords

License

MIT License

Credits

  • Author: ZhaoZhao (爪爪)
  • Inspired by: OpenClaw community
  • TTS: Microsoft Edge TTS

Changelog

v2.0.0 (2026-02-27)

  • ✅ Wake word detection
  • ✅ Tagged mode support
  • ✅ Configurable trigger words
  • ✅ Smart filtering
  • ✅ Improved logging

v1.0.0 (2026-02-27)

  • ✅ Initial release
  • ✅ Basic auto-play
  • ✅ File monitoring
  • ✅ WMPlayer integration

Enjoy smart voice playback! 🎉

For detailed wake word design, see WAKE-WORD-DESIGN.md.

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.

General

Feishu Voice Loop

Accept text or voice input, transcribe if needed, generate natural OpenAI TTS speech, and send audio output to Feishu chat or web player.

Registry SourceRecently Updated
1150Profile unavailable
General

Elevenlabs Tts

ElevenLabs TTS (Text-to-Speech) with emotional audio tags for expressive voice synthesis. WhatsApp-compatible voice messages with Opus conversion. Supports 7...

Registry SourceRecently Updated
5K6Profile unavailable
General

Voice

Convert text to speech using Microsoft Edge's TTS engine with customizable voices, direct playback, and automatic temporary file cleanup.

Registry SourceRecently Updated
1.9K0Profile unavailable
General

Text to Speech

Generate speech audio from text using HeyGen's Starfish TTS model. Use when: (1) Generating standalone speech audio files from text, (2) Converting text to s...

Registry SourceRecently Updated
2681Profile unavailable