音高检测 / 调音器
我要提建议检测音频的音高曲线与音域,并给出音名与音分偏差;也可以开麦克风当调音器用,还能播放标准音对照。
相关工具
这个工具是做什么的
想确认「这句唱得准不准」或者「这段旋律是什么调」,最直接的办法是把基频量出来。本工具用**归一化自相关**逐帧检测音高(40ms 帧、20ms 步进):自相关峰的位置给出周期、峰的高度给出「这个音有多确定」,静音与气声会被门槛过滤掉,所以不会在没人唱的地方报一堆随机音高。分析完给出音高曲线、音域、中位音、以及**平均音分偏差**(音分类似「音高的百分点」,100 音分 = 一个半音)——偏离越小说明音准越稳;同时给出一张音名直方图,方便看这段主要在哪些音上。第二个模式是**麦克风调音器**:实时显示当前音名、频率与音分偏差(带指针刻度),还能播放标准音对照(A4=440Hz 等),用来校音或练音准。要说明两点:自相关法对**单声部**(人声、独奏)最准,和弦与复杂混音会得到混合结果;另外它是时域方法,低音需要更长的分析窗,太短的低音片段可能测不到。全部在本机用本地引擎完成,麦克风数据也数据不出设备。
使用方法
- 文件分析:选择音频文件,页面给出音高曲线、音域、中位音与平均音分偏差。
- 看音名直方图了解这段主要在哪些音上(唱歌练习可以对照自己想要的音域)。
- 麦克风调音器:点「开始」授权麦克风,对着设备唱或演奏,指针与音名会实时更新。
- 需要对照时,选一个参考音并点「播放参考音」,听着标准音调整。
常见问题
- 音分(cent)是什么?
- 音分的单位是「半音的百分之一」:100 音分 = 一个半音。一般 ±10 音分以内听不出来,±20 音分开始明显,±50 音分就已经是另一个音了。页面里的「平均偏离」把滑音与颤音也算进去,所以唱歌素材天然会比乐器大一些。
- 为什么低音区测不准?
- 自相关需要一个完整周期才稳定:100Hz 的周期是 10ms,但为了可靠通常要两三个周期(30ms 以上)。分析窗是 40ms,所以 55Hz 附近的极低音只能勉强测到;片段太短时低音会直接测不出来。
- 和弦 / 混音能用吗?
- 只能当参考。自相关会把多个基频混在一起,结果偏向能量最强或周期最规整的那一个。单声部(人声、独奏乐器)最准。
- 麦克风数据会上传吗?
- 不会。音频只在本机用本地算法分析,数据不出设备。