音频分析 · 免费

在线频谱分析仪

准确看到麦克风听到了哪些频率。观察实时 FFT 频谱、滚动频谱图或倍频程频带柱状图,把最响的峰值读到零点几赫兹的精度,并给出最近的音符,然后冻结这一刻,保存为 PNG 或 CSV。

在浏览器中运行 · 音频绝不离开此设备
报告问题

频谱分析仪工作区

输入

选择要分析的内容

在你点击“启动麦克风”或选择文件之前,不会请求任何权限。

未开启。尚未请求任何权限。

在网站获准使用麦克风之前,浏览器会隐藏设备名称。点击“启动麦克风”后,列表就会显示出来。

浏览器语音处理

这里默认关闭,因为每一项处理都会改变频谱的形状。每次更改都会重新打开麦克风。

回声消除

减去扬声器播放的所有声音。它会削掉并抹开稳定的音调,所以除非扬声器产生反馈,否则请保持关闭。

浏览器报告:启动后显示

噪声抑制

去掉风扇声、工频嗡嗡声这类持续的声音,而这往往正是你来这里要找的东西。

浏览器报告:启动后显示

自动增益控制

在你观察时把电平调高调低,导致相隔一分钟的两次读数不再具有可比性。

浏览器报告:启动后显示

声音在这个标签页内分析,绝不上传,也不会录制。麦克风信号从不送到扬声器,因此不会形成反馈。

分析仪

实时频谱

以 dBFS 表示的电平随频率的分布,低频在左。较淡的线会把最近的峰值保持一秒,然后让它回落。

点击“启动麦克风”并允许访问。频谱会显示在这里,低频在左,高频在右。

  • 频谱
  • 峰值保持
  • 前五个峰值
FFT 大小

频点间隔 5.86 Hz · 窗口 171 ms,按 48 kHz 计算,直到打开输入设备为止。FFT 越大,细节越精细,但响应越慢。

平滑
0.80

对每个频点在最近若干帧上取平均。0 会跟随每一次闪动;0.95 非常稳定,但反应慢。

电平范围(dBFS)

画面的顶部和底部。0 dBFS 对应满刻度正弦波。

频率轴

每个八度占相同的宽度,与人耳感知音高的方式一致。

峰值保持

把每个最近的最大值在屏幕上保持一秒,然后以每秒 12 dB 的速度回落。

最响峰值

最响峰值
–

启动麦克风或播放文件,即可找到最响的音调。

电平
–
最近音符
–
频段
–

音符按 A4 = 440 Hz 计算。最响的峰值往往是某个谐波,而不是正在演奏的那个音,所以请对照五个峰值的列表核对。

峰值

最响的五个独立峰值

每个峰值都比周围频点至少高出 12 dB,避开了更响峰值的旁瓣,并与其他峰值相隔半个半音。

声音传入后,峰值会按从响到弱的顺序列在这里,并附上最近的音符。

频带电平

倍频程频带(dBFS)

每个频带内所有频点的功率之和。这些就是倍频程频带视图中的柱,只是换成了数字。

31.5 Hz
–
63 Hz
–
125 Hz
–
250 Hz
–
500 Hz
–
1 kHz
–
2 kHz
–
4 kHz
–
8 kHz
–
16 kHz
–

频带内的单个音调会读出它自己的电平。标有“估算”的格子在当前大小下比两个 FFT 频点还窄,短横线表示采样率达不到该频带。

信号详情

分析器正在处理的信号

采样率决定了画面的上限。频点间隔和窗口由采样率和 FFT 大小推算得出。

来源
麦克风
采样率
–
显示上限
–
频点间隔
–
分析窗口
–
输入峰值
–
如实说明局限

这个分析仪能测量什么,不能测量什么。

相对电平,而非响度

读数是相对于转换器满刻度的 dBFS,且未经校准。它们不是 dB SPL,这也不是声级计,操作系统中的输入音量会让每个数值整体上移或下移。

麦克风会给画面染上自己的色彩

麦克风自身的频率响应会影响你看到的一切。手机和笔记本电脑的麦克风在约 100 Hz 以下会衰减,蓝牙耳机麦克风是窄带的,采样率通常只有 8 或 16 kHz,所以 4 或 8 kHz 以上什么都显示不出来。

采样率决定上限

高于采样率一半(即奈奎斯特频率)的成分无法表示,所以画面会停在 20 kHz 或这个极限处,取两者中较低的一个。在 48 kHz 下是 20 kHz;在 16 kHz 下是 8 kHz。

语音处理不关闭就会失真

回声消除、噪声抑制和自动增益控制会去掉嗡嗡声、削掉音调、改变电平。它们在这里默认关闭,输入面板会显示浏览器是否遵从了这个请求。

