吉他录音转MIDI实测:独奏、和弦与漏音怎样检查
四段真人吉他上,标准候选音符F1为71.80%,原标准为71.76%,不支持宣传普遍变准。短音研究配置漏音较少,但多余音更多,本次未默认启用。
测了哪些录音?
素材来自GuitarSet v1.1.0,包含波萨诺瓦和爵士独奏,以及Funk、Rock和弦伴奏。输入是单声道麦克风录音,不是六弦分离拾音、合成教学音或商业歌曲混音。单声道录音仍可以同时包含多个音高。
两段开发样本、两段留出样本在查看模型结果前固定。留出片段即使结果变差也保留,不为提高汇总分数换素材。每段使用完整文件,时长和参考音符数量列于下表。
| 片段 | 分组 | 时长/秒 | 参考音符 | 最高同时音数 | 不足128毫秒的音 |
|---|---|---|---|---|---|
| 00_BN1-129-Eb_solo | 开发 | 22.32 | 71 | 4 | 4 |
| 01_Funk1-114-Ab_comp | 开发 | 25.26 | 232 | 3 | 148 |
| 02_Jazz2-187-F#_solo | 留出 | 20.53 | 55 | 2 | 3 |
| 03_Rock3-148-C_comp | 留出 | 25.94 | 293 | 6 | 15 |
怎样判断一个音匹配?
主指标要求音高差在50音分以内、起音差在50毫秒以内,使用最大一对一匹配,每个事件最多配对一次。剩余参考事件计为漏音,剩余预测计为多余音。F1=2×命中数÷(2×命中数+多余音+漏音);汇总表按全部事件计数计算微平均,不把单曲百分比直接平均。
含止音F1还要求结束时间误差不超过max(50毫秒,参考时长的20%)。参考保留连续实音音高和跨弦同度,不为提高成绩取整、去重或移动八度;预测没有人工校订,也没有搜索时间平移来对齐。
GuitarSet起音由数据集作者检查,止音和音高由半自动方式估计,标注仍可能有误差。不同弦同时弹同一音的数量也可能超出纯音高模型的辨认能力。提取的参考事件未提供置信度,下载文件保留原始缺失值。
结果:开发组与留出组一起公布
| 分组 | 配置 | 精确率P | 召回率R | F1 | 多余音 | 漏音 | 含止音F1 |
|---|---|---|---|---|---|---|---|
| 开发组 · 2段 | 原标准 | 74.89% | 58.09% | 65.43% | 59 | 127 | 39.03% |
| 开发组 · 2段 | 标准候选 | 74.26% | 58.09% | 65.19% | 61 | 127 | 38.52% |
| 开发组 · 2段 | 短音研究配置 | 68.89% | 88.45% | 77.46% | 121 | 35 | 61.56% |
| 留出组 · 2段 | 原标准 | 74.12% | 79.02% | 76.50% | 96 | 73 | 51.74% |
| 留出组 · 2段 | 标准候选 | 74.39% | 79.31% | 76.77% | 95 | 72 | 52.29% |
| 留出组 · 2段 | 短音研究配置 | 70.10% | 84.20% | 76.50% | 125 | 55 | 52.74% |
| 全部 · 4段 | 原标准 | 74.42% | 69.28% | 71.76% | 155 | 200 | 46.30% |
| 全部 · 4段 | 标准候选 | 74.34% | 69.43% | 71.80% | 156 | 199 | 46.39% |
| 全部 · 4段 | 短音研究配置 | 69.52% | 86.18% | 76.95% | 246 | 90 | 56.93% |
| 片段 | 分组 | 原标准 | 标准候选 | 短音研究配置 |
|---|---|---|---|---|
| 00_BN1-129-Eb_solo | 开发 | 74.70% | 74.70% | 73.45% |
| 01_Funk1-114-Ab_comp | 开发 | 61.29% | 60.96% | 78.83% |
| 02_Jazz2-187-F#_solo | 留出 | 88.29% | 88.29% | 87.10% |
| 03_Rock3-148-C_comp | 留出 | 74.34% | 74.67% | 74.45% |
651个参考音符上,原标准输出606个事件,标准候选输出608个;F1分别为71.76%和71.80%。这一小幅差异不支持宣传普遍提高准确率。开发组的一段和弦伴奏反而下降,逐段表保留了该结果。
标准修订针对尾部窗口和采样路径。这四段44.1kHz录音本身不能证明高采样率输入准确率。测量绑定下载数据记录的研究脚本字节和哈希,不代表之后每个构建或设备都得到完全相同结果。
为什么没有默认启用短音配置?
对这组不足128毫秒的短音,研究配置召回率从标准候选的31.76%升到79.41%,但多余音也从156升到246。输出数量更多,不等于都是真实音符。
固定留出组中,标准候选F1为76.77%,短音研究配置为76.50%,没有超过标准候选,因此本次不默认启用。不能仅因BPM快就放宽筛选。
结果应该怎样校订?
把多余音、和弦漏音、起音和止音分别检查。八度叠音可能是真实演奏,也可能是泛音误识别,不能自动删光高八度;扫弦内各弦起音也可能不同,全部吸到同一时刻可能抹掉演奏顺序。
自动筛查中,标准候选有8对可能八度错配,短音研究配置有10对;这只是未匹配事件之间起点邻近、相差12或24半音的筛查,不是人工确认的错误数。
保留只读原始结果,创建校订分支,对照原录音的同一乐句修改已确认的音高和时间,再导出固定MIDI。速度、拍号和可读谱面需要另外检查。
试听并下载复现
下方提供完整Rock原输入。音频不预加载,点击播放或下载后才请求文件;其余录音从原数据集取得。四段的完整参考和三种配置预测均可下载,没有人工改音。
下载未改动的Rock原WAV · 2,288,022 字节
| 片段 | 参考 | 原标准 | 标准候选 | 短音研究配置 |
|---|---|---|---|---|
| 00_BN1-129-Eb_solo | JSON | JSON | JSON | JSON |
| 01_Funk1-114-Ab_comp | JSON | JSON | JSON | JSON |
| 02_Jazz2-187-F#_solo | JSON | JSON | JSON | JSON |
| 03_Rock3-148-C_comp | JSON | JSON | JSON | JSON |
在工作台选择同一WAV和完整范围,保留原始结果后对照事件数据。本次测量使用Windows Chrome 156.0.8078.79,每次一个Worker;这些是该测试设备的记录,不是Mac、手机或所有浏览器的性能保证。
这次实测的边界
四段吉他是诊断小样本,不能代表人声、鼓贝斯混音、钢琴、失真或完整商业歌曲。本页没有宣称真人听审或演奏验收通过。文件能生成、音符分数较高,也不能证明谱面可读或吉他指法正确。
本地模型不输出推弦曲线;本页也没有证明乐器分离、吉他弦品分配或自动和弦确认。自己的录音仍需校订。
数据来源与再使用
GuitarSet v1.1.0,作者Qingyang Xi、Rachel M. Bittner、Johan Pauwels、Xuzhou Ye、Juan P. Bello(2019),DOI 10.5281/zenodo.3371780。数据集录音与标注采用CC BY 4.0。本页镜像Rock完整原WAV,没有裁剪、归一化或转码;参考JSON保留提取的全部逐弦音符,预测为模型生成的分析,不是人工校订结果。作者和演奏者不因此为本产品背书。