基于 Web Audio API 的专业音频可视化分析工具,支持实时频谱、波形、声谱图与谐波分析。纯前端运行,音频数据仅在本地处理,不上传服务器。
点击「开启麦克风」或「上传音频」开始分析。
支持实时频谱、波形、声谱图与谐波检测。
基于 Web Audio API 与数字信号处理原理,提供专业的音频分析能力
使用 AnalyserNode 的 FFT(快速傅里叶变换)将时域信号转换为频域表示。支持 256–8192 点 FFT,频率分辨率从 172 Hz 到 5.4 Hz(以 44.1kHz 采样率计)。以柱状图形式展示 20Hz–20kHz 全频段能量分布。
通过 getByteTimeDomainData 获取原始音频样本,以 128 为中轴线绘制振幅-时间曲线。可直观观察信号的振幅包络、波形对称性与削波失真,是判断录音质量与动态范围的首选视图。
将频谱数据按时间轴堆叠,形成"瀑布图"式可视化。横轴为时间,纵轴为频率,颜色深浅表示能量强度。可清晰观察泛音列随时间的演变、共振峰位置与瞬态特性,是语音与乐器音色分析的核心工具。
基于时域自相关算法(Autocorrelation)检测基频,适用于单音与主音明显的音频。通过寻找信号与自身延迟版本的最大相关性,确定周期 T,进而计算基频 f₀ = 1/T。支持音名映射与音分偏差计算。
在检测到基频后,自动识别整数倍频位置的谐波分量(2f₀, 3f₀, ... 8f₀),计算各次谐波相对基频的振幅比。谐波结构决定了音色的明暗与饱满度——弦乐器的谐波丰富,长笛的谐波较少。
实时计算峰值电平(Peak)、均方根电平(RMS)、动态范围(Peak - RMS)、零穿越率(ZCR)与估算信噪比(SNR)。这些指标综合反映了信号的强度、稳定性与噪声水平,是音频工程与声学测量的基础参数。
所有算法与参数均基于 Web Audio API 标准与声学工程规范
| 参数项 | 规格说明 | 备注 |
|---|---|---|
| 音频引擎 | Web Audio API (AudioContext) | 浏览器原生支持,低延迟实时处理 |
| 采样率 | 跟随设备默认(通常 44.1 kHz 或 48 kHz) | 由 AudioContext.sampleRate 自动获取 |
| FFT 大小 | 256 / 512 / 1024 / 2048 / 4096 / 8192 | 必须为 2 的整数次幂,越大频率分辨率越高 |
| 频率分辨率 | 5.4 Hz ~ 172 Hz(@44.1kHz) | Δf = fs / N,如 44100/8192 ≈ 5.4Hz |
| 频率范围 | 0 Hz ~ fs/2(奈奎斯特频率) | 有效分析范围 20 Hz ~ 20 kHz |
| 数据类型 | Uint8Array (0–255) / Float32Array (dB) | 频域用 getByteFrequencyData,时域用 getFloatTimeDomainData |
| 平滑系数 | 0.1 ~ 0.95(AnalyserNode.smoothingTimeConstant) | 越高越平滑,越低响应越快 |
| 基频检测算法 | 时域自相关(Autocorrelation) | 适用于单音/主音明显场景,范围 50Hz–2000Hz |
| 音准精度 | ±5 cents(典型条件下) | 受环境噪声与谐波复杂度影响 |
| 声谱图历史 | 约 4–8 秒滚动窗口 | 取决于 Canvas 宽度与刷新率 |
| 支持格式 | WAV, MP3, AAC, OGG, FLAC, WebM | 取决于浏览器解码器支持 |
| 隐私策略 | 纯前端处理,零数据上传 | 音频流仅在浏览器内存中分析 |
无需安装任何软件,浏览器即可运行完整的音频分析流程
点击「开启麦克风」授权浏览器访问设备麦克风,实时分析环境声音或乐器演奏;或点击「上传音频」选择本地音频文件(支持 WAV/MP3/AAC/FLAC 等格式)进行离线分析。
根据分析需求选择显示模式(频谱/波形/声谱图)。频谱分析时,如需更高频率分辨率选择更大的 FFT 大小(如 8192);如需更流畅的动画选择较高的平滑度(0.8–0.95)。
主 Canvas 显示实时可视化图形,右侧信息面板同步更新基频、音名、谐波结构与信号质量指标。声谱图模式最适合观察音色随时间的演变过程。
结合下方「功能说明」与「技术参数」理解各项指标含义。例如:基频检测可用于乐器调音,谐波分析可判断音色特征,SNR 估算可评估录音环境噪声水平。
快速傅里叶变换(FFT)是音频分析的核心数学工具,理解其原理有助于正确使用分析结果
任何复杂的周期性信号都可以分解为一系列不同频率、振幅与相位的正弦波之和。傅里叶变换(Fourier Transform)正是实现这一分解的数学工具。快速傅里叶变换(FFT)是其高效算法实现,将计算复杂度从 O(N²) 降低到 O(N·logN)。
在音频分析中,FFT 将连续的时域采样信号转换为离散的频域表示。转换结果的每个"频率箱"(Frequency Bin)对应一段频率范围,其数值代表该频段内的信号能量。频率分辨率 Δf 由采样率 fs 与 FFT 点数 N 决定:
本工具使用浏览器原生 AnalyserNode 实现 FFT,其底层采用 Blackman 窗函数,在频率分辨率与旁瓣抑制之间取得良好平衡。
图:时域正弦波(上)经 FFT 转换为频域单峰(下)的示意
音频分析只是音乐工具集的一部分,调音器、节拍器、和弦生成器等工具同样值得体验。