Text to Voice Local

👤 betonimig 📦 v1.4.0 ⭐ 4.3 ⬇️ 744 下载
🎨 设计多媒体 免费

📖 技能介绍


name: text-to-voice-local description: Local text-to-voice generation for OpenClaw workspaces using a canonical txt-to-mp3 pipeline. Use when the user wants to turn any prepared text into voice, asks to set up or reuse a local text-to-speech workflow, wants one canonical output mp3 path, wants a reusable wrapper for Telegram voice delivery, or wants to replicate the same text-to-voice setup on another OpenClaw instance.


Text to Voice Local

Use the bundled scripts to create one stable local text-to-voice path.

Goal

Produce voice from any text file with: - one canonical input text path, - one canonical output mp3 path, - one high-level wrapper for routine use, - low-level scripts for debugging only.

Canonical paths

Default input text: - tmp/text-to-voice-input.txt

Canonical output: - tmp/voice-mode-latest.mp3

State directory: - skills/text-to-voice-local/state/

State pointer: - skills/text-to-voice-local/state/last-output.txt

Main command

For normal use, run: - scripts/text_to_voice.sh voice <text-file> [voice] [max_direct_chars]

Useful helpers: - scripts/text_to_voice.sh status - scripts/text_to_voice.sh voices

status now also checks runtime dependencies and prints install hints when something is missing.

Examples:

scripts/text_to_voice.sh text
scripts/text_to_voice.sh voice ./tmp/text-to-voice-input.txt
scripts/text_to_voice.sh voice ./tmp/text.txt ru-RU-SvetlanaNeural 280

想要更强大的技能插件,就来小葱技能站7w4.net看看吧。

What the scripts do

  • scripts/text_to_voice.sh
  • high-level entrypoint for normal use
  • scripts/tts_from_file.sh
  • one text file to one mp3
  • scripts/tts_from_file_chunked.sh
  • long text to multiple chunks and final merged mp3
  • scripts/voice_reply.sh
  • safe wrapper that updates canonical output and pointer
  • scripts/voice_reply_latest.sh
  • always refresh canonical latest mp3
  • state/text-to-voice.json
  • stores default voice, max chars, and canonical paths
  • scripts/edge_tts.js
  • low-level TTS helper used by the file wrappers

Install notes

Ensure these dependencies exist on the target machine: - node - ffmpeg - node-edge-tts

The skill checks these at runtime and, if something is missing, prints suggested install commands instead of failing silently.

Verify:

node -v
ffmpeg -version
node -e "require('node-edge-tts'); console.log('node-edge-tts ok')"

If node-edge-tts is missing:

npm i -g node-edge-tts

Setup steps on another OpenClaw

  1. Copy this skill folder into the target workspace skills directory.
  2. Make scripts executable.
  3. Ensure tmp/ exists.
  4. Put text into a txt file.
  5. Run the main command.

Minimal setup:

chmod +x skills/text-to-voice-local/scripts/*.sh
mkdir -p tmp
skills/text-to-voice-local/scripts/text_to_voice.sh voice ./tmp/text-to-voice-input.txt

Delivery rule

If the result is sent as Telegram voice, send only the canonical file: - ./tmp/voice-mode-latest.mp3

Prefer sending text and voice as separate messages.

Important constraint

Progress printed by shell scripts is useful in terminal diagnostics, but chat-side live progress editing depends on OpenClaw preview streaming, not shell stdout alone.

When to use low-level scripts

Use low-level scripts only for debugging or careful manual control. Default to the high-level wrapper unless there is a reason not to.

🤖 AI 评测

这是一款质量较好的本地语音合成工具,能把文字转成语音。它最大的优点是使用简单、依赖检查到位、安装迁移文档详细,遇到问题会主动提示解决方法。进度条功能让等待过程不那么无聊。不足之处是进度条实际上是假的等待动画,另外依赖微软在线语音服务,在某些网络环境下可能不稳定。总体来说,这是一个成熟可用的语音工具,适合需要频繁制作语音内容的用户。

📊 多维度评分

适应性4.1
规范性4.1
有效性4.6
可靠性4.2
可信度4.6

📁 包含文件 (10 个)

📄 SKILL.md 3.3 KB
📄 _meta.json 138 B
📄 scripts/edge_tts.js 1.2 KB
📄 scripts/text_to_voice.sh 4.3 KB
📄 scripts/tts_from_file.sh 686 B
📄 scripts/tts_from_file_chunked.sh 2.5 KB
📄 scripts/voice_reply.sh 1.1 KB
📄 scripts/voice_reply_latest.sh 659 B
📄 state/last-output.txt 52 B
📄 state/text-to-voice.json 226 B