在本页阅读需 8 分钟
概述
It matters because it made near state-of-the-art separation free, fast and one command away, and it still serves as a common baseline in research and audio software.
主要要点
- Spleeter is Deezer Research's MIT-licensed music separation tool with pretrained 2, 4 and 5 stem models built on TensorFlow.
- Each Spleeter model is a 12-layer U-Net that predicts a soft mask over the mixture spectrogram for every stem.
- On one RTX 2080 GPU, Spleeter separated about 3.5 hours of MUSDB18 test audio into four stems in under two minutes.
- With Wiener filtering, Spleeter reported 6.86 dB vocal SDR on MUSDB18, compared with 6.32 dB for Open-Unmix and 7.05 dB for Demucs.
- Spleeter's default configuration processes frequencies up to about 11 kHz, so higher frequency content is not separated.
- Later models such as Hybrid Transformer Demucs reported 9.20 dB average SDR on MUSDB HQ in 2022, well above Spleeter.
深入探讨
Music source separation is the task of taking a finished, mixed recording and estimating the individual parts that went into it. Those parts are called stems: a vocal stem, a drum stem, a bass stem, and so on. Separation is hard because the mix is a sum of sounds that overlap in time and frequency, and the original multitrack session is usually unavailable. Spleeter is a tool that does this with pretrained neural networks. It was built by Romain Hennequin, Anis Khlif, Felix Voituret and Manuel Moussallam at Deezer Research in Paris, released on GitHub in 2019 under the MIT license, and described in the Journal of Open Source Software (JOSS) on June 24, 2020.
Spleeter ships three pretrained configurations. The 2stems model separates vocals from accompaniment. The 4stems model follows the categories of the SiSEC 2018 evaluation campaign: vocals, drums, bass and other. The 5stems model adds a piano stem, and the authors described it as, to their knowledge, the first released model to perform that separation. Users install a Python package and run one command, for example spleeter separate -p spleeter:2stems -o output song.mp3. The tool is built on TensorFlow, Google's machine learning library, so it runs on either a CPU or a GPU, and it is also packaged for conda and Docker.
The method works on a spectrogram, a picture of sound that shows how much energy is present at each frequency over time. Spleeter computes a short-time Fourier transform (STFT), which slices the audio into overlapping frames and measures the frequencies in each. A U-Net, a convolutional neural network shaped like an encoder that compresses the input followed by a decoder that expands it again, with skip connections that pass detail across, looks at the mixture's magnitude spectrogram. The paper specifies 12-layer U-Nets, six encoder and six decoder layers. For each stem, a U-Net outputs a soft mask: a grid of values between 0 and 1 saying what share of the energy in each time-frequency cell belongs to that stem. Multiplying the mixture spectrogram by the mask gives an estimate of the stem, which is then converted back to audio. Because Spleeter normalizes the masks so that, in every cell, the shares for all stems add up to one, the separated stems sum back to approximately the original mix within the processed frequency range. Instead of plain masking, users can choose multichannel Wiener filtering, a classic statistical step that refines the estimates using all stems together.
Training used Deezer's internal datasets, including one called Bean, with the Adam optimizer and an L1 loss, the average absolute difference between the masked mixture spectrogram and the true stem spectrogram. Training took about a week on a single GPU. The training audio could not be published for copyright reasons, which is why Deezer released trained models instead: it was the only way to share the results.
Speed was a design goal. The JOSS paper reports that Spleeter separated the full MUSDB18 test set, about 3 hours and 27 minutes of audio, into four stems in under two minutes on a single GeForce RTX 2080 GPU, including about 15 seconds of model loading. That works out to more than 100 seconds of stereo audio processed per second. The authors note it still cannot run in real time on live input, because the model needs a buffer of audio to work on.
Quality is measured with signal-to-distortion ratio (SDR), in decibels, where higher means the estimate is closer to the true stem. On MUSDB18, the standard benchmark of 150 tracks (100 for training, 50 for testing), Spleeter was evaluated without being trained or tuned on that data. With Wiener filtering it reported vocal SDR of 6.86 dB, drums 6.71, bass 5.51 and other 4.55. In the same table, Open-Unmix scored 6.32 on vocals and the waveform model Demucs scored 7.05 on vocals and 6.70 on bass. The authors summarized Spleeter as competitive with Open-Unmix and almost on par with Demucs, at much higher speed.
Since then, separation quality has moved on. Hybrid Transformer Demucs, posted to arXiv in November 2022 by Simon Rouard, Francisco Massa and Alexandre Defossez, reported 9.20 dB average SDR on MUSDB HQ using extra training data, sparse attention and per-source fine-tuning. Models like this combine waveform and spectrogram processing and are larger and slower. Spleeter's appeal today is mainly its simplicity, speed, permissive license and long track record as a baseline.
The limitations are concrete. Masking cannot create sound that is hidden under another instrument, so stems contain bleed, where traces of other instruments leak through, and artifacts such as watery or phasey textures. The other and piano stems score lowest, because they lump together many instruments. Spleeter's default configurations only process the lower part of the spectrum (see the technical section), so high-frequency detail can be lost. MUSDB18 itself is limited to academic use and contains mostly Western popular music, so benchmark numbers may not reflect results on other genres. And separating a commercial recording does not change who owns its copyright.
04工作示例
Separating a song into four stems and checking the result
Install the package with pip install spleeter in a Python environment, and pick a short stereo song you have the right to use.
Run spleeter separate -p spleeter:4stems -o output song.wav to produce vocals, drums, bass and other files.
Open the four output files in an audio editor and play each one alone, noting where other instruments bleed through.
Import all four stems on parallel tracks, sum them, and invert the polarity of the original mix on another track to compare.
Look at a spectrogram of the vocal stem and confirm that little energy appears above about 11 kHz.
Repeat with the 2stems model and compare the accompaniment file with the sum of drums, bass and other.
它显示了什么
Four WAV stems whose sum closely matches the original song, with audible bleed in some stems and a visible cutoff near 11 kHz. The polarity-inverted comparison should leave mostly quiet residue, which shows how much of the mix the masks redistributed rather than lost.
现实世界的实施
Making a karaoke or practice track by running the 2stems model, which writes vocals.wav and accompaniment.wav from a single command such as spleeter separate -p spleeter:2stems.
Remixing inside commercial audio editors: the Spleeter README lists integrations including iZotope RX 8 Music Rebalance, Steinberg SpectraLayers 7 Unmix and Acon Digital Acoustica 7.
Live DJ stem control, where VirtualDJ stem isolation and Algoriddim's NeuralMix in djay are listed by the project as built on or integrating Spleeter.
Music information retrieval research, where Deezer's paper suggests isolated vocals or drums can help lyrics alignment, chord and drum transcription, singer identification and cover detection.
Batch-processing a large catalog: the JOSS paper reports separating the roughly 3.5-hour MUSDB18 test set into 4 stems in under 2 minutes on one RTX 2080 GPU.
Spleeter 茎分离的未来
Open problems in music source separation are mostly about data and fidelity. Deezer's 2020 paper notes that the most widely used benchmark, MUSDB18, is often the only dataset on which separation is reported, and it cannot be redistributed for commercial work, so results on other genres, recording styles and instruments remain less well measured. The Hybrid Transformer Demucs paper (November 2022) reported that its transformer model performed poorly when trained only on MUSDB and needed 800 extra songs to excel, which points to training data as a central constraint. Research since Spleeter has moved toward models that work on raw waveforms or combine waveform and spectrogram branches, toward more stems than the classic four, and toward reducing bleed and artifacts that masking alone cannot fix. The Spleeter repository itself said it might later release models with more than five stems. Questions that remain open include how to separate overlapping instruments in the same register, how to run high-quality separation on live audio with low delay, and how to evaluate quality in ways that match what listeners hear rather than SDR alone.
付诸实践
为什么这很重要
- 交通与覆盖范围. 它通过转录、旁白和语音界面提高了可访问性。
- 成本与预算. 媒体团队可以用更少的预算更快地交付精美的音频。
- 速度与规模. 面向客户的系统可以处理更大规模的语音交互。
留意
- 如果未征得同意,语音滥用和冒充风险就会增加。
- 由于口音、方言或嘈杂的环境,准确性可能会下降。
- 如果没有明确的标签,合成音频可能会被误认为是真实的语音。
后续步骤
- 获得语音捕获、克隆和重用的明确同意。
- 测试不同扬声器和背景条件下的质量。
- 定义人员必须审查或批准输出的时间。
- 标记合成音频并保留来源记录以供问责。
资料来源与延伸阅读
- Journal of Open Source SoftwareSpleeter: a fast and efficient music source separation tool with pre-trained models
- Deezer Research (GitHub)deezer/spleeter: Deezer source separation library including pretrained models
- Deezer Research (GitHub)Spleeter wiki: Models
- Deezer Research (GitHub)Spleeter 4stems base configuration
- SigSepMUSDB18 dataset
- arXivHybrid Transformers for Music Source Separation
- Deezer Research (GitHub)spleeter/model/__init__.py (mask computation)
不断探索
常见问题
What is Spleeter Stem Separation?
Spleeter is an open-source music source separation tool from Deezer Research that splits a mixed song into 2, 4 or 5 stems, such as vocals, drums, bass and piano, using pretrained U-Net models. It matters because it made near state-of-the-art separation free, fast and one command away, and it still serves as a common baseline in research and audio software.
Spleeter 最初是哪家公司发布的?
Spleeter 于 2019 年由法国音乐流媒体公司 Deezer 开源发布。
Spleeter 的 4 干模型将音频分离成什么?
4 根配置输出人声、鼓、贝司和用于其他所有内容的“其他”根。
Spleeter 使用什么神经网络架构?
Spleeter 使用 U-Net 卷积网络来预测音频频谱图上的掩模。
Spleeter 实际上是如何从混合物中提取单一来源的?
网络预测与混合频谱图相乘的每个源掩码(值 0 到 1)。
Deezer 报告 Spleeter 预训练的 4 轨模型的速度是多少?
Deezer reported roughly 100-times-real-time throughput for the 4-stem model on one GPU, while explaining that buffering is needed, so this does not mean live real-time operation.