音轨分离实战:提取贝斯声部做扒带与混音处理
2026/9/3 21:53:51 网站建设 项目流程

如果你想把《杀死那个石家庄人》的贝斯声部扒下来学习、翻弹,或者把它重新放进自己的混音工程里,会遇到一个很现实的问题:网上能搜到的谱子大多是文字谱或简化版,细节经常和原曲对不上;直接听原曲,贝斯又和吉他、鼓、小号叠在一起,低音区域黏糊糊的,很难听清楚音符。这篇文章不打算从文学或歌词角度分析这首歌,而是把它当作一次音频工程练习:如何从一首完整的混音成品中,分离出一条相对干净的贝斯音轨,再完成听音扒带与基础混音处理。整个过程会覆盖软件环境、分离工具、检查波形的 Python 脚本、常见参数坑点,以及工程管理建议,适合音乐制作初学者、贝斯手,也适合对开源音频工具感兴趣的开发者。

1. 为什么需要一条干净的贝斯音轨

对很多贝斯手来说,扒带是每天都要做的事。但类似《杀死那个石家庄人》这种编曲层次丰富的歌曲,贝斯并不是随时都站在最前面。它的低音线条经常和底鼓共用一个频段,偶尔还会被失真吉他和萨克斯/小号段落盖住。想在原曲里逐音听清贝斯,其实相当费耳朵。

如果能先把贝斯声部单独抽出来,学习过程会变得很轻松。我们可以把速度放慢、把低频区域放大,甚至只盯着波形和频谱去判断音符起始点。尤其是在做翻弹视频时,一条干净的贝斯音轨还能充当参考轨:你可以把自己的真实贝斯录音和分离轨一起播放,逐小节对比音色、时值和力度。

这类需求在音频圈里有很常见的叫法:音轨分离,英文常写作 stem separation 或 source separation。它本质上不是“找现成伴奏”,而是用算法把已经混合好的录音拆成若干个声部,常见拆分方式包括人声、贝斯、鼓、其他乐器四组。拆出来之后,无论你是用于扒谱、做 Remix、做伴奏,还是单纯练习听力,都比对着成品反复倒带高效得多。

技术选型方面,目前比较流行的开源工具有 Meta 的 Demucs 和 Deezer 的 Spleeter。两个工具都能把歌曲拆出 bass 音轨,但模型思路和最终音质表现有差异。下面会介绍安装过程、实际拆分命令,以及如何处理分离后可能出现的“不干净”现象。

2. 基础认知:音轨分离能帮你到什么程度

在开始输入命令之前,先建立几个必要的认知。这样后面遇到分离结果不理想时,你不会以为是软件坏了。

2.1 原始录音是混音成品,不存在官方贝斯分轨

绝大多数商业唱片发布时是立体声成品,听众拿到的是所有声部混合后的结果。除非唱片公司额外发售多轨分轨文件,否则我们不可能直接从 MP3 里“解压”出真正的贝斯音轨。音轨分离模型做的是估计和重建:它根据贝斯在语谱图上的频率分布、谐波结构和时间包络,把属于贝斯的能量从混合信号中剥离出来。

这意味着分离结果不等于真正的“干声”,里面仍可能残留少量鼓、吉他泛音或房间底噪。反向理解也一样:如果你自己弹了一段贝斯准备混音,不必把原曲里的贝斯“完全压没”,因为成品本来就存在声学重叠。

2.2 音轨分离工具的模型原理

以 Demucs 为例,它属于深度学习音源分离模型。输入是一段混合音频,模型会把它转换为频谱特征,再通过掩码方式区分不同声源,最后还原成波形。它的优点是能处理较复杂的音乐结构,拆分出来的贝斯声部经常比其他老模型更完整、更少“水声”。

Spleeter 则基于 TensorFlow,提供了多个预训练方案。4stems 模型会把音频拆成人声、贝斯、鼓、其他四轨。由于其部署历史较早,在很多教程中被广泛使用,运行速度也快,但复杂编曲下分离质量通常不如 Demucs 新版本稳定。

可以说,Demucs 更适合追求分离质量的学习场景;Spleeter 更适合快速出草稿、批量处理素材的场景。两者不需要二选一,配置允许的话完全可以都安装。

2.3 分离之后仍然要人工判断

这是很多初学者最常踩的误区:以为分离出来的 bass.wav 一定是“标准答案”。实际上,模型可能把某些低频钢琴音放到 bass 轨,也可能把贝斯泛音的一部分分给 other 轨。所以分离只能作为辅助,真正扒带时还是要结合原曲和弦走向、鼓点位置以及耳朵判断,最终确定某个音到底是根音、经过音还是装饰音。

