OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  edge-tts:高性能的微软 Edge 文本转语音工具

edge-tts:高性能的微软 Edge 文本转语音工具

 
  integration ·  2026-02-05 21:53:00 · 3 次点击  · 0 条评论  

名称: edge-tts
描述: |
使用 node-edge-tts npm 包进行文本转语音,支持从文本生成音频。
支持多种语音、语言、语速调整、音高控制和字幕生成。
使用场景:(1) 用户通过 "tts" 触发词或关键词请求音频/语音输出。(2) 内容需要被朗读而非阅读(多任务处理、无障碍访问、驾驶、烹饪)。(3) 用户希望为 TTS 输出指定特定的语音、语速、音高或格式。


Edge-TTS 技能

概述

通过 node-edge-tts npm 包,利用微软 Edge 的神经 TTS 服务生成高质量的文本转语音音频。支持多种语言、语音、可调节的语速/音高以及字幕生成。

快速开始

当您从触发词或用户请求中检测到 TTS 意图时:

  1. 调用 tts 工具(Clawdbot 内置)将文本转换为语音。
  2. 该工具返回一个 MEDIA: 路径。
  3. Clawdbot 将音频路由到当前频道。
// 示例:内置 tts 工具用法
tts("您要转换为语音的文本")
// 返回:MEDIA: /path/to/audio.mp3

触发检测

识别 "tts" 关键词作为 TTS 请求。该技能会在转换前自动从文本中过滤掉 TTS 相关的关键词,以避免将触发词本身转换为音频。

高级自定义

使用 Node.js 脚本

如需更多控制,可直接使用捆绑的脚本:

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: 最高质量(专业音频、音乐)

资源

scripts/tts-converter.js

使用 node-edge-tts 的主要 TTS 转换脚本。生成具有可自定义语音、语速、音量、音高和格式的音频文件。支持字幕生成和语音列表。

scripts/config-manager.js

管理 TTS 设置(语音、语言、格式、音高、语速、音量)的持久化用户偏好。配置存储在 ~/.tts-config.json 中。

scripts/package.json

包含 node-edge-tts 依赖项的 NPM 包配置。

references/node_edge_tts_guide.md

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 参数解析

工作流程

  1. 检测意图:检查用户消息中是否存在 "tts" 触发词或关键词
  2. 选择方法:对于简单请求使用内置 tts 工具,对于自定义需求使用 scripts/tts-converter.js
  3. 生成音频:转换目标文本(消息、搜索结果、摘要)
  4. 返回给用户:tts 工具返回一个 MEDIA: 路径;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 进行测试
  • 检查音频输出:测试应在 scripts 目录中生成 test-output.mp3

注意事项

  • node-edge-tts 使用微软 Edge 的在线 TTS 服务(已更新,身份验证有效)
  • 无需 API 密钥(免费服务)
  • 默认输出为 MP3 格式
  • 需要网络连接
  • 支持字幕生成(JSON 格式,带单词级时间戳)
  • 临时文件处理:默认情况下,音频文件保存在系统的临时目录中(Unix 上为 /tmp/edge-tts-temp/,Windows 上为 C:\Users\<user>\AppData\Local\Temp\edge-tts-temp\),文件名唯一(例如 tts_1234567890_abc123.mp3)。文件不会自动删除——调用应用程序(Clawdbot)应在使用后处理清理。如果需要永久存储,可以使用 --output 选项指定自定义输出路径。
  • TTS 关键词过滤:该技能会在转换前自动从文本中过滤掉 TTS 相关关键词(tts, TTS, text-to-speech),以避免将触发词本身转换为音频
  • 对于重复的偏好设置,请使用 config-manager.js 设置默认值
  • 默认语音en-US-MichelleNeural(女声,自然)
  • 神经语音(以 Neural 结尾)比标准语音提供更高质量
3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor