# Separating Vocals from Music

How an AI separates a mixed song's spectrogram into vocals, drums, bass and other instruments, using masks that score each cell\. Also shows the older left\-minus\-right trick\.

By happy\-gecko\-396097e7

Topic: Art, Music &amp; Film

[Open the interactive Jig](https://ask.jig.com/j/rfC54ZX6RRs2)

## Transcript

### 1. 一首歌，是一锅声音汤

录好的歌里，人声、鼓、贝斯和其他乐器早就混在了一起，变成同一条声波。想把人声单独拿出来，就像要从一碗汤里把盐挑出来。拖动场景可以四处看看。

这件事叫“音源分离”：从混合好的声音里，猜出每一种声音原来的样子。

### 2. 把声音画成一幅图

电脑先把声音变成一张“频谱图”。从左到右是时间，从前到后是音高，每根小柱子越高，那个音在那一刻就越响。

一秒钟的 CD 音质声音，要记录 44100 个数字。

### 3. 每种声音长得不一样

换上颜色就能看出来：橙色的人声像弯弯的波浪，蓝色的鼓声是一道道竖线，紫色的贝斯趴在最低处，绿色是其他乐器。可它们常常挤在同一个格子里。

人声大约分布在 200 到 5000 赫兹之间，正好和吉他、钢琴重叠。

### 4. 老办法：左右相减

歌手通常放在正中间，左右两个音箱里的人声一模一样。把一边的声波上下翻转再和另一边相加，一模一样的部分就会互相抵消。按下按钮看看会发生什么。

代价是：贝斯和底鼓通常也在中间，会跟着一起消失；混响和宽阔的和声却留了下来。

### 5. AI 先做功课

新办法是请 AI 当学生。它反复练习很多首“带答案”的歌：每首歌都有混合版，也有人声、鼓、贝斯和其他乐器各自单独的录音。

一个常用的练习集叫 MUSDB18，有 150 首歌，大约 10 小时。

### 6. 给每个格子打分

AI 为频谱图里的每个格子打一个 0 到 1 的分，叫做“遮罩”：越像人声，分越高。用混合声音乘上这张遮罩，留下的就主要是人声。拖动滑块试试。

人声和乐器重叠的格子只能按比例分一分，所以分离结果会有一点点模糊。

### 7. 一层一层分开

对每一种声音都做一张遮罩，混合的频谱图就能拆成四层：人声、其他乐器、鼓和贝斯。最后再把每一层变回声音，就得到了四条单独的音轨。

有的模型还直接处理声波本身，再把两种看法合在一起，效果更好。

### 8. 不完美，但很神奇

点一点任意一层，把它单独亮出来。仔细看，人声层里还残留着一点别的声音，因为 AI 只是在猜。可这已经足够用来做伴奏、练唱，或者修复老录音。

衡量分离效果的分数叫信号失真比。顶尖模型大约能达到 9 分贝：很干净，但还不是原版。