一旦你理解了分离结果只是“接近贝斯的估计”,后续做混音处理时的心态就会正确很多:你会去修剪、处理、对照原曲,而不是直接把分离轨当成唯一真相。

3. 环境准备:需要哪些软件和文件结构

接下来的操作以 Windows / macOS / Linux 均可运行为前提,因为 Demucs 和 Spleeter 都是跨平台的 Python 命令行工具。如果你不是程序员,也不用害怕,下面每一步都会给出完整命令,复制到终端执行即可。

3.1 安装 Python 与基础依赖

Demucs 和 Spleeter 都依赖 Python 环境。建议使用 Python 3.9 或更新的稳定版本,因为旧版本可能与新版本 PyTorch 不兼容。如果你电脑里还没装 Python,可以从官网下载安装包,安装时记得勾选“Add Python to PATH”。

本文示例不绑定某个精确版本号。这些开源工具迭代速度很快,不同安装时间拿到的依赖版本可能不同,所以下面的命令会先教你查看安装结果,而不是假设某个固定版本一定能跑通。

3.2 推荐安装 Demucs

Demucs 官方推荐通过 pip 安装:

pip install -U demucs

安装完成后,查看帮助信息:

python -m demucs --help

如果看到类似“usage: demucs”的输出,说明安装成功。如果没有,可以尝试重启终端,或者检查 Python 是否真的加入了 PATH。

Demucs 运行时需要 PyTorch。第一次执行分离时,工具会自动下载预训练模型权重,所以需要保持网络畅通。这里的网络要求是正常的软件下载行为,和任何代理工具无关,务必使用官方源或可信镜像完成安装。

3.3 安装 Spleeter 作为备选

如果你希望有一个备选方案,可以再安装 Spleeter:

pip install spleeter

Spleeter 首次运行也会下载预训练模型,默认放在当前用户目录下。由于历史版本较多,如果你在使用 spleeter 命令时遇到 TensorFlow 兼容性报错,可以先升级到新版,再根据报错信息搜索对应的迁移方案。

3.4 准备音频文件与项目文件夹

建议专门建立一个工程目录,避免分离输出和原版音频混在一起。比如在你常写音乐工程的位置创建下面这样的结构:

BassProject/ 00_Source/ # 存放原始歌曲文件 10_Separated/ # 存放分离结果 20_Work/ # 存放处理后的贝斯片段 90_Export/ # 存放最终成品

把歌曲文件放入00_Source中。这里需要强调一下:请使用你已经拥有合法使用权利的音频文件,例如自购数字专辑、CD 翻录或乐队官方提供的试听素材。分离技术用于学习和创作没有问题,但在未授权情况下用分离出来的人声/伴奏做商业发布,或直接二次分发分轨文件,仍然属于侵权风险行为。

4. 实战:把贝斯音轨从原曲里分离出来

现在进入正式操作。假设你已经把歌曲文件命名为song.flac,并放在00_Source目录中。下面我们分别用 Demucs 和 Spleeter 完成分离。

4.1 用 Demucs 一键分离四轨

在项目根目录打开终端,执行:

python -m demucs --name htdemucs --outdir ./10_Separated "./00_Source/song.flac"

参数说明:

  • --name htdemucs:指定使用 htdemucs 模型。这是 Demucs 提供的混合变换模型,分离质量比较均衡,适合音乐素材。
  • --outdir ./10_Separated:指定输出目录。
  • 最后面是输入文件路径。

执行时终端会显示进度条。如果没有指定--two-stems,默认会拆分四个声部:bass.wavdrums.wavother.wavvocals.wav。输出路径通常是在输出目录下再按模型名和歌曲名建立文件夹,你可以直接进入10_Separated里查看。

如果你只需要贝斯和伴奏两轨,也可以使用:

python -m demucs --two-stems=vocals --outdir ./10_Separated "./00_Source/song.flac"

但需要注意,--two-stems并不是只保留“贝斯 + 伴奏”,它会把除了指定声部之外的声音合并成一轨。如果你主要想研究贝斯,建议还是先完整拆四轨,再单独提取里面的bass.wav

4.2 用 Spleeter 分离作为对比

Spleeter 的命令相对简洁:

spleeter separate -i "./00_Source/song.flac" -o ./10_Separated/spleeter -p spleeter:4stems

参数说明:

  • -i:输入文件。
  • -o:输出文件夹。
  • -p spleeter:4stems:指定模型方案,4stems表示四声部。

