Back to skills
extension
Category: OtherAPI key required

xiaomi-local-tts

调用本地 `XiaomiTTS.exe` 命令行工具,将文本文件转换为语音文件,支持流式合成模式。

personAuthor: user_2e3aa695hubcommunity

小米本地文本转语音 (Xiaomi TTS) Skill

1. 技能名称

xiaomi-local-tts

2. 技能描述

调用本地scripts目录下的 XiaomiTTS.exe 命令行工具,将文本文件转换为语音文件。该技能基于小米自研TTS引擎,支持高自然度语音合成及流式输出,适用于实时语音播报、有声书生成及语音助手场景。 XiaomiTTS.exe从这儿下载压缩包,https://gitee.com/Megadotnet/XiaomiTTS/releases/download/v0.3/XiaoMiTTS-win-64-single.zip, 解压后重命名XiaomiTTS.exe

3. 版本

1.2.0 (已支持文件输入、流式合成与完整功能)

4. 作者

megadotnet

5. 目标与定位

  • 目标:将文本文件内容转换为高质量语音,支持流式处理以降低延迟。
  • 定位:本地化、高性能的文本转语音执行器,依赖 XiaomiTTS.exe 二进制文件。

6. 激活条件与边界

激活条件: 当用户请求"朗读文本文件"、"生成语音文件"、"将文本转为语音"或明确提及"使用小米TTS"时触发。

不激活场景

  • 用户仅需要文本摘要或翻译。
  • 用户未提供文本文件或文本内容。

7. 核心规则与约束

  1. 输入处理
    • 必须提供文本文件路径作为输入,不支持直接文本参数。
    • 需要MIMO_API_KEY环境变量进行身份验证。
    • 文本文件应为UTF-8编码,支持中英文混合内容。
  2. 流式支持
    • 当用户要求"实时朗读"或"边生成边播放"时,必须启用 --stream 标志。
  3. 文件管理
    • 输出文件默认为输入文件名加.wav后缀。
    • 支持自定义输出文件路径和格式。
  4. 环境要求
    • 需要.NET 9.0运行时环境。
    • 必须设置MIMO_API_KEY环境变量。

8. 标准执行流程 (SOP)

  1. 参数解析:提取输入文件路径、输出文件路径(可选)、流式标志。
  2. 环境验证:检查MIMO_API_KEY环境变量是否设置。
  3. 输入验证:确认输入文本文件存在且可读。
  4. 命令构建
    • 基础命令:XiaomiTTS.exe <input_file> [output_file]
    • 若启用流式:追加 --stream
  5. 执行与反馈
    • 调用系统Shell执行命令。
    • 捕获合成进度和结果信息。
    • 确认输出文件生成成功。

9. 参数说明

| 参数名 | 类型 | 必填 | 默认值 | 描述 | | :--- | :--- | :--- | :--- | :--- | | input_file | string | | - | 包含待合成文本的文件路径。 | | output_file | string | 否 | <input_file>.wav | 目标音频文件路径,支持.wav格式。 | | stream | boolean | 否 | false | 是否启用流式合成模式,降低延迟。 | | api_key | string | | - | MIMO_API_KEY环境变量,用于身份验证。 |

10. 环境变量

| 变量名 | 类型 | 必填 | 描述 | | :--- | :--- | :--- | :--- | | MIMO_API_KEY | string | | 小米TTS服务的API密钥,必须预先设置。 |

11. 示例调用

场景 A:基本文本转语音

用户指令:"请将test.txt文件转换为语音"

工具调用参数

{
  "input_file": "test.txt",
  "output_file": "test.wav"
}

场景 B:流式语音合成(实时播报)

用户指令:"请用小米TTS实时朗读test.txt文件内容"

工具调用参数

{
  "input_file": "test.txt",
  "stream": true
}

场景 C:自定义输出路径

用户指令:"将input.txt转换为output.wav"

工具调用参数

{
  "input_file": "input.txt",
  "output_file": "output.wav"
}

12. 错误处理

  • 文件不存在:返回明确的错误信息,提示检查输入文件路径。
  • API密钥缺失:提示设置MIMO_API_KEY环境变量。
  • 编码错误:建议使用UTF-8编码保存文本文件。
  • 合成失败:返回具体的错误原因和解决建议。

13. 性能特征

  • 合成速度:约15字符/秒(非流式模式)。
  • 输出格式:16kHz采样率,单声道,WAV格式。
  • 文件大小:约10KB/秒语音内容。
  • 内存使用:流式模式下内存占用更低。

14. 使用限制

  • 文本长度:建议单次合成不超过10000字符。
  • 文件格式:输入必须为纯文本文件(.txt)。
  • 网络要求:需要网络连接进行TTS服务调用。
  • 并发限制:建议单进程使用,避免并发调用。