歌曲里的和弦是怎么被自动识别出来的
自动和弦识别(学术圈叫 ACE,Automatic Chord Extraction)不是变魔术。理解它的大致流程,能帮你判断"哪首歌的谱子可信、哪首歌要多个心眼"。
识别的三步流程
依据团队在 ISMIR 音乐信息检索学术会议上发表的技术介绍,识别过程大致是:
- 听音频特征:把音频流切成小段,提取每一刻的音高能量分布(色谱特征),回答"这一瞬间响着哪些音"
- 和声模型推算:算法基于西方大小调和声体系的统计模型,把一串串音高组合归纳成最可能的和弦——早期采用团队在乌得勒支大学发展的 HarmTrace 模型,后来逐步引入机器学习方法
- 对齐与切分:按节拍切出和弦变化点,把和弦序列和音频时间轴对齐,播放时光标才能踩在点上
为什么识别结果会出错
- 编曲越满越难猜:密集的乐队编制、强失真吉他会让"哪些音算和弦内音"变得模糊
- 转调与离调和弦:模型按常见和声规律猜, jazzy 的离调和弦、快速转调段落容易猜成"更常见"的替代和弦
- 人声干扰:歌手唱的旋律音混在音频里,可能被算进和弦
- 主观性本来就存在:团队成员 2019 年在《新音乐研究杂志》发表的论文专门讨论过——不同专家给同一首歌标注和弦都难达成一致,机器识别自然也没有唯一正解
同一首歌出现 F 和 Fmaj7 之争、或者挂留和弦被简化成三和弦,多数情况不是"错了",而是模型选了统计上更常见的写法。可用手动编辑微调,详见手动修正和弦。
实用判断经验
- 流行、民谣、摇滚等"吉他和弦驱动"的歌识别效果普遍最好
- 前奏、间奏的器乐段落比主歌更容易出错
- 关键演出前,拿两三个来源交叉核对一遍和弦走向更稳妥