运行完成后,10_Separated/spleeter/song目录下会出现四个文件。你可以把 Demucs 和 Spleeter 分别生成的bass.wav都拖入 DAW 试听,感受两者的差别:一种可能更干净但贝斯尾音偏薄,另一种可能低频更厚但残留了一些鼓声。最后选更接近原曲听感的那一版继续用。

4.3 用 Python 快速绘制贝斯轨波形

分离完成后,直接用耳朵听当然可以。但如果你想更客观地观察贝斯轨的段落结构,可以写一个小脚本绘制波形。下面是一个基于 SciPy 和 Matplotlib 的示例,适合查看整轨时长和响度分布。

代码文件路径可以放在项目根目录,例如tools/check_wav.py

# 文件路径:tools/check_wav.py import sys import numpy as np import matplotlib.pyplot as plt from scipy.io import wavfile if len(sys.argv) < 2: print("用法:python tools/check_wav.py <音频文件>") sys.exit(1) file_path = sys.argv[1] sr, data = wavfile.read(file_path) if data.ndim > 1: data = data.mean(axis=1) time = np.arange(len(data)) / sr duration = len(data) / sr print(f"采样率:{sr} Hz") print(f"时长:{duration:.2f} 秒") plt.figure(figsize=(12, 4)) plt.plot(time, data, linewidth=0.2, color="blue") plt.title("Bass Track Waveform") plt.xlabel("Time (s)") plt.ylabel("Amplitude") plt.xlim(0, duration) plt.tight_layout() plt.savefig("bass_waveform.png", dpi=150)

运行命令:

pip install scipy matplotlib python tools/check_wav.py "./10_Separated/htdemucs/song/bass.wav"

脚本会打印音频的采样率和时长,并在项目根目录生成一张bass_waveform.png图片。通过波形文件,你可以快速看出歌曲的大致段落:前奏波峰较少,进入主歌后低频起伏变密,副歌时响度通常更大。配合 DAW 里的时间标尺,能为后续扒带节省不少时间。

4.4 导入 DAW 里对齐

分离出的 WAV 没有自动伴奏,也没有节拍标记,所以最好用 DAW 与原曲对齐后再分析。以 Reaper、Logic Pro、Cubase 等常见 DAW 为例,把原曲放在第一轨,把bass.wav放在第二轨,然后让两者的开头对齐。如果歌曲本身速度恒定,可以打开节拍器并手动试出 BPM,这样后续标记音符会更方便。

对齐时,不要把波形整体拖到看不见的地方。建议将贝斯轨调整为与原始曲目相同长度,并在两个轨道的开头位置建立标记。之后每次 Solo 贝斯轨,反复听某个段落,都从起点开始按空白键播放,能避免只听到一段脱离和声语境的低音。

5. 从贝斯音轨到扒谱

有了相对干净的贝斯音轨,接下来才是真正的音乐功底工作:确定音符、节奏和指法。

5.1 先确定歌曲的调式和节拍

扒带的第一步并不是急着找第一个音。你需要先知道这首歌大概是什么调、什么拍子。你可以在 DAW 中边播放贝斯轨边用钢琴或调音器找根音。最常用的方法是从低音谱号角度判断:找到一段结束感很强的低音,试试它是否与整首歌的主音吻合。

《杀死那个石家庄人》的现场版与录音室版本在速度和演唱细节上有差异,具体调位一定要以你手头音频的实际听感为准,不要照搬别人的文字谱。节拍方面,你可以听底鼓和贝斯结合的律动,判断是 4/4 拍还是其他复合拍子。对这类经典的摇滚/独立作品,常见编曲会以稳定的四分或八分为基底,但这不意味着你能跳过听觉验证。

5.2 分离轨只给音高,不给指法

即使分离轨非常干净,它也只能告诉你“贝斯弹了什么音”,不能直接告诉你“乐手在第几品用什么手指弹的”。同一个音在贝斯上有好几种按法,不同把位音色也不同。如果你想在原曲的音色质感上更贴近,扒完音名后还要去琴上试,寻找最顺手的把位,并关注空弦音是否被频繁使用。

听音时可以只循环一个四小节乐句。比如先判断第一大句的根音进行,把它写下来,再逐步补全节奏。不要试图一次听完一整段,因为人耳对低音的记忆衰减很快,循环越长越难判断。

5.3 记录根音并建立和弦对照表

建议用表格记录段落、小节数、根音和听感特征。下面只是记录方法的示例,不是这首歌的真实完整谱例:

段落小节范围贝斯根音走势听感特征
前奏1 - 8低音围绕主音级进宽松,长音较多
主歌 A9 - 16下行后回到主音律动更明显
副歌17 - 24低音跨度变大力度更强,与鼓贴合

