在 Mac 上去除歌曲人声
将 Mac 上的音乐录音制成练唱用伴奏。免费的 speech 命令行工具会分离人声、鼓、贝斯和其他乐器,再由 FFmpeg 混合三个伴奏音轨。先试用下方短示例并试听,再处理自己的歌曲。
在 Android、iPhone 和 iPad 上移除歌曲人声、分离乐器并导出 WAV。免费使用,完成模型设置后即可在设备上处理。
1. 安装工具
你需要一台运行 macOS 15 或更高版本的 Apple Silicon Mac,并安装 Homebrew。打开终端,执行安装命令。这是 Mac 本地工作流程,无需 Soniqo 账号,也不必上传音频。
brew install speech ffmpeg
首次分离会从 Hugging Face 下载 HTDemucs 模型,需要联网并预留时间。模型会缓存到 Mac;以后即可使用缓存模型离线分离。
2. 试用音乐示例
新建一个工作文件夹,集中保存输入和结果。下载立体声 WAV 示例,也可以先播放下方音频。播放器使用同一段录音,方便比较各个输出保留的声音。
curl -fL https://soniqo.audio/audio/samples/music/sample.wav -o sample.wav
Core ’ngrato (1995) · Singing Sergeants, United States Air Force Band. 这些是下方命令生成的示例结果,并非分离质量的基准测试。
3. 分离录音
在包含 sample.wav 的文件夹中执行命令。它会在 stems 中生成 vocals.wav、drums.wav、bass.wav 和 other.wav。原始录音仍保留在原处。
speech separate sample.wav --engine htdemucs --htdemucs-precision int8 --output-dir stems
4. 保存伴奏
混合鼓、贝斯及其他乐器,不加入人声音轨。此 FFmpeg 命令生成 instrumental.wav,并用限制器控制峰值。它混合三个分离结果,而不是从原始文件中减去估算人声。
ffmpeg -i stems/drums.wav -i stems/bass.wav -i stems/other.wav -filter_complex 'amix=inputs=3:normalize=0,alimiter=limit=0.98:level=false:latency=true' -c:a pcm_s16le instrumental.wav
打开 instrumental.wav 检查伴奏,打开 stems/vocals.wav 试听人声。注意残留的人声、缺失的乐器或变化的瞬态。密集混音、混响及声音重叠都可能留下可听见的分离伪影。
使用自己的歌曲
将输入替换为自己的立体声 WAV 路径。文件名含空格时保留引号,每首歌使用不同输出文件夹。本教程使用 44.1 kHz 立体声 WAV;其他格式请先转换为 WAV。
speech separate "/path/to/Your Song.wav" --engine htdemucs --htdemucs-precision int8 --output-dir my-song-stems
制作伴奏时,将 FFmpeg 命令中的 stems 替换为该歌曲的输出文件夹。
结果预期
短示例不能作为三分钟歌曲或手机性能的基准。耗时和内存取决于录音及模型。先处理短片段,保留原始录音,并在用于练习或编辑前试听检查。