音高检测器

检测器用 YIN 算法从麦克风中每次找出一个音的音高,范围是 50 Hz 到 2,000 Hz。它显示最接近的音名、频率,以及偏高或偏低多少音分,基准为 A4 = 440 Hz。

点击开始,然后唱或弹一个音。音频不会离开此页面。

---- Hz

一次检测一个音,范围约 50 Hz 到 2,000 Hz。

问题解决了吗?

使用方法

  1. 点击“开始聆听”并允许使用麦克风。点击按钮之前不会请求任何权限。
  2. 一次唱、吹口哨、哼或弹一个音。大号标签显示最接近的音名和八度,同时给出频率(Hz)以及偏高或偏低多少音分。
  3. 点击“保持”可冻结读数;曲线能让你看到最近十秒内音高有多稳。如果使用不同的基准音,可以修改 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 之间。

常见问题

能识别和弦或多人合唱吗?

不能。它只跟踪单条旋律线。和弦、和声和背景音乐包含多个同时存在的音高,结果会乱跳或没有显示。

为什么音有时会跳一个八度?

有些声音和乐器的泛音很强,检测器可能锁定泛音而不是基音。请保持音稳定、靠近麦克风,并避免背景声音。

为什么曲线是空白的?

只有听到清晰的音高时才会绘制曲线。静音、呼吸声和很小的声音会被忽略。

我的声音会被录下来吗?

不会。信号只在浏览器里分析,不会保存或发送。