这种方法能让你快速把握全曲框架。具体音名请自行对照音频,千万不要先用网上某个调性结论去套,那样容易错过原曲中很有特点的临时变化音。

5.4 处理分离轨的“开头和结尾”

模型分离出的贝斯轨经常会在音符开头带一点瞬态噪声,在音符结尾则可能拖出轻微的混响或嘎吱声。扒谱时如果这些噪声影响判断,可以在 DAW 里给贝斯轨加一个轻量高通滤波。贝斯基频一般不会低于 40 Hz,把 30 Hz 以下切除不会伤害音高,但能去掉不少无用的低频震动声。

还要注意,不要把分离轨开头多余的一小段空白当成贝斯长音。原曲如果前奏没有贝斯,模型可能仍会输出细微的环境底噪,听起来像低频嗡鸣,但不代表真有音头。扒谱时,最好对照原曲确定贝斯真正进入的时间点,再以那个位置为起点记录。

6. 混音视角:让贝斯音轨更清晰可控

如果你不只想扒谱,还想把分离出来的贝斯音轨用于自己的重新混音或 Remix,那么还需要学会清理和增强。

6.1 先决定贝斯在重新混音里的角色

在原曲里,贝斯和底鼓共同承担低频冲击。如果你重新制作的版本里没有保留原鼓,或者鼓的音色完全不同,直接使用原曲分离出的贝斯轨可能并不合适。你需要决定的是:贝斯轨只是参考,还是作为新作品的低音声部?如果是参考,就不用做大改动;如果是真正放进新混音,就要按新编曲的频段分布调整它。

一个比较稳妥的做法是在新工程里先不添加太多效果,只用音量平衡判断贝斯轨和其他声部是否冲突。不要一开始就加一堆 EQ 和压缩,否则你很难判断冲突来自分离不纯净,还是来自混音本身。

6.2 用 EQ 清理贝斯轨

贝斯轨常见的处理思路是切除无用低频。可先在贝斯轨上挂一个 EQ,做 40 Hz 以下的高通滤波,并用 80 Hz 附近的小幅提升或衰减来判断厚度。如果你发现分离轨还有明显的鼓声残留,可以在鼓的基频位置做窄带衰减,比如 100 Hz 到 200 Hz 之间的某个频点。这个频点不能盲目套用,需要通过扫描方式找出来:在 EQ 上设置一个较窄的 Q 值,增益提升 6 dB 左右,然后慢慢移动频率,当听到某个频段让鼓的“嘭嘭”声明显变突出时,就是残留声所在的位置,再切衰减。

6.3 压缩与饱和处理

分离出来的贝斯轨有时动态不太稳定,因为模型可能在某些段落的音量还原不自然。给贝斯轨加压缩时,先用慢启动、中等释放比去控制波峰,不要让压缩器过度抽吸。贝斯音头需要保留,所以启动时间不要设得太快。

如果希望贝斯在小型音箱上也能被听到,可以加入谐波饱和效果器。饱和器能产生偶次谐波,让贝斯的中高频泛音更明显,但不会大幅改变低频听感。这一步很适合 Remix 场景,因为你新加的鼓组如果也在低频区域占空间,饱和处理能让贝斯在中低频区域保持可辨度。

6.4 如果你有真实贝斯:用分离轨做对照

有实体贝斯的玩家,分离轨更大的价值是“跟练”:播放分离出的贝斯轨,然后用真实贝斯去弹同一段旋律,对比音色、时值和延音。你可以把真实贝斯接在声卡上录一轨,再和分离轨同时播放。两轨之间可能存在轻微相位和时差,不必强求完全重合,但要在听感上保证音符起始点基本一致。

这个过程中最重要的不是追求“一模一样”,而是理解原曲贝斯手的演奏力度控制:有些音轻轻带过,有些音用力击弦,这些动态信息在分离轨中会保留一部分。你跟着分离轨练习,比单纯看谱演奏更容易还原出原曲的呼吸感。

7. 常见问题与排查思路

实际操作中,最容易遇到的几个问题如下:

