Назад към всички

windows-tts

// 在 Windows 11 上"直接发声"的 TTS(从 WSL2/TUI 调用 powershell.exe + System.Speech)。适用于用户说"说出来/读出来/语音播报/用TTS",或反馈"没声音/tts 生成的 mp3 是空的/播不出来",以及需要中文语音但 OpenClaw 内置 tts 不可用时。

$ git log --oneline --stat
stars:1,933
forks:367
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
namewindows-tts
description在 Windows 11 上"直接发声"的 TTS(从 WSL2/TUI 调用 powershell.exe + System.Speech)。适用于用户说"说出来/读出来/语音播报/用TTS",或反馈"没声音/tts 生成的 mp3 是空的/播不出来",以及需要中文语音但 OpenClaw 内置 tts 不可用时。

Windows TTS (WSL2)

Use Windows built-in TTS via powershell.exe so audio plays through the Windows 默认输出设备(无需 WSLg/PulseAudio)。

什么时候用这个 skill(触发提示)

当用户出现以下表达时,优先用本 skill,而不是 OpenClaw 内置 tts(后者可能生成空 mp3 或在某些环境无声):

  • "说出来 / 读出来 / 念一下 / 语音播报 / 用 TTS"
  • "还没声音 / 没声音 / 播不出来"
  • "中文语音"且希望直接从电脑扬声器播放

注意:本 skill 是"直接播放",不会返回音频文件路径。

Quick start(直接说出来)

Run from WSL:

bash {baseDir}/scripts/say.sh "你好,我是你的助手。"

List installed voices

bash {baseDir}/scripts/list_voices.sh

Speak with a specific voice

bash {baseDir}/scripts/say.sh --voice "VOICE_NAME" "你好,我以后会用这个声音说话。"

Notes

  • If you embed PowerShell directly in bash, remember: escape $ or use outer single quotes; otherwise bash expands $s and breaks the command.
  • If the user reports errors like =New-Object or TypeName: prompts, prefer the provided scripts instead of ad-hoc quoting.