WeWorkBuddy

[分享创造] 用 ONNX Runtime Web 把 AI 和弦识别放到了浏览器本地运行,做了个 Chord Finder

最近做了一个音乐相关的 Web 工具,ChordFold 。 地址: https://chordfold.com/ 主要功能是:用户选择一段 MP3 或 WAV 音频,AI 自动识别里面的和弦,以及和弦随时间的变化。 和一些需要上传音频到服务器的识别服务不同,我选择了浏览器本地推理的方案。 目前的技术方案: 使用 BTC 系列和弦识别模型 模型转换为 ONNX 格式 通过 ONNX Runtime Web 在浏览器里执行 WASM 推理 对音频进行解码和 CQT 特征提取 模型预测后对结果进行平滑,生成和弦时间轴 用户侧的操作流程也比较简单: 选择本地音频文件 首次使用时下载识别模型 在浏览器本地分析音频 得到按时间排列的和弦结果 点击时间轴上的和弦,可以跳到对应位置回听 可以切换查看支持的吉他和弦指法图、钢琴音符参考 目前限制音频最大 14MB 、最长 10 分钟。 选择本地推理主要有几个考虑: 第一,音频不需要上传服务器,相对更有隐私优势。 第二,不需要为每个用户的识别请求支付云端 GPU 推理费用。 第三,工具本身不需要用户注册账号。 但缺点也很明显。 首先,模型首次下载需要时间

Read original source
Source page screenshot: [分享创造] 用 ONNX Runtime Web 把 AI 和弦识别放到了浏览器本地运行,做了个 Chord Finder
Source page screenshot · www.v2ex.com

Source record

Research analysis

What changed

Source account: 最近做了一个音乐相关的 Web 工具,ChordFold 。 地址: https://chordfold.com/ 主要功能是:用户选择一段 MP3 或 WAV 音频,AI 自动识别里面的和弦,以及和弦随时间的变化。 和一些需要上传音频到服务器的识别服务不同,我选择了浏览器本地推理的方案。 目前的技术方案: 使用 BTC 系列和弦识别模型 模型转换为 ONNX 格式 通过 ONNX Runtime Web 在浏览器里执行 WASM 推理 对音频进行解码和 CQT 特征提取 模型预测后对结果进行平滑,生成和弦时间轴 用户侧的操作流程也比较简单: 选择本地音频文件 首次使用时下载识别模型 在浏览器本地分析音频 得到按时间排列的和弦结果 点击时间轴上的和弦,可以跳到对应位置回听 可以切换查看支持的吉他和弦指法图、钢琴音符参考 目前限制音频最大 14MB 、最长 10 分钟。 选择本地推理主要有几个考虑: 第一,音频不需要上传服务器,相对更有隐私优势。 第二,不需要为每个用户的识别请求支付云端 GPU 推理费用。 第三,工具本身不需要用户注册账号。 但缺点也很明显。 首先,模型首次下载需要时间

Version & cost evidence

Recent records to compare: “Show HN: ActiveDNS, a free DNS search service” (Show HN, Nov 12, 2026); “Show HN: ThreeSweep – switch macOS windows with single trackpad swipe” (Show HN, Nov 12, 2026). Shared themes are navigation hints; they have not been verified as the same need or independent corroboration.

Who is affected

Identify the existing workflow this change affects before recommending an upgrade. Launch attention does not establish improvement; an API, pricing or availability change may instead create migration work.

Missing comparison points

Missing checks: old versus new behavior, affected plans and regions, availability date, compatibility, rollback path and cost under the same workload.

Migration check

Save the release or policy notice, run the same task on the old and new option, and compare outputs and the full bill. For retirement notices, verify the deadline before scheduling migration.