跳过导航
MuziAI

在浏览器里混人声:目标值从哪里来

人声应该比音乐低多少?我们从 144 首真实分轨录音中得出 −2.2 LU 的目标值,还有测试台抓出的四个 bug,以及自动修音的真实代价。

作者:MuziAI 团队。文中数据来自我们在开发 MuziAI 时亲自做的测量;初稿借助 AI 撰写,每个数字都已对照我们的测量记录核实。更新于 2026年10月13日。

自动混音工具必须用数字来回答问题:人声相对音乐有多响,均衡该动哪些频段,要不要把音高拉到音符上。这些目标值应该从哪里来?简短的答案是:MuziAI 的人声与音乐比例目标,是在 144 首带真实分轨的录音上测出来的,人声中位数比音乐低 2.2 LU,而不是取自本站自己生成的歌曲。我们的测试台抓出了四个 bug,而它们出现时,主要数字看起来都完全正常。至于自动修音,用两个独立的测量工具测过之后,发现它确实会损失人声清晰度,所以默认关闭。

从上方俯拍的调音台推子
从上方俯拍的调音台推子

为什么不从我们自己的歌里取目标值

最省事的做法是测量服务器上现成的伴奏与人声配对。一共有 57 对,但每一对都是本站生成的 AI 歌曲。用户上传来做分离的录音会在 24 小时后删除,所以剩下的人工混音配对是零。测这 57 对,告诉我们的是 AI 怎么混,而不是人怎么混。

所以我们用了一个公开的多轨录音数据集,带分离好的分轨:144 首歌,每首是 7 秒的预览片段,其中人声和伴奏是真正分开录制的音轨,而不是分离器的输出。

目标数字,以及页面用的是哪一个

指标数值来源
人声相对音乐,中位数−2.2 LU144 首真实分轨歌曲
四分位距(q1-q3)−4.3 到 −1.0 LU144 首真实分轨歌曲
同一测量,第二个独立测量工具−2.25 LU144 首真实分轨歌曲
本站的 AI 歌曲+1.9 LU本站歌曲
一首真实的越南歌曲+2.3 LU1 首歌
页面默认值+2 LU,滑块 ±4,标记在 −2.2我们的决定
混响宽度,侧声道相对中置−11.8 dB144 首歌人声的中位数
输出响度−14 LUFS母带目标

两个独立的测量工具结果一致(−2.2 和 −2.25),所以这个中位数很可靠。但它描述的是一个以摇滚为主的西方数据集。本站的 AI 歌曲把人声放在音乐之上 1.9 LU,我们测的那首真实越南歌曲是 +2.3 LU。所以页面默认值是 +2,配一个 ±4 的滑块,并在 −2.2 处加一个标记,让你看到另一种习惯在哪里。页面也直说了,我们的越南语样本只有一首歌。

均衡也按同样的思路处理。对每个倍频程频段,144 首歌的 q1-q3 范围宽 4-5 dB。工具只修正落在这个范围之外的频段,而且只拉到边缘,绝不拉到中位数:把每个声音都强行拉到中位数是在染色,会抹掉一个声音的个性。混响会一直调整,直到侧声道与中置的比例达到 −11.8 dB。在仅伴奏模式下,工具刻意不做自动均衡,因为不同风格的伴奏差别很大。想塑造伴奏的音色,就给它一首参考曲:倍频程频谱每一遍匹配 70%,共两遍,限制在 ±4 dB 以内,响度不照搬(保持在 −14 LUFS)。

测试台抓出的四个 bug,数字都看似合理

工具的响度和真峰值测量,在 10 个文件上全部与一个标准参考工具一致,误差在 0.05 以内。在 21 首人声被故意损坏的歌上做 42 项检查,42/42 全部通过。然而上线之前,测试台抓出了四个 bug,光看主结果表谁也发现不了:

  1. 限幅器在前 5 ms 放过了一个 +15.3 dBFS 的尖峰。 第一个采样之前的虚拟区域被当成了 1,把滑动平均拉高了。母带循环不断压低上限再把增益加回来,最后停在 −20 LUFS 和 +1.2 dBTP。
  2. 压缩器把人声压了约 30 dB,然后补偿增益又加了 +46 dB。 在一段有持续背景噪声的录音里,「噪声底 + 12 dB」比歌声本身还高,于是没有一帧被算作有声,阈值掉到了 −120。输出依然达到了 −14 LUFS,人声与音乐的比例也正确。直到加了一项检查「补偿增益是否大致等于压掉的量」的测试,才把它暴露出来。现在阈值永远不会低于峰值减 10 dB。
  3. 百分位函数每次调用都要排序一千万个数字,倍频程频谱还要把整首歌滤波四遍。改用稀疏百分位、在 10 段 3 秒的片段上做分析、对整首歌只滤波一遍之后,处理时间从 30 秒降到 9.5 秒。
  4. 时钟在测试机上返回了负时间(−50 秒)。 现在改用浏览器的单调时钟。

