10 段均衡器
独立调节 10 个频段(32 Hz - 16 kHz)· 实时频响曲线 · 内置场景预设
多段 EQ/高低音调节
独立调节 10 个频段(32 Hz - 16 kHz)· 实时频响曲线 · 内置场景预设
超低频 32-60 Hz:低音震感 / 重低音。增强可强化 EDM / Hip-Hop 节奏。
低频 125-250 Hz:男声基音 / 鼓筒 / 贝斯。过强浑浊,过弱无力。
中低频 500-1k Hz:人声"鼻音" / 主体频段。过强发闷。
中高频 2-4k Hz:人声清晰度 / 临场感。增强可提高语音可懂度。
高频 8-16k Hz:空气感 / "通透感"。增强可让音乐更亮丽,过强发刺。
了解工具定位 · 使用场景 · 对比优势
调整音频文件的高低音和多段均衡,通过可视化 EQ 曲线实时预览效果。音乐制作人混音、播客主播优化人声、视频创作者修正录音环境音,直接拖入文件即可操作。处理在浏览器本地完成,音频不上传服务器。
入门级监听耳机高频偏暗、低频轰头,听混音时容易误判。在 EQ 工具中拉低 80Hz 以下 3dB、提升 8kHz 以上 2dB,即可补偿耳机频响缺陷。录音师、播客制作者用此方法,不用换设备就能听到更接近真实的声音,减少后期返工。
视频剪辑师拿到现场收音素材,人声常被空调低频嗡嗡声掩盖。用多段 EQ 在 150Hz 处做 -6dB 的高通滤波,同时提升 2-4kHz 频段 3dB,对白清晰度明显提升。无需专业声卡,浏览器内完成,适合短视频创作者快速出片。
木吉他录音时,麦克风位置不佳导致 200-400Hz 箱体共振声过重,音色发闷。在 EQ 工具中对该频段做 -4dB 的窄带衰减,保留 1-5kHz 的琴弦泛音。吉他手、独立音乐人可在混音前快速修复音色,避免后期用压缩器破坏动态。
修复 60 年代黑胶转录文件时,底噪集中在 50Hz 以下和 10kHz 以上。用多段 EQ 分别做 50Hz 低切和 10kHz 高切,同时保留中频 800Hz-3kHz 的语音主能量。广播档案员、历史音频爱好者可快速降低嘶嘶声,而不损失人声细节。
FPS 游戏中,敌方脚步声集中在 200-400Hz,而枪声和爆炸声覆盖全频段。在 EQ 工具中将该频段提升 3-5dB,同时衰减 1kHz 以上高频,让脚步声更突出。电竞玩家无需购买昂贵游戏耳机,即可获得听声辨位的优势。
| 维度 | 本工具 (EQ 均衡器) | 竞品 A (Audacity 内置 EQ) | 传统方法 (硬件调音台) |
|---|---|---|---|
| 数据隐私 | 纯浏览器处理,音频不上传服务器 | 本地软件处理,音频不离开电脑 | 完全依赖硬件,无数据上传问题 |
| 处理速度 | 即时反馈,调整滑块实时预览 | 需点击应用后渲染,延迟约 1-3 秒 | 物理旋钮/推子,实时无延迟 |
| 离线可用 | 首次加载后完全离线可用 | 完全离线可用 | 完全离线,无需软件 |
| 大小限制 | 受浏览器内存限制,建议 100MB 以内 | 无严格限制,取决于电脑性能 | 无限制,取决于硬件通道数 |
| 收费 | 免费,无隐藏费用 | 免费开源 | 硬件成本数百至数千元 |
| 注册 | 无需注册或登录 | 无需注册 | 无需注册 |
| 平台 | 任何现代浏览器 (Chrome/Firefox/Edge/Safari) | 仅限 Windows/macOS/Linux 桌面端 | 物理设备,独立于操作系统 |
| 精度与频段 | 支持 10 段均衡,±12dB 调节 | 支持 20+ 段均衡,±24dB 调节 | 通常 3-7 段,调节范围取决于硬件 |
| 操作门槛 | 零安装,打开即用,适合快速调节 | 需下载安装,学习曲线中等 | 需专业音频知识,操作复杂 |
上手步骤 · 输入输出 · 避坑提示
| 输入 | 输出 | 说明 |
|---|---|---|
| 100 Hz: +6 dB; 1000 Hz: -3 dB; 10000 Hz: +2 dB | 频率响应曲线:100 Hz 增益 +6 dB,1000 Hz 衰减 -3 dB,10000 Hz 增益 +2 dB。生成音频文件:output_eq.mp3 | 典型场景:三段均衡器,分别调节低频、中频、高频 |
| 60 Hz: +10 dB; 250 Hz: +5 dB; 4000 Hz: -5 dB; 16000 Hz: +3 dB | 频率响应曲线:60 Hz 增益 +10 dB,250 Hz 增益 +5 dB,4000 Hz 衰减 -5 dB,16000 Hz 增益 +3 dB。生成音频文件:output_eq.mp3 | 典型场景:四段均衡器,增强低音和高音,削减中高频 |
| 20 Hz: +12 dB | 频率响应曲线:20 Hz 增益 +12 dB。生成音频文件:output_eq.mp3 | 边界 case:极低频单点调节,测试低频极限增益 |
| 20000 Hz: -12 dB | 频率响应曲线:20000 Hz 衰减 -12 dB。生成音频文件:output_eq.mp3 | 边界 case:极高频单点调节,测试高频极限衰减 |
| 1000 Hz: 0 dB | 频率响应曲线:1000 Hz 增益 0 dB。生成音频文件:output_eq.mp3 | 边界 case:增益为 0 dB,验证无变化时的处理 |
| 500 Hz: +15 dB; 500 Hz: -15 dB | 频率响应曲线:500 Hz 增益 +15 dB,500 Hz 衰减 -15 dB。生成音频文件:output_eq.mp3 | 易错 case:同一频率同时设置增益和衰减,工具按顺序叠加处理 |
| 100 Hz: +6 dB; 100 Hz: +6 dB | 频率响应曲线:100 Hz 增益 +12 dB。生成音频文件:output_eq.mp3 | 易错 case:同一频率重复设置,增益值累加 |
所有频段都拉到 +12 dB先全部归零,逐个频段微调,总增益不超过 +6 dB数字音频中 0 dBFS 是上限,超出部分会被硬裁切,产生刺耳破音。EQ 的增益是叠加的,多个 +12 dB 叠加必然削波。
想提升人声清晰度,Q=20 中心频率 3kHz,增益 +8 dBQ=0.7 ~ 1.4,中心频率 2.5kHz ~ 4kHz,增益 +3 ~ +5 dBQ 值越高带宽越窄,只影响极窄频段。高 Q 适合消除单一频率啸叫,不适合整体音色调整。人声提升需要覆盖一个倍频程。
低切频率设在 200 Hz,斜率 48 dB/oct低切频率设在 40 ~ 80 Hz,斜率 12 ~ 24 dB/oct贝斯最低音约 40 Hz,底鼓基频约 60 Hz。200 Hz 低切会严重削弱低频节奏组,导致声音单薄。斜率越陡相位偏移越大。
20 Hz 频段增益 +10 dB20 Hz 频段保持 0 dB 或做低切处理20 Hz 以下人耳几乎听不到,但会消耗大量功放功率、推动无意义振膜位移,导致低频浑浊且容易烧毁低音单元。
把所有频段都拉高来让声音更响先调整体音量到合适水平,再用 EQ 做减法(衰减而非提升)EQ 提升会引入更多本底噪声和失真风险。正确的做法是:先调音量到 -6 dB 左右峰值,再用 EQ 衰减不需要的频段。
在 1kHz 处设了两个频段,一个 Q=1 增益 +3dB,另一个 Q=0.5 增益 +2dB合并成一个频段:1kHz,Q=0.7,增益 +5dB重叠频段会产生不可控的相位叠加,实际增益不是简单的加法,可能在某些频率出现峰谷纹波(comb filtering)。
试图用 EQ 消除空调嗡嗡声(50 Hz 工频噪声)先用降噪插件做噪声门或频谱降噪,再用 EQ 微调音色EQ 只能调整频率响应的幅度,无法区分信号和噪声。衰减 50 Hz 同时也会衰减该频段的音乐内容,且无法消除噪声的谐波成分。
输入是 320 kbps MP3,输出选 128 kbps MP3输出选无损格式(WAV/FLAC)或与原文件相同码率有损格式之间转码会累积编码损失(generation loss)。320→128 kbps 会丢弃高频细节,且无法恢复。建议保持或升级到无损格式。
公式推导 · 流程图解 · 依据出处
y[n] = b0·x[n] + b1·x[n-1] + b2·x[n-2] - a1·y[n-1] - a2·y[n-2]
y[n] — 当前输出采样点幅值x[n] — 当前输入采样点幅值b0, b1, b2 — 前馈系数(由中心频率/Q/增益计算)a1, a2 — 反馈系数(由中心频率/Q/增益计算)n — 离散时间索引(采样点序号)设 1kHz 峰值滤波器,采样率 44100Hz,Q=1.0,增益 +6dB。代入双线性变换后得 b0=1.0003, b1=-0.0006, b2=-0.9997, a1=-0.0006, a2=0.9994。输入正弦波 1kHz 幅值 1.0,第 100 个采样点:y[100] = 1.0003×1.0 + (-0.0006)×0.9999 + (-0.9997)×0.9997 - (-0.0006)×0.9999 - 0.9994×0.9997 ≈ 2.0,即幅值放大至 2.0(+6dB)。
适用于数字音频 IIR 双二阶滤波器(峰值/低通/高通/带通/陷波),采样率 8000-192000Hz。基于 Robert Bristow-Johnson 的 Audio EQ Cookbook 算法(1996)。不适用于 FIR 滤波器或模拟电路仿真场景。
3 种主流语言 · 复制即用
import numpy as np
from scipy.signal import butter, sosfilt
# 设计一个 10 段图示均衡器(ISO 中心频率:31.5, 63, 125, 250, 500, 1k, 2k, 4k, 8k, 16k Hz)
# 用户调节各频段增益(dB),生成对应的 IIR 滤波器并应用到音频信号
SAMPLE_RATE = 44100 # Hz
# 用户设置的 10 段增益(dB),正数提升,负数衰减
band_gains_db = [3.0, -2.0, 0.0, 1.5, -1.0, 2.0, 0.5, -3.0, 4.0, 0.0]
# ISO 1/3 倍频程中心频率
center_freqs = [31.5, 63, 125, 250, 500, 1000, 2000, 4000, 8000, 16000]
# 生成每个频段的二阶带通滤波器(Q=1.41,即 1 倍频程带宽)
sos_list = []
for gain_db, fc in zip(band_gains_db, center_freqs):
if abs(gain_db) < 0.5: # 接近 0dB 的频段跳过,节省计算
continue
# 将 dB 增益转为线性幅度
gain_linear = 10 ** (gain_db / 20.0)
# 峰值滤波器(peaking EQ)系数
Q = 1.41
w0 = 2 * np.pi * fc / SAMPLE_RATE
alpha = np.sin(w0) / (2 * Q)
A = np.sqrt(gain_linear)
b0 = 1 + alpha * A
b1 = -2 * np.cos(w0)
b2 = 1 - alpha * A
a0 = 1 + alpha / A
a1 = -2 * np.cos(w0)
a2 = 1 - alpha / A
# 归一化系数
sos = [b0/a0, b1/a0, b2/a0, 1.0, a1/a0, a2/a0]
sos_list.append(sos)
# 示例:生成 1 秒白噪声并应用均衡
np.random.seed(42)
audio = np.random.randn(SAMPLE_RATE) * 0.1 # 白噪声
if sos_list:
# 级联所有频段滤波器
for sos in sos_list:
audio = sosfilt(sos, audio)
print(f"均衡后音频长度: {len(audio)} 采样点")
print(f"峰值幅度: {np.max(np.abs(audio)):.4f}")package main
import (
"fmt"
"math"
)
// 简易 3 段均衡器(低音/中音/高音)实现
// 使用双二阶滤波器(biquad filter)级联
type Biquad struct {
b0, b1, b2 float64
a0, a1, a2 float64
x1, x2 float64
y1, y2 float64
}
// 创建峰值滤波器(peaking EQ)
func NewPeakingEQ(fc, gainDB, Q, sampleRate float64) Biquad {
w0 := 2 * math.Pi * fc / sampleRate
alpha := math.Sin(w0) / (2 * Q)
A := math.Pow(10, gainDB/40.0) // 幅度平方根
b0 := 1 + alpha*A
b1 := -2 * math.Cos(w0)
b2 := 1 - alpha*A
a0 := 1 + alpha/A
a1 := -2 * math.Cos(w0)
a2 := 1 - alpha/A
return Biquad{
b0: b0 / a0, b1: b1 / a0, b2: b2 / a0,
a0: 1.0, a1: a1 / a0, a2: a2 / a0,
}
}
func (b *Biquad) Process(input float64) float64 {
output := b.b0*input + b.b1*b.x1 + b.b2*b.x2 - b.a1*b.y1 - b.a2*b.y2
b.x2, b.x1 = b.x1, input
b.y2, b.y1 = b.y1, output
return output
}
func main() {
sampleRate := 44100.0
// 三段 EQ 参数:低音 80Hz / 中音 1kHz / 高音 8kHz
eqBands := []struct {
fc float64
gainDB float64
Q float64
}{
{80, 3.0, 0.7}, // 低音 +3dB
{1000, -1.5, 0.7}, // 中音 -1.5dB
{8000, 2.0, 0.7}, // 高音 +2dB
}
// 初始化滤波器链
filters := make([]Biquad, len(eqBands))
for i, band := range eqBands {
filters[i] = NewPeakingEQ(band.fc, band.gainDB, band.Q, sampleRate)
}
// 模拟处理 10 个采样点
inputSignal := []float64{0.1, -0.2, 0.3, -0.1, 0.05, -0.05, 0.15, -0.25, 0.2, -0.1}
outputSignal := make([]float64, len(inputSignal))
for i, sample := range inputSignal {
x := sample
for _, f := range filters {
x = f.Process(x)
}
outputSignal[i] = x
}
fmt.Printf("输入前 3 个采样: %.4f\n", inputSignal[:3])
fmt.Printf("均衡后前 3 个采样: %.4f\n", outputSignal[:3])
}
// 浏览器端 Web Audio API 实现 10 段图示均衡器
// 可直接在浏览器控制台运行(需用户交互触发 AudioContext)
function createGraphicEQ(audioContext, bands) {
// bands: [{freq: number, gain: number (dB)}]
// 返回 {input: GainNode, output: GainNode, filters: BiquadFilterNode[]}
const input = audioContext.createGain();
const output = audioContext.createGain();
const filters = [];
let prevNode = input;
for (const band of bands) {
const filter = audioContext.createBiquadFilter();
filter.type = 'peaking';
filter.frequency.value = band.freq;
filter.Q.value = 1.41; // 1 倍频程带宽
filter.gain.value = band.gain;
prevNode.connect(filter);
prevNode = filter;
filters.push(filter);
}
prevNode.connect(output);
return { input, output, filters };
}
// 使用示例(需在用户交互事件中调用)
// const ctx = new AudioContext();
// const eq = createGraphicEQ(ctx, [
// { freq: 31.5, gain: 3 },
// { freq: 63, gain: -2 },
// { freq: 125, gain: 0 },
// { freq: 250, gain: 1.5 },
// { freq: 500, gain: -1 },
// { freq: 1000, gain: 2 },
// { freq: 2000, gain: 0.5 },
// { freq: 4000, gain: -3 },
// { freq: 8000, gain: 4 },
// { freq: 16000, gain: 0 }
// ]);
//
// // 连接音频源
// const source = ctx.createMediaElementSource(audioElement);
// source.connect(eq.input);
// eq.output.connect(ctx.destination);
console.log('Web Audio API 均衡器模块已定义');
console.log('支持的频段: 31.5, 63, 125, 250, 500, 1k, 2k, 4k, 8k, 16k Hz');
console.log('增益范围: -40dB ~ +40dB');8 个高频疑问