MusicGenerate

测量居中人声的分离效果

居中信号到底消失了多少,哪些会幸存。

发布

一句话

带限的中/侧抵消把一个居中摆放的测试音削弱了 29.5 dB——大约 97% 的幅度——而同一文件里一个硬性单边摆放的音只损失了 0.5 dB。这个差距就是卡拉 OK 式人声去除的全部基础,而且它是可测量的,不是谁的主观意见。

方法

  1. 01

    合成一个 3 秒、44.1 kHz 的立体声 WAV,包含两个音:440 Hz 在双声道等幅(代指居中的主唱),2 kHz 仅在左声道(代指硬性单边的乐器)。

  2. 02

    用本站自带的分离引擎以伴奏模式处理该文件——采用中/侧分解,只在 180 Hz 到 9 kHz 之间取消中心,级联 24 dB/倍频程 分频器。

  3. 03

    把导出的 WAV 解码回 AudioBuffer,并在前 2 秒内用 Goertzel 滤波器测量 440 Hz 和 2 kHz 处的能量。

  4. 04

    把它们各自与未处理源上的同一测量作对比。

结果

测量数值备注
居中 440 Hz 音调−29.5 dB约 97% 被去除
硬声像 2 kHz 音调−0.5 dB基本未受影响
输出时长3.00 秒不变
输出声道2立体声保留
处理耗时< 1 秒在浏览器内,无需上传

发现

消除接近彻底,但只对完美居中的内容

左右声道幅度和相位完全相同的音调是理想情况,能衰减 29.5 dB。真实的人声从来没这么居中——微小的混响、叠唱和立体声拓宽差异都会留下残留。所以这个测量描述的是这项技术的上限,而不是商业成品里能拿到的结果。

带宽限制才让结果可用

朴素的 L−R 相消会把所有频率上居中的东西都抹掉,包括底鼓和贝斯。把相消限制在 180 Hz–9 kHz,可让这些频段之外保持完整,这也是为什么处理后的文件依然像音乐,而不是单薄的单声道伪影。侧向声像音调仅损失 0.5 dB,证明未触及的频段基本原样通过。

立体声宽度在处理前就能预示结果

这招完全依赖左右声道的差分,文件的侧/中能量比几乎能预判它是否可行。单声道没有可利用的差分,只会得到近乎静音——这就是为什么工具会先测这个,不符合就直接拒绝运行,而不是给你一份没用的文件。

局限

  • 合成音调是最佳情况;商业母带更窄、处理更多
  • 人声的混响与延迟尾音不在中心,会幸存于相消
  • 叠唱或硬声像到一侧的伴唱本来就会幸存
  • 基于一个浏览器内核测得;其他 Web Audio 滤波实现可能略有差异

测量居中人声的分离效果

居中信号到底消失了多少,哪些会幸存。