名称: edge-tts
描述: |
使用 node-edge-tts npm 包进行文本转语音,支持从文本生成音频。
支持多种语音、语言、语速调整、音高控制和字幕生成。
使用场景:(1) 用户通过 "tts" 触发词或关键词请求音频/语音输出。(2) 内容需要被朗读而非阅读(多任务处理、无障碍访问、驾驶、烹饪)。(3) 用户希望为 TTS 输出指定特定的语音、语速、音高或格式。
通过 node-edge-tts npm 包,利用微软 Edge 的神经 TTS 服务生成高质量的文本转语音音频。支持多种语言、语音、可调节的语速/音高以及字幕生成。
当您从触发词或用户请求中检测到 TTS 意图时:
MEDIA: 路径。// 示例:内置 tts 工具用法
tts("您要转换为语音的文本")
// 返回:MEDIA: /path/to/audio.mp3
识别 "tts" 关键词作为 TTS 请求。该技能会在转换前自动从文本中过滤掉 TTS 相关的关键词,以避免将触发词本身转换为音频。
如需更多控制,可直接使用捆绑的脚本:
cd scripts
npm install
node tts-converter.js "您的文本" --voice en-US-AriaNeural --rate +10% --output output.mp3
选项:
- --voice, -v: 语音名称(默认:en-US-AriaNeural)
- --lang, -l: 语言代码(例如:en-US, es-ES)
- --format, -o: 输出格式(默认:audio-24khz-48kbitrate-mono-mp3)
- --pitch: 音高调整(例如:+10%, -20%, default)
- --rate, -r: 语速调整(例如:+10%, -20%, default)
- --volume: 音量调整(例如:+0%, -10%, default)
- --save-subtitles, -s: 将字幕保存为 JSON 文件
- --output, -f: 输出文件路径(默认:tts_output.mp3)
- --proxy, -p: 代理 URL(例如:http://localhost:7890)
- --timeout: 请求超时时间(毫秒,默认:10000)
- --list-voices, -L: 列出可用语音
cd scripts
npm install
node config-manager.js --set-voice en-US-AriaNeural
node config-manager.js --set-rate +10%
node config-manager.js --get
node config-manager.js --reset
常用语音(使用 --list-voices 查看完整列表):
英语:
- en-US-MichelleNeural(女声,自然,默认)
- en-US-AriaNeural(女声,自然)
- en-US-GuyNeural(男声,自然)
- en-GB-SoniaNeural(女声,英式)
- en-GB-RyanNeural(男声,英式)
其他语言:
- es-ES-ElviraNeural(西班牙语,西班牙)
- fr-FR-DeniseNeural(法语)
- de-DE-KatjaNeural(德语)
- ja-JP-NanamiNeural(日语)
- zh-CN-XiaoxiaoNeural(中文)
- ar-SA-ZariyahNeural(阿拉伯语)
语速值使用百分比格式:
- "default": 正常速度
- "-20%" 到 "-10%": 缓慢、清晰(教程、故事、无障碍访问)
- "+10%" 到 "+20%": 稍快(摘要)
- "+30%" 到 "+50%": 快速(新闻、高效场景)
根据用例选择音频质量:
- audio-24khz-48kbitrate-mono-mp3: 标准质量(语音笔记、消息)
- audio-24khz-96kbitrate-mono-mp3: 高质量(演示、内容)
- audio-48khz-96kbitrate-stereo-mp3: 最高质量(专业音频、音乐)
使用 node-edge-tts 的主要 TTS 转换脚本。生成具有可自定义语音、语速、音量、音高和格式的音频文件。支持字幕生成和语音列表。
管理 TTS 设置(语音、语言、格式、音高、语速、音量)的持久化用户偏好。配置存储在 ~/.tts-config.json 中。
包含 node-edge-tts 依赖项的 NPM 包配置。
node-edge-tts npm 包的完整文档,包括:
- 按语言分类的完整语音列表
- 韵律选项(语速、音高、音量)
- 使用示例(CLI 和模块)
- 字幕生成
- 输出格式
- 最佳实践和限制
测试不同语音并预览音频质量:https://tts.travisvn.com/
当您需要特定语音详细信息或高级功能时,请参考此链接。
要使用捆绑的脚本:
cd /home/user/clawd/skills/public/tts-skill/scripts
npm install
这将安装:
- node-edge-tts - TTS 库
- commander - CLI 参数解析
tts 工具,对于自定义需求使用 scripts/tts-converter.jsMEDIA: 路径;Clawdbot 处理交付运行测试脚本以验证 TTS 功能:
cd /home/user/clawd/skills/public/edge-tts/scripts
npm test
这将生成一个测试音频文件并验证 TTS 服务是否正常工作。
测试不同语音并预览音频质量:https://tts.travisvn.com/
使用内置 tts 工具进行快速测试:
// 示例:使用默认设置测试 TTS
tts("这是 TTS 功能的测试。")
验证配置持久性:
cd /home/user/clawd/skills/public/edge-tts/scripts
node config-manager.js --get
node config-manager.js --set-voice en-US-GuyNeural
node config-manager.js --get
npm test 检查 TTS 服务是否可访问node tts-converter.js --list-voices 查看可用语音node tts-converter.js "test" --proxy http://localhost:7890 进行测试test-output.mp3/tmp/edge-tts-temp/,Windows 上为 C:\Users\<user>\AppData\Local\Temp\edge-tts-temp\),文件名唯一(例如 tts_1234567890_abc123.mp3)。文件不会自动删除——调用应用程序(Clawdbot)应在使用后处理清理。如果需要永久存储,可以使用 --output 选项指定自定义输出路径。config-manager.js 设置默认值en-US-MichelleNeural(女声,自然)Neural 结尾)比标准语音提供更高质量