问题现象常见原因解决思路
Demucs 运行后提示找不到模型文件首次运行需要下载模型,网络不稳或目录权限不足检查网络连接,确认当前用户对缓存目录有写入权限,重新运行命令
分离出来的 bass.wav 没有低频,听起来很薄模型把低频分给了 drums 或 other 轨同时试听其他轨道的低频,必要时把 drums/other 中疑似贝斯的内容做低切后补入
分离轨有明显电流声或嗡嗡声可能是输入源本身压缩严重,或分离模型把环境噪声保留在 DAW 中添加 50 Hz 陷波滤波,检查原曲特定段落是否本来就有底噪
Spleeter 与 TensorFlow 版本冲突历史安装残留或 Python 版本过老升级 Python,使用虚拟环境重新安装 spleeter,优先用官方文档兼容版本
中文文件名导致命令行报错不同系统对 Unicode 路径处理不同把歌曲文件重命名为英文或拼音,如song.flac,避开路径解析问题
处理后的贝斯轨与鼓对齐困难分离轨自带少量延迟或相位偏移在 DAW 中放大波形,手动微调轨道的起始点,以音头为准
循环片段时开头爆音音频块边界未做交叉淡化在音频块边缘使用淡入淡出,或先渲染成片段后再循环

如果你遇到的是模型效果不理想,可以通过更换 Demucs 模型集来对比。例如有些人会下载更高质量的模型名称,但每个模型对电脑性能要求不同。运行前先查看你的显存或内存情况,避免在一次分离中加载太多模型。对于普通歌曲,htdemucs 已经足够,不必追求参数最多的版本。

8. 工程规范与版权红线

处理这类音频素材,除了技术本身,还要建立良好的工程习惯和版权意识。

8.1 文件命名与版本管理

分离出的 WAV 文件体积比较大,如果做多次处理,很容易出现“final_final_v2”这种混乱命名。建议用日期 + 用途命名,例如bass_clean_20250321.wav表示 2025 年 3 月 21 日清理过的版本。每一次重要处理都另存为新的文件,不要覆盖原始的bass.wav

如果你使用 DAW 工程,每个工程文件里应写明分离源文件路径。否则过了一周,你打开工程却发现自己根本分不清是 Demucs 还是 Spleeter 的产物,重做时只能从头再分离一遍。

8.2 注意增益级与响度

分离出的贝斯轨音量通常接近原始混合响度。把它放进新工程后,先重置音量到大约 -18 dBFS 至 -12 dBFS 的平均电平,再开始混音,这样留出动态余量。不要直接保持 0 dB 附近的峰值,因为后续加 EQ 或压缩时容易过载,产生不必要的削波。

8.3 分清“学习使用”和“商业使用”

即使你已经拥有正版音频文件,也不代表你可以随意发布别人歌曲的完整分轨。用音轨分离工具做扒带、练习、混音研究属于灰色地带,但通常发生在个人学习场景中问题不大;一旦你要在视频平台发布 Remix、翻调或伴奏,就要注意平台版权规则以及是否需要获得原版权方授权。最好的做法是:仅在私人工程中使用分离结果,公开分享时只发布自己的翻弹演奏或混音片段的试听,并标明原曲和原作者信息。

千万不要把分离出来的人声轨和伴奏轨打包上传到网盘,这种行为风险很高。技术本身没有问题,问题在于使用边界。养成标注素材来源的好习惯,对你的长期创作也有帮助。

8.4 备份原始音频与分离配置

分离模型依赖的版本更新很快,今天分离的效果不一定和三个月后相同。如果你想保持某个项目的可复现性,可以记录下当时使用的模型名和命令。条件允许的话,把原始歌曲文件也一并备份。磁盘空间足够时,保留bass.wav分离文件,能避免未来重新下载安装模型再做一次分离的麻烦。

9. 开始前先想清楚目标

贝斯音轨的分离与扒带,是一套很实用的音频工程流程,但它并没有一个“唯一正确”的答案。你用 Demucs 分离出的结果,和用 Spleeter 分离出的结果,可能在低频轮廓上有微妙差异;你最后整理出来的谱子,也可能和其他翻弹版本略有不同。这些都不是错误,而是技术工具耳测习惯共同作用的结果。

如果你现在的目标只是把《杀死那个石家庄人》的贝斯线学会,那就不必纠结于把所有声音处理得完美无瑕。优先找到一条能清楚听到音符的贝斯轨,跟着它弹下来,再对比原曲修正演奏细节即可。如果你想把分离出的贝斯轨放进自己的编曲实验里,那就要从清理、EQ、压缩乃至版权风险各个角度层层考虑。

无论后续走哪条路,都建议把音频素材单独放在一个目录里,把分离过程和文件命名简单记录在文本文件中。听到舒服的贝斯音色时,把当前工程另存为一个版本,方便后面需要时回溯。祝你顺利扒下这条贝斯线,也希望你在处理其他歌曲时,能把这套流程复用到更广阔的音乐制作场景中。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询