Skip to content
rholin33Public

About

mimo tts test frontend

Resources

Stars

6 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

MiMo V2.5 TTS Test Console

一个本地 MiMo TTS 测试台,用于测试以下三个模型:

  • mimo-v2.5-tts
  • mimo-v2.5-tts-voicedesign
  • mimo-v2.5-tts-voiceclone

项目是零依赖 Node 服务:同一个进程提供静态前端页面和本地 API 代理。API Key 只在服务端读取,不暴露到浏览器代码里。

功能

  • 三个 MiMo V2.5 TTS 模型切换测试。
  • 内置多段名著测试文本。
  • MiMo-V2.5-TTS 支持内置音色选择。
  • VoiceDesign 支持输入音色描述。
  • VoiceClone 支持上传 mp3/wav 或浏览器录音。
  • 上传样本超过 MiMo base64 10 MB 限制时,前端会自动截取一段较适合的人声片段并转为 wav。
  • 生成结果会缓存到本地服务器;相同模型、文本、音色、指令和参考音频再次生成时会直接播放缓存文件。
  • 支持播放和下载返回音频。
  • 提供请求 JSON 预览,便于调试。

API 调用方式

MiMo 官方 TTS 文档使用 OpenAI 兼容的聊天补全接口:

  • Endpoint: POST <MIMO_API_BASE_URL>/chat/completions
  • Header: api-key: <MIMO_API_KEY>
  • 合成文本放在 assistant message 的 content
  • 风格指令或音色描述放在 user message 的 content
  • 音频参数放在 audio
  • 返回音频位于 choices[0].message.audio.data

官方文档:https://platform.xiaomimimo.com/static/docs/usage-guide/speech-synthesis-v2.5.md

环境变量

复制 .env.example 为 .env,然后填入你的 API Key。

MIMO_API_KEY=your_mimo_api_key_here
# Standard MiMo API: https://api.xiaomimimo.com/v1
# Token Plan CN API: https://token-plan-cn.xiaomimimo.com/v1
MIMO_API_BASE_URL=https://api.xiaomimimo.com/v1
PORT=8787
HOST=127.0.0.1
TTS_CACHE_DIR=.cache/tts

变量说明:

  • MIMO_API_KEY:MiMo 开放平台 API Key。
  • MIMO_API_BASE_URL:MiMo API Base URL。普通开放平台默认使用 https://api.xiaomimimo.com/v1;如果使用 Token Plan,中国区一般使用 https://token-plan-cn.xiaomimimo.com/v1。
  • PORT:本地服务端口,默认 8787。
  • HOST:监听地址。本地运行推荐 127.0.0.1,Docker 运行需要 0.0.0.0。
  • TTS_CACHE_DIR:TTS 文件缓存目录,默认 .cache/tts。公网部署建议挂载持久化目录或 Docker volume。

本地运行

项目不需要安装第三方依赖,Node.js 18+ 即可。

npm run dev

打开:

http://127.0.0.1:8787

健康检查:

Invoke-RestMethod http://127.0.0.1:8787/api/health

测试和检查

npm test
npm run build

npm test 会验证 MiMo payload 构造、VoiceClone data URL 校验、返回音频解析等服务端逻辑。npm run build 使用 node --check 做语法检查。

TTS 文件缓存

服务端会用完整 MiMo 请求 payload 生成 SHA-256 cache key。参与缓存匹配的内容包括模型、合成文本、风格指令、内置音色,以及 VoiceClone 的参考音频 data URL。

缓存命中时,服务端不会再次调用 MiMo API,而是返回 /api/audio/<cache-key>.<ext>。页面会直接播放本地服务器上的音频文件,并显示缓存命中状态。

缓存目录默认是 .cache/tts,可以用 TTS_CACHE_DIR 修改。

Docker 构建

docker build -t mimo-tts-test .

Docker Run 示例

使用环境变量直接运行:

docker run --rm `
  -p 8787:8787 `
  -v mimo-tts-cache:/app/.cache/tts `
  -e HOST=0.0.0.0 `
  -e PORT=8787 `
  -e TTS_CACHE_DIR="/app/.cache/tts" `
  -e MIMO_API_KEY="your_mimo_api_key_here" `
  -e MIMO_API_BASE_URL="https://api.xiaomimimo.com/v1" `
  mimo-tts-test

如果使用 Token Plan,中国区通常把 MIMO_API_BASE_URL 改为:

-e MIMO_API_BASE_URL="https://token-plan-cn.xiaomimimo.com/v1"

使用 .env 文件运行:

docker run --rm `
  -p 8787:8787 `
  -v mimo-tts-cache:/app/.cache/tts `
  --env-file .env `
  -e HOST=0.0.0.0 `
  -e TTS_CACHE_DIR="/app/.cache/tts" `
  mimo-tts-test

浏览器访问:

http://127.0.0.1:8787

VoiceClone 样本建议

页面会提示这些建议,且只作为建议:

  • 使用清晰、单人、少背景声的人声片段。
  • mp3 或 wav 都可以。
  • 几秒到几十秒都可以,通常 10-30 秒更稳定。
  • 文件过大时无需手动裁剪,页面会自动截取一段较合适内容。

目录结构

.
├── index.html
├── src/
│   ├── main.js
│   └── styles.css
├── server/
│   ├── index.js
│   ├── audioCache.js
│   ├── audioCache.test.js
│   ├── mimoApi.js
│   ├── mimoApi.test.js
│   └── runTests.js
├── .env.example
├── Dockerfile
└── package.json

About

mimo tts test frontend

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages