Skip to content
Agentmart
Submit a tool

benchmark-rabispeech-models

运行或更新 RabiSpeech 本机语音模型闭环基准。用于新增、替换或比较本地 TTS / ASR 模型,测试首请求、加载、预热、热态耗时、RTF、显存、波形和 CER,并从统一公开语料生成 JSON、CSV 及 RibiWebGUI 内可查看的 HTML 报告;也用于维护 TTS / ASR…

Skill by vb2250158

IndexedMIT★ 492
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/vb2250158-benchmark-rabispeech-models

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

运行或更新 RabiSpeech 本机语音模型闭环基准。用于新增、替换或比较本地 TTS / ASR 模型,测试首请求、加载、预热、热态耗时、RTF、显存、波形和 CER,并从统一公开语料生成 JSON、CSV 及 RibiWebGUI 内可查看的 HTML 报告;也用于维护 TTS / ASR 功能支持矩阵和硬件建议。显式 API Provider 的可用性烟测属于语音工作站,不得混入本机模型基线。

Use cases: spreadsheets, frontend, backend, llm-evaluation, audio-video

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/benchmark-rabispeech-models

What's inside

Skill name
benchmark-rabispeech-models
Description
运行或更新 RabiSpeech 本机语音模型闭环基准。用于新增、替换或比较本地 TTS / ASR 模型,测试首请求、加载、预热、热态耗时、RTF、显存、波形和 CER,并从统一公开语料生成 JSON、CSV 及 RibiWebGUI 内可查看的 HTML 报告;也用于维护 TTS / ASR 功能支持矩阵和硬件建议。显式 API Provider 的可用性烟测属于语音工作站,不得混入本机模型基线。
License
MIT
Instructions
120 lines in SKILL.md · view on GitHub

Files (2)

  • SKILL.md
  • openai.yaml · agents/

SKILL.md (first lines)

# RabiSpeech 模型闭环基准

把脚本当执行器,把本 skill 当顺序和口径。项目根目录记为 `<repo>`。

## 固定边界

- 只测试已安装、已缓存的本地模型;不启用、恢复或调用云 API。
- RabiSpeech 可以支持用户显式启用的 HTTPS API Provider,但该能力只做独立烟测和运行时验收;不能与本地模型结果混排、冒充本机耗时或本机显存数据。需要验证 API Provider 时改用 `rabiroute-voice-workstation`。
- 按 `TTS -> WAV -> ASR` 顺序执行。每个 ASR 必须识别每个 TTS 的同一批音频。
- 复用 `plugin-adapters/rabi-speech/benchmarks/cases.zh-CN.json`;除非测试目标就是语料版本升级,不为某个模型临时换题。
- 原始 WAV、worker 日志和 JSON 放在插件 `output/benchmarks/<date>-<name>/`,不要提交。
- 公开 HTML 不写 token、参考音路径、角色私有资料、模型缓存路径或运行期绝对路径。

## 1. 准备运行目录

创建一个新的基准目录,复制或直接引用固定语料。先记录测试机的 OS、CPU、RAM、GPU、驱动、模型版本和实际 execution provider,并更新 `benchmarks/report-metadata.json`。

确认要测的 TTS worker 已经在本机回环地址运行。冷启动比较需要显式重启对应 worker;如果测试前已经 ready,必须把首条标为 `already-warm`,不能冒充冷启动。

先通过 `GET /api/speech/models` 或 `GET /v1/models` 读取真实模型与请求 Schema,不要靠旧报告或 Skill 中的模型名单猜当前安装状态。角色声线、参考音和 Provider 声线 ID 都不是公开基准参数;若测试需要角色素材,只能在本机传入,报告中必须脱敏。

## 2. 先测试每个 TTS

对每个 worker 各执行一次:

```powershell
py -3.10 plugin-adapters\rabi-speech\scripts\benchmark_models.py tts `
  --engine <stable-engine-id> `
  --url http://127.0.0.1:<worker-port> `
  --texts plugin-adapters\rabi-speech\benchmarks\cases.zh-CN.json `
  --output <run-dir>\tts-<stable-engine-id>.json `
  <voice-or-reference-options>
```

使用稳定、公开的 engine id。角色参考音只作为本机参数传入,不复制进报告目录。检查每个结果都有三条记录、三个 WAV、音频时长、RTF、RMS、削波率和 GPU 采样。

## 3. 再测试每个 ASR

选择一条固定短句 WAV 做不计分预热;默认用 ONNX-VITS 的 `short-dialogue`。每个 ASR 都传入全部 TTS 结果:

```powershell
py -3.10 plugin-adapters\rabi-speech\scripts\benchmark_models.py asr `
  --model <cached-model-id> `
  --model-root <local-model-cache> `
  --tts-results <run-dir>\tts-onnx-vits.json `
  --tts-results <run-dir>\tts-qwen3-tts-0.6b.json `
  --tts-results <run-dir>\tts-indextts2.json `
  --warmup-audio <run-dir>\audio\onnx-vits\01-short-dialogue.wav `
  --output <run-dir>\asr-<cached-model-id>-warm.json
```

