一首编曲偏满的流行歌跑完多轨分离,六条轨整整齐齐摆在工程里:人声、鼓、贝斯、钢琴、吉他、其他。前五条都能对上号,唯独最后那条「其他」让人犯难——solo 出来一听,弦乐在里面,合成器的 pad 在里面,副歌的和声在里面,间奏那点环境声也在里面。可它同时又哪儿都不完整:低频是空的,中频像被挖走一块,鼓点只剩下碎屑。

软掩码与补集:其他轨是怎么被算出来的
分离模型在短时傅里叶变换(STFT)的幅度谱上工作,输出是一组时频掩码(Time-Frequency Mask)。对每一个时间帧、每一个频点,模型给出六个 0 到 1 之间的权重,表示「这个时频块里各源占多少」。
多数实现会做归一化,让六个权重之和等于 1,这叫软掩码(Soft Mask)。归一化之后,第六路的掩码可以直接由前五路推出来:
M_other(t,f) = 1 – Σ M_k(t,f), k ∈ {人声, 鼓, 贝斯, 钢琴, 吉他}
也就是说,其他轨从来不是「被识别出来的」,而是「被剩下的」。这个设计带来两个直接后果。
第一,模型的训练标签决定了它的边界。公开数据集里最经典的四轨定义是人声、鼓、贝斯、其他;后来加入钢琴、吉他的数据集,把原来「其他」里的两部分拆了出来,才形成六轨。所以六轨的本质是四轨加两次细分,剩下的那部分内容自然更杂。
第二,六条轨重建时通常共用混合信号的相位(Mixture Phase),只各自取用幅度谱。相位没有被拆分,各轨相加时不会精确抵消,也不会精确复原——只能在听感上接近。

三个边界,决定这条轨能干什么、不能干什么
边界一:它装的是所有「没被认领」的乐器
弦乐组、铜管、木管、合成器、风琴、人声和声、音效、观众环境声,全部落在这一条轨上。它们之间没有任何共同点,唯一的共性就是「不属于前五类」。
所以在其他轨上做 EQ 或压缩,等于对一堆互不相关的素材同时动手:想压掉合成器的硬度,弦乐的弓噪也跟着变钝;想提一点铜管的亮度,和声的齿音先刺起来。这条轨适合当参考或整体垫底,不适合当独奏素材精修。

边界二:归属由每帧能量占比和训练先验共同决定
同一个乐器,在不同段落可能被分到不同轨上,这在多轨结果里非常常见。
原因在掩码的判定方式:每个时频块独立判断,依据是该块的能量分布与训练中学到的先验。弦乐弱奏时,谐波结构与钢琴高度接近,容易被划进钢琴轨;合成器 pad 起音的那一下有宽带瞬态,可能被鼓轨拿走,稳态部分留在其他轨。一首歌里弦乐从弱到强,前半段进钢琴轨、后半段进其他轨,是正常现象,不是工具出错。
这也解释了一个常被问的问题:为什么其他轨在某些小节突然变空?因为那几秒里,它的能量被前五路分完了,补集自然是零。

边界三:六轨相加不等于原曲,其他轨不能当精确差值
拿原曲减去五条轨,想用反相相减得到一条「纯净的其他」,是行不通的。
三个原因叠在一起:掩码不是正交分解,各源之间存在能量重叠;STFT 的重叠相加(Overlap-Add)在帧边界有重建误差;六轨共用混合相位,幅度相加时相位并不对齐。实测把六轨按原比例相加再与原文反相相减,残差通常在 -15dB 到 -25dB 之间——听感上就是「差不多,但不干净」。
所以其他轨只能作为创作素材,不能作为信号处理意义上的精确分量。任何依赖「完全抵消」的用法,都会在这个残差上翻车。

把「其他」当成一条需要解释的轨,而不是一条成品轨
多轨分离最容易踩的坑,是把六条轨当成六个干净的乐器。真实情况是:前五条是模型认为能认出来的,第六条是它认不出来但必须有个去处的。搞清楚补集是怎么来的、归属为什么会漂移、相加为什么对不上原曲,很多「工具不行」的抱怨会自动消失——不是工具变好了,是你不再向它要它给不出的东西。真正决定成品质量的,往往不是轨道数量,而是你知不知道每一条轨里到底装着什么。
网硕互联帮助中心




评论前必须登录!
注册