FFT 2,048 至 32,768 点 · Blackman 窗 · 峰值在频点间拟合 · 以正弦波为基准的 dBFS · 频带按功率求和 · 最多 16,384 行 CSV · 不上传任何内容

工作原理

对最近几分之一秒的声音做傅里叶变换,每一帧都重新绘制。

点击“启动麦克风”后,页面通过 getUserMedia 打开麦克风,并将其送入一个 Web Audio 分析器。每次屏幕刷新时,分析器取最近的 2,048 至 32,768 个采样,用 Blackman 窗加窗,执行快速傅里叶变换,对每个频点做时间平滑,然后返回每个频点的电平。页面会补回加窗和单边频谱损失的 13.56 dB,使满刻度正弦波读作 0 dBFS,再把各频点绘制在对数或线性坐标轴上,每个像素下保留最响的频点,确保窄峰不会被稀释掉。峰值通过抛物线在频点之间拟合,倍频程频带对频点功率求和,而且麦克风从不连接到你的扬声器。

  1. 01

    启动麦克风,或载入文件

    浏览器只会询问一次麦克风权限,而且只在你点击“启动麦克风”时才询问。回声消除、噪声抑制和自动增益控制默认关闭,因为每一项都会改变频谱的形状。如果想分析一段录音,可以让本地音频文件通过同一个分析器播放。

  2. 02

    选择视图和分辨率

    “频谱”同时显示所有频率,“频谱图”显示它们随时间的变化,“倍频程频带”则把它们汇总成实时分析仪使用的柱状图。FFT 越大,越能分开相近的频率;越小,越能跟上快速的变化。

  3. 03

    读出峰值,然后冻结并导出

    最响的峰值以赫兹和 dBFS 显示,并附上最近的音符和音分偏差,旁边列出其后的四个峰值。冻结画面后,可以用光标读取任意一点,然后把当前视图保存为 PNG,或把所有频点保存为 CSV。

为寻找频率而打造

浏览器标签页里的一台真正的分析仪,并如实说明它的局限。

可调大小的 FFT

在 2,048 到 32,768 点之间选择,并看到每种选择带来的结果:切换时,以赫兹表示的频点间隔和以毫秒表示的窗口长度都会随之更新,细节与速度之间的取舍一目了然,而不是藏在背后。

峰值精确到频点的几分之一

每个峰值都用一条穿过其周围三个频点的抛物线来拟合,可以把稳定音调定位到几百分之一个频点以内。前五个峰值会列出它们在 A4 = 440 Hz 下最近的音符、音分偏差以及所在的频段。

同一信号的三种视图

带有逐渐回落的峰值保持线的实时频谱,采用单色渐变、有三种速度的滚动频谱图,以及基于 IEC 61260 频带的倍频程或 1/3 倍频程柱状图。

可以相互比较的电平

分析器的加窗损失已得到补偿,因此无论 FFT 大小如何,满刻度正弦波都读作 0 dBFS。频带电平是对频点功率求和,而不是对分贝取平均,所以频带内的单个音调会读出它的真实电平。

默认使用原始输入

语音处理默认关闭,每个开关旁边都会显示浏览器自己的报告。你可以选择任意已连接的输入设备,或立体声音频接口的某一侧,也可以让本地文件通过同一个分析器播放。

冻结、指向、导出

冻结一帧,读取光标处的频率和电平。把当前视图连同坐标轴和色标保存为 PNG,或把所有频点保存为最多 16,384 行的 CSV。

频谱常见问题

FFT 大小、分贝、嗡嗡声,以及麦克风能听到什么。

什么是 FFT?什么是频点间隔?+

快速傅里叶变换会取一小段声音,把它分解成等间距的频率,这些频率称为频点。频点之间的间距,也就是频点间隔,等于采样率除以 FFT 大小:在 48 kHz 下,8,192 点得到的频点间隔为 5.86 Hz,32,768 点则为 1.46 Hz。落在两个频点中心之间的音调会被两者分摊,所以本页会用一条曲线拟合相邻的频点,从而比单靠频点间隔更精确地定位峰值。

为什么 FFT 越大,显示越慢?+

更精细的频率细节需要更长的一段声音。在 48 kHz 下,32,768 点相当于 683 毫秒的音频,所以一个音必须持续这么久才能被完整表示,而快速的变化会在整个窗口内被抹开。2,048 点只有 43 毫秒,几乎立即响应,但它 23.4 Hz 的频点间隔无法分开 50 Hz 和 60 Hz。对于嗡嗡声或长音这类稳定的声音,请用较大的尺寸;对于语音、鼓声或任何变化的声音,请用较小的尺寸。另外,随着频点变窄,宽带噪声在每个频点上的读数也会降低,而纯音的电平保持不变。

