voice

🔊 多语言智能语音合成与播报

基于 Microsoft Edge TTS 引擎的多语言语音合成技能,支持直接播放与文件生成,但存在命令注入风险需谨慎使用。

收藏
8.5k
安装
2.7k
版本
v1.0.1
CLS 安全性认证2026-05-15
点击查看完整报告 >

使用说明

Voice Skill 是一款基于 Microsoft Edge TTS 引擎的文本转语音工具,通过集成 edge-tts 库为用户提供高质量的语音合成服务。该技能支持多种调用方式,包括直接语音播报(speak)、生成音频文件(tts)、播放本地音频(play)、查询可用音色(voices)以及自动清理临时文件(cleanup),满足从即时播放到文件存档的不同场景需求。

核心用法上,用户可通过简单的 JavaScript API 调用实现文本转语音。推荐直接使用 speak 动作进行即时播报,系统会在播放后 5 秒自动清理临时文件;也可使用 tts 动作生成 MEDIA 格式的音频链接,支持自定义语速(rate)、音量(volume)、音调(pitch)及多种语言音色(如中文的小晓、云希,英文的 Wavenet 系列)。技能内置了对中文、英文、日语、韩语等多语言的支持,并提供了文件老化清理机制(默认 1 小时)。

显著优点包括依托微软 Edge 的神经网络 TTS 技术,语音自然度高;支持丰富的参数调节和多种优质音色;自动化的临时文件管理减少了存储负担;API 设计简洁,易于集成到自动化工作流中。

然而,该技能存在明显的局限性。首先,它依赖于 Python 3.x 环境和 edge-tts 第三方库,部署前需执行 pip 安装,增加了环境复杂度。其次,所有语音合成必须通过 Microsoft Edge 的在线服务完成,必须保持网络连接,且存在数据传输隐私考量。最关键的是,当前版本存在严重的命令注入安全漏洞,输入文本仅过滤了双引号,未对反引号、$()、分号等危险字符进行有效过滤,攻击者可通过构造恶意文本执行任意系统命令。

适合的目标群体主要是个人开发者、本地自动化脚本编写者以及需要离线语音播报辅助功能的内容创作者。对于需要处理不可信用户输入的生产环境、企业级应用或高安全要求场景,当前版本完全不适用。

使用该技能可能存在的常规风险包括:命令注入导致的远程代码执行风险;依赖外部网络服务的可用性和稳定性风险;临时文件目录的读写权限风险;以及 Python 环境依赖缺失或版本不兼容导致的运行故障。建议仅在隔离环境中使用,并严格限制输入来源的可信度。

安全解读

核心用法

Voice Skill 提供一站式文本转语音(TTS)解决方案,底层调用 edge-tts(Microsoft Edge 在线 TTS 引擎)。主要功能包括:

| 动作 | 用途 | 关键参数 |
|------|------|---------|
| `speak` | 直接朗读文本,自动清理临时文件 | `text` |
| `tts` | 生成音频文件(MEDIA 链接) | `text`, `playImmediately`, `options` |
| `play` | 播放本地已有音频 | `filePath` |
| `voices` | 列出所有可用语音 | 无 |
| `cleanup` | 清理过期临时文件 | `options.hoursOld` |

语音参数定制:支持 voice(音色)、rate(语速 ±%)、volume(音量 ±%)、pitch(音调 ±Hz),覆盖中文(晓晓、云希等)、英语、日语、韩语等数十种神经网络语音。

典型代码示例

// 直接朗读(推荐)
await skill.execute({ action: 'speak', text: '你好,今天怎么样?' });

// 生成并播放自定义语音
await skill.execute({
  action: 'tts',
  text: '欢迎使用语音助手',
  playImmediately: true,
  options: { voice: 'zh-CN-YunxiNeural', rate: '+10%' }
});

显著优点

1. 零成本高质量语音:依托 Microsoft Edge 免费在线 TTS,语音自然度接近真人,无需 Azure 订阅或 API Key。
2. 多语言原生支持:内置数十种神经网络语音,中文场景特别优化(晓晓、云希等网红音色)。

3. 灵活播放模式speak 动作实现"即说即播、自动清理",避免临时文件堆积;tts 动作支持文件复用与 MEDIA 系统集成。

4. 代码结构清晰:采用面向对象设计,TTS 生成、音频播放、文件清理模块分离,易于二次开发。

5. 隐私合规:本地处理文本,不持久化用户数据,临时文件默认 1 小时(直接播放 5 秒)自动清理,符合 GDPR 数据最小化原则。

潜在缺点与局限性

1. 网络依赖性edge-tts 需实时连接 Microsoft 在线服务,离线环境无法使用;网络波动可能导致合成延迟或失败。
2. 社区维护风险edge-tts 为个人开发者开源项目(非 Microsoft 官方),长期维护状态、服务可用性存在不确定性。

3. 命令执行风险:当前实现使用 child_process.exec 拼接命令字符串,虽已转义但仍存在潜在注入风险;建议升级至 spawn 参数数组模式。

4. 平台差异:音频播放依赖系统播放器(afplay/aplay/powershell),跨平台兼容性需额外测试。

5. 无语音流式输出:需等待完整音频生成后才播放,长文本场景延迟较明显。

适合人群

  • 智能家居/机器人开发者:需要低成本、多语言语音交互方案。
  • 内容创作者:批量生成配音、有声书素材,替代付费 TTS 服务。
  • 无障碍应用开发者:为视障用户提供屏幕朗读辅助功能。
  • 教育类应用:语言学习场景中的发音示范与跟读训练。

常规风险

  • 服务中断:Microsoft 可能调整 Edge TTS 接口,导致 edge-tts 失效;建议关注上游更新并预留降级方案。
  • 依赖漏洞:需定期审计 edge-tts 及其依赖树的安全通告。
  • 输入长度风险:超长文本可能导致内存占用或合成超时,建议业务层做长度限制与分段处理。
  • 临时文件管理:虽然自动清理,但在异常崩溃场景下可能残留文件,建议定期手动触发 cleanup

安全认证摘要

经 CLS-Certify v2.1.0 全量扫描,获得 S 级安全评级(85 分)。静态代码分析、动态行为分析、依赖审计、网络分析、隐私合规、威胁情报六项均通过。主要发现 3 项低风险问题:命令执行方式建议优化(execspawn)、外部依赖需持续关注、音频播放器路径验证可加强。

voice 内容

手动下载zip · 7.0 kB
CHANGELOG.mdtext/markdown
请选择文件