转谱并导出 ABC 与 MIDI
把原创短音乐送入 SheetSage2。通过 Runtime API 得到可解析的 ABC 与可读取的 MIDI,全程不需要 ComfyUI Canvas。
先保存 Doctor receipt 并启动 Runtime。在仓库根目录的第二个终端执行以下命令。由当前 GPU resource owner 运行,且 Runtime 队列须为空。
使用与 Doctor、保存 receipt 和启动完全相同的端口。四个完整示例默认 8188;若之前选定 8189,请执行 & ./runtime/comfyui/examples/transcribe.ps1 -Port 8189。脚本会把该端口转换为转谱 CLI 的 --base-url,不会返回默认地址。
运行第一次转谱
Section titled “运行第一次转谱”在自己的就绪环境中使用以下完整示例。
param([ValidateRange(1, 65535)][int]$Port = 8188)
# Run from the repository root in a second terminal. The GPU owner must use an empty queue.uv run --project runtime/comfyui --no-sync python runtime/comfyui/p0/transcribe.py --readiness-report data/runtime-readiness.json --output-dir data/p0/transcription/run-01 --base-url "http://127.0.0.1:$Port"if ($LASTEXITCODE -ne 0) { throw "Transcription did not succeed. Retain the request and receipt; inspect the result before retrying." }完整示例: runtime/comfyui/examples/transcribe.ps1 ↗
输出目录必须是新目录或空目录。工具默认生成 16 秒、48 kHz、双声道、16-bit PCM 原创器乐 WAV,输入采用 CC0-1.0。
该命令会上传音频、提交 GPU 推理并保存文件。文档中的复制按钮只复制命令,不执行它。
检查你的结果
Section titled “检查你的结果”成功退出 0。打开输出目录,核对 receipt.json 中的 status=completed 与 verified=true。
| 文件 | 用途 |
|---|---|
| reference.wav | 默认固定输入与内容 hash。 |
| request.json / history.json | 实际提交请求与完整 Runtime 结果。 |
| score.abc / score.mid | 通过完整解析、MIDI 导出与非空音符读取的产物。 |
| receipt.json | 输入输出 hash、版本、设置与解析证据。 |
工具先解析完整 ABC,再导出 MIDI、重新上传并读取实际音符。HTTP 200 或文件存在本身不足以成功。
一次失败恢复
Section titled “一次失败恢复”如果命令因输出目录非空退出 2,保留已有结果,选择新的输出目录。不要删除旧证据来重复提交。
如果超过默认 1800 秒 timeout,请求可能仍在运行。先核对保存的请求、history 和 queue,由 owner 决定等待或取消。
固定短器乐样本验证流程与文件有效性,不能证明人声或任意音乐的转谱准确率。SheetSage2 权重采用 CC-BY-NC-4.0,与输入的 CC0 许可分开记录。
诊断输入仅接受非静音、未截断的 16-bit 单/双声道 PCM WAV,时长 0.05–30 秒。该输入预算不是准确率保证。
重复相同音频可能命中插件独立缓存。仅有 public history 不能证明本次进行了新的 GPU 推理;首次执行日志与 GPU 事实由 owner 保留。
此工具验证一次 Runtime 路径,p0_passed 保持 false。完整 P0 验收还包含生成、队列、取消、连续任务和清理。
1ce3268正文来源: docs/learn/transcribe.md