这是声级计吗?dBFS 和 dB SPL 有什么区别?+

不是。dBFS 是相对于数字满刻度的分贝值,0 dBFS 是转换器能容纳的最大值,这里的所有读数都在这个刻度上,满刻度正弦波为 0 dBFS。dB SPL 是房间里的声压,要换算过去,需要知道麦克风的灵敏度、前置放大器的增益和操作系统的输入音量,而浏览器一样都无法得知。调低输入音量,所有读数都会下降,而房间里的响度丝毫未变。频谱的形状和各峰值的相对高度是有意义的;绝对数值并不代表响度。

为什么要关闭噪声抑制和其他语音处理?+

浏览器会在任何页面拿到麦克风音频之前,先为通话清理一遍。噪声抑制会去掉风扇声、工频嗡嗡声这类持续的声音,而这往往正是你要找的东西。回声消除会减去扬声器播放的一切声音,可能把测试音削掉。自动增益控制会在你观察时自动调高或调低电平。这三项在这里默认都是关闭的,每个开关下面的一行文字会显示浏览器声称实际应用了什么,因为有些浏览器在某些设备上会忽略这个请求。

如何找到 50 或 60 Hz 的工频嗡嗡声?+

把 FFT 大小设为 16K 或 32K,让频点间隔小于 3 Hz,并在对数坐标轴上使用频谱视图。工频嗡嗡声在欧洲、非洲、亚洲大部分地区和澳大利亚位于 50 Hz,在美洲和亚洲部分地区位于 60 Hz,并在整数倍处出现谐波:100、150 和 200 Hz,或 120、180 和 240 Hz。如果 100 或 120 Hz 的谱线很强而基频很弱,通常说明问题出在变压器或电源上,而不是接地回路。一次只拔掉或移动一根线缆,同时观察峰值列表。

为什么我的手机或笔记本电脑在 100 Hz 以下几乎什么都显示不出来?+

内置麦克风很小,而且会被刻意滤波,以隔绝手持噪声、风声和设备自身的振动,所以大多数内置麦克风在约 100 Hz 以下会急剧衰减。分析器显示的是麦克风输出的内容,而不是房间里实际存在的声音。想看到真正的低频,请使用测量麦克风,或质量不错的 USB 麦克风或音频接口麦克风,并保持语音处理关闭,因为其中一些处理会自带低切。

频谱图显示的是什么?+

时间从右向左推移,频率从下到上,亮度代表电平:静音时是页面的墨色,随后经过青柠绿,最响时接近白色。稳定的音调会画出一条水平线,人声会画出一叠平行的曲线(它的谐波),口哨滑音会画出一条斜线,拍手则是一条短短的竖条。你在查看其他视图时它也会继续填充,所以切换过来时能看到最近几十秒的内容。

峰值频率有多准确?+

对于稳定的音调,非常准确。每个峰值都用一条穿过其周围三个频点的抛物线来拟合;用合成音调经过与浏览器相同的 Blackman 窗进行测试时,估计值的误差在 0.007 个频点以内,在默认的 8,192 点和 48 kHz 下不到 0.04 Hz。真实声音会带来噪声、颤音和邻近的分音,所以可以认为它的精度在所示频点间隔的一小部分以内。音频时钟也有影响:一个快了百万分之 50 的转换器,会把每个频率都读高百万分之 50。另外,最响的峰值往往是某个谐波,而不是正在演奏的那个音。

可以用它来找啸叫频率或房间共振吗?+

可以,作为比较工具使用。查找啸叫时,慢慢调高增益,直到系统开始鸣响,然后冻结画面,读取最响的峰值:这就是需要在均衡器上衰减的频率,旁边还会显示最近的音符。查找房间模态时,播放粉红噪声或缓慢的正弦扫频,寻找在你移动麦克风时位置不变的峰值,通常在 300 Hz 以下。由于麦克风未经校准,请把不同位置和设置相互比较,而不要把数值当作绝对值来读。

会上传或录制任何内容吗?+

不会。分析器在这个标签页内通过 Web Audio API 读取麦克风或文件,只保留最新的一帧用于绘制。不会向服务器发送任何内容,不会在浏览器中保存任何内容,也不会录制任何内容。只有在你点击导出时才会生成 PNG 或 CSV,并直接保存到你的设备上。停止麦克风后它就会被释放,浏览器的录音指示标志也应随之熄灭。本地文件从你自己的设备播放,绝不会上传。

更多专注好用的工具,随时待命。

探索不断扩充的工具合集,涵盖计算、文档、写作和日常工作。

浏览全部工具