保持 `local_files_only` 语义。若模型未缓存,列为“支持但未测试”,不要为一次报告自动下载。确认结果包含模型加载、预热、正式逐句转写、CER、耗时和 RTF。

## 4. 汇总和生成 HTML

先用 `summarize` 生成 `summary.json` 与三张 CSV,再用 `render-html` 生成 RibiWebGUI 的公开报告:

```powershell
py -3.10 plugin-adapters\rabi-speech\scripts\benchmark_models.py render-html `
  --summary <run-dir>\summary.json `
  --texts plugin-adapters\rabi-speech\benchmarks\cases.zh-CN.json `
  --metadata plugin-adapters\rabi-speech\benchmarks\report-metadata.json `
  --template plugin-adapters\rabi-speech\benchmarks\report-template.html `
  --tts <each-tts-json> `
  --asr <each-asr-json> `
  --output ribiwebgui\public\reports\rabispeech-model-benchmark.html
```

HTML 必须至少呈现:

- 测试文本与闭环顺序。
- TTS 功能矩阵、首请求、热态耗时、RTF、显存和柱状图。
- ASR 功能矩阵、加载、预热、热态耗时、总体 CER 和柱状图。
- ASR 按 TTS 来源分组的 CER,以及逐句参考文本 / 识别文本 / CER 表。
- 测试硬件、最低 / 建议配置、历史归档模型、方法和限制。

## 5. 新增模型

新增 TTS 时:先在 `report-metadata.json.tts_models` 增加功能说明,再生成一个新的 `tts-*.json`,并让所有 ASR 重跑包含它的输入集合。

新增 ASR 时:先在 `report-metadata.json.asr_models` 增加功能说明,再让它识别所有现有 TTS 音频。不要只测最容易识别的一种声线。

脚本和模板按数据数组渲染;不要为每个模型硬编码新表格或新柱形。

## 验收

```powershell
py -3.10 -m py_compile plugin-adapters\rabi-speech\scripts\benchmark_models.py
py -3.10 plugin-adapters\rabi-speech\scripts\benchmark_models.py --help
node skills\audit-rabiroute-public-docs\scripts\audit-public-docs.mjs
npm run relay:rabilink:webgui:check
npm run webgui:build
```

然后打开:

```powershell
$status = & "$env:LOCALAPPDATA\Programs\RabiRoute\RabiRouteHost.exe" --command status --json | ConvertFrom-Json
if (-not $status.managerBaseUrl -or -not $status.applicationGenerationId -or -not $status.managerInstanceId) { throw "Host 未返回完整身份。" }
$meta = Invoke-RestMethod ($status.managerBaseUrl + "/meta") -TimeoutSec 10
if ($meta.applicationGenerationId -ne $status.applicationGenerationId -or $meta.managerInstanceId -ne $status.managerInstanceId) { throw "Manager 身份不一致。" }
Start-Process ($status.managerBaseUrl + "/#/docs")
Start-Process ($status.managerBaseUrl + "/#/speech")
Start-Process ($status.managerBaseUrl + "/reports/rabispeech-model-benchmark.html")
```

检查“语音服务”下的 TTS、ASR、性能报告三个栏目、目标测试机报告,以及使用手册中的“从远端调用 TTS 与 ASR”。确认表格、柱状图、逐句结果、移动端横向滚动和独立报告链接都可用。

如果有真实 Relay 验收环境,还要登录并打开:

```text
https://<relay>/manage/<account>/<RabiGUID>/#/speech
https://<relay>/manage/<account>/<RabiGUID>/reports/rabispeech-model-benchmark.html
```

远端报告必须返回 `200` 和 `text/html`。没有公网环境时,只能记录“本地报告与 Relay 静态契约已验证”,不能写成真实公网已通过。

最后再确认运行时语音接口仍保持自己的合同:直接 TTS/ASR 会写语音记录,TTS 音频缓存按单条时间戳保留 24 小时;Route 的 `hot/keyword` 投递、角色关键词、双向会话账本和说话人绑定不属于模型性能评分,不能用基准脚本改写这些配置。

From vb2250158/RabiRoute, MIT.

More from vb2250158/RabiRoute

Signals

Stars
492
Forks
0
Open issues
0
Last commit (this folder)
Oct 20, 2026 (8 days ago)
Last release
Jul 31, 2026 (2 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from vb2250158

Cite this page

benchmark-rabispeech-models skill. Agent Mart. https://agentmart.dev/skills/vb2250158-benchmark-rabispeech-models (last updated 2026-10-24)