音高检测器
检测器用 YIN 算法从麦克风中每次找出一个音的音高,范围是 50 Hz 到 2,000 Hz。它显示最接近的音名、频率,以及偏高或偏低多少音分,基准为 A4 = 440 Hz。
使用方法
- 点击“开始聆听”并允许使用麦克风。点击按钮之前不会请求任何权限。
- 一次唱、吹口哨、哼或弹一个音。大号标签显示最接近的音名和八度,同时给出频率(Hz)以及偏高或偏低多少音分。
- 点击“保持”可冻结读数;曲线能让你看到最近十秒内音高有多稳。如果使用不同的基准音,可以修改 A4。
计算方法
音高用 YIN 算法求得:在最近很短一段声音里寻找最短的重复周期,频率等于采样率除以该周期。检测范围是 50 Hz 到 2,000 Hz。
最接近的音按十二平均律确定:MIDI 音符 = 69 + 12 x log2(f / A4)。音名和八度由这个数得出,默认 A4 = 440 Hz,C4 为中央 C。
音分衡量与最近音符的差距:音分 = 1200 x log2(f / 音符频率)。一个半音是 100 音分,所以读数总在 -50 到 +50 之间。
常见问题
能识别和弦或多人合唱吗?
不能。它只跟踪单条旋律线。和弦、和声和背景音乐包含多个同时存在的音高,结果会乱跳或没有显示。
为什么音有时会跳一个八度?
有些声音和乐器的泛音很强,检测器可能锁定泛音而不是基音。请保持音稳定、靠近麦克风,并避免背景声音。
为什么曲线是空白的?
只有听到清晰的音高时才会绘制曲线。静音、呼吸声和很小的声音会被忽略。
我的声音会被录下来吗?
不会。信号只在浏览器里分析,不会保存或发送。