跳转到内容
搜索文档

从参考音乐找到可以检查的旋律

在同一个 Project 中保留原参考音频,转成乐谱,再下载 ABC 和 MIDI。先检查旋律与节奏,再决定下一步创作。转谱不是歌词识别,也不承诺自动得到准确乐谱。

  1. 创建或打开音乐项目。进入“参考转谱”。
  2. 选择本地 WAV,再选择“加入项目素材”。仅选择文件还没有上传。无效 WAV 会被应用服务拒绝。
  3. 在“选择参考音频”中选择已保存的原文件。当前可转谱范围为 16 秒 PCM16,单声道24 kHz或立体声48 kHz。其他有效 WAV 可以作为项目素材保存,但不能在当前范围内开始转谱。

上传预算为64 MiB/600秒,不表示更长音频已通过推理验证。保持一段清晰、可反复听辨的旋律作为起点。切换语言与亮暗模式会保留当前文件选择和项目身份。

  1. 检查“转谱准备”。服务、模型或能力未就绪时,恢复运行环境后选择“重新检查准备状态”。原素材仍在项目中。
  2. 选择“开始转谱”。页面保留这次任务的原参考素材标识,URL 保存 Job 标识。提交不会被自动重试。
  3. 任务显示排队、运行、完成、失败或取消状态。无法测量进度时,只显示当前阶段。需要取得当前快照时,选择“重新读取任务”。
  4. 需要停止时选择“请求取消”。提出请求后等待“已取消”,请求成功不等于任务已停止。失败或确认取消后,选择“创建新的重试任务”继续;它保留原输入,创建新 Job,原任务记录仍可查看。
  5. 完成后选择“查看乐谱与下载 MIDI”。

连接中断或提交结果尚未确认时,先重新读取任务列表,检查是否已有同一请求,再决定是否再次提交。错误不会清除已选择的素材。刷新后能回到同一 Project 和 Job;也可选择其他已保存的转谱任务检查其输入与结果。

CPU FakeRuntime 会明确显示示例管线提示。它产生合法谱面文件,用于检查应用交互;不能证明真实转谱质量。

谱面由保存的 ABC 通过 abcjs 绘制。“ABC 音乐表示”保留原文;旁边显示乐谱标识、生产 Job 和关联原参考音频。先看音高、音符时值与小节,再试听原参考判断是否接近听到的方向。试听交给底部的单一播放器。

选择“下载 MIDI”或“下载 ABC”,浏览器收到已登记的原文件。MIDI 只取这份乐谱的生产 Job,不会拿其他转谱或生成结果代替。音乐生成的乐谱没有 Reference Audio;生产结果没有 MIDI 时会明确说明,ABC 仍可查看与下载。

文件读取失败时,已保存的乐谱仍保留。恢复存储后选择“再次下载”。谱面显示失败时,原 ABC 和文件仍保留,可选择“更新谱面”。找不到某个乐谱地址时,选择“返回项目乐谱”重新打开真实记录。

可以在上方 ABC 草稿中改音符,查看当前有效谱面、试听与导出对应 MIDI,并独立保存选定为新 Score。再用下方“从选定 Score 生成”尝试新的风格,试听 Candidate 后明确保存 Version;完整玩法见编辑与重新生成。下方保存的原文和文件仍只读,不会被草稿改写。转谱来源没有所属 Version 时,生成可以没有父版本。

启动与准备独立 CPU 应用环境的方法见 Web 工作区指南。新转谱入口的公开行为测试使用真实 Chromium、生成客户端、FastAPI、独立 SQLite/文件和合法 FakeRuntime 产物:

终端窗口
pnpm web:check
pnpm test:browser:check
pnpm test:web -- transcription.web.ts
pnpm --filter @llm-music/browser-tests exec playwright test --config transcription.playwright.config.ts

测试检查中英双语/亮暗主题、上传和来源关联、只读谱面、原生下载字节及 MIDI 音符事件、刷新恢复,以及无效输入和实际文件不可读后的恢复。额外配置复用独立受控 CPU Fake Runtime,检查缺模型、失联、过期、取消确认与失败后显式重试,使用端口18039/18040。Fake 与真实 GPU 结果分别记录,证据范围见 转谱 Web 验证记录。

源码版本: 1ce3268正文来源: docs/guides/web-transcribe.md