← 返回
沟通协作

TTS AutoPlay with Wake Word

Auto-play TTS voice files with wake word detection. Only plays audio when user message contains wake words like "语音", "念出来", "voice", etc. Perfect for Webcha...
Auto-play TTS voice files with wake word detection. Only plays audio when user message contains wake words like "语音", "念出来", "voice", etc. Perfect for Webcha...
wangzjhz
沟通协作 clawhub v2.0.1 1 版本 100000 Key: 无需
★ 0
Stars
📥 929
下载
💾 45
安装
1
版本
#audio#autoplay#latest#powershell#tts#voice#wake-word#webchat#windows

概述

🔊 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.

版本历史

共 1 个版本

  • v2.0.1 当前
    2026-03-30 02:09 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

communication-collaboration

Gmail

byungkyu
Gmail API 集成,托管 OAuth,支持读取、发送和管理邮件、线程、标签及草稿,适用于需要与 Gmail 交互的场景。
★ 72 📥 37,725
communication-collaboration

Slack

steipete
当需要通过 slack 工具从 Clawdbot 控制 Slack 时使用,包括在频道或私信中回复消息或置顶/取消置顶项目。
★ 157 📥 47,678
communication-collaboration

Himalaya

lamelas
{"answer":"通过IMAP/SMTP管理邮件的CLI。可在终端使用 `himalaya` 收发、回复、转发、搜索及整理邮件。支持多账户与MML(MIME元语言)编写邮件。"}
★ 68 📥 45,585