第 2 个 bug 的教训:一个只问输出响度对不对的测试台,会放过一个毁掉人声的压缩器,因为母带环节把问题掩盖了。修复之后,一首带和声的四分钟歌曲在浏览器里处理只需 11.8 秒。

自动修音:两个测量工具与真实代价

工具的自动修音以 10 ms 为一帧追踪音高,把每个人声周期推向目标音符。「轻度」设置在 ±70 ms 内移动每个音符的中心,并保留颤音;「强力」则强制修正每一帧。我们用自己的测量工具和一个独立的语音学工具来测,样本包括一个已知答案的合成人声,以及一个被推偏 +30 音分的真实人声:

情况音高误差,本站测量(音分)音高误差,独立测量(音分)Jitter (%)HNR (dB)
合成人声,偏 20-45 音分31.734.00.1339.2
→ 轻度修音后(颤音 9.3 → 8.0)5.09.20.7128.4
→ 强力修音后(颤音降到 2.9)1.12.80.6928.0
真实人声,推偏 +30 音分未测量30.6(原本 11.0)1.0017.9
→ 轻度修音后10(原为 32)12.31.1917.4
→ 强力修音后56.51.2417.1

自动修音完成了它的任务:按独立测量工具,真实人声从偏约 30 音分降到约 12 音分。最后两列是代价。Jitter(相邻振动周期长度的差异,听起来就是粗糙感)升高约 0.2 个百分点,HNR(谐波噪声比,越高越干净)下降 0.5 到 0.8 dB。所以自动修音默认关闭,页面上也说明了原因。

自动修音的测试台用一个非常简单的案例又抓出了两个 bug:如果没什么需要修正,输出就必须等于输入。进入有声区域时,合成标记没有对齐到分析标记,而且合成步骤用的是估计的音高周期,而不是标记之间的真实距离,于是误差不断累积,整段整段地偏离相位。修复之前,输出与输入的匹配度(SNR)只有 −2.6 dB;修复之后是 150 dB,完全一致。所有音高准确度的案例从一开始就通过了,只有这个恒等案例暴露了这些 bug。

局限与未解的问题

  • 我们带分轨的越南语样本只有一首歌(+2.3 LU)。+2 的默认值依据的是这首歌加上本站的 AI 歌曲,而不是一次大规模测量。
  • 144 首歌的数据集都是 7 秒的预览片段,而且以摇滚为主。它是人声与音乐平衡的好参考,但不能代表所有风格。
  • 自动修音在一个合成人声和一个真实人声上测试过;你的声音付出的代价可能不同。
  • 在 T-Pain 模式下,音准按测得的理想上限(89%)来评判,产品达到 87%;没有人为挑选的 90% 阈值。
  • AI 人声本来就在音准上(8-9 音分),所以轻度自动修音对 AI 歌曲几乎没有改变。

这对你生成歌曲意味着什么

  1. 从 +2 的默认值开始。想要西方流行或摇滚的平衡,就往 −2.2 的标记滑;想贴近我们测的那首真实越南歌曲(+2.3),就保持在 +2 左右。
  2. 在同样 −14 LUFS 的响度下对比处理前后。更响的版本往往听起来「更好」,所以在不同音量下对比会骗到你。
  3. AI 生成的歌曲,保持自动修音关闭。人声本来就准,打开它只会损失清晰度。
  4. 你自己的录音如果有音准问题,先试轻度,仔细听长音。如果听到粗糙感,那就是上面测到的 jitter 代价。
  5. 如果想让伴奏带上某首歌的色彩,就把那首歌作为参考曲,而不是指望伴奏的自动均衡。
  6. 还没有可以混音的歌?在 MuziAI 首页 生成一首,再把人声和伴奏放进自动混音工具。

立即在 MuziAI 试用

免费,无需注册。输入一个创意,AI 自动写词并生成完整歌曲。

生成歌曲