NastępnyNastępny poradnik
Separacja domeny czasu Conv-TasNet
Dźwiękowa sztuczna inteligencja
PRZEWODNIK AI audio
Spleeter to narzędzie do separacji źródeł muzyki typu open source firmy Deezer Research, które dzieli zmiksowany utwór na 2, 4 lub 5 ścieżek, takich jak wokal, perkusja, bas i fortepian, przy użyciu wstępnie wytrenowanych modeli U-Net.
Posłuchaj tego przewodnikaOpowiadane przez sztuczną inteligencję · ~7 min
Ma to znaczenie, ponieważ umożliwia niemal najnowocześniejszą separację w sposób darmowy, szybki i dostępny za pomocą jednego polecenia, a jednocześnie nadal służy jako wspólny punkt odniesienia w oprogramowaniu badawczym i audio.
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.
04Działający przykład
Zainstaluj pakiet za pomocą pip install spleeter w środowisku Python i wybierz krótki utwór stereo, do którego masz prawo używać.
Uruchom spleeter oddzielne -p spleeter:4stems -o wyjście song.wav, aby wygenerować wokale, perkusję, bas i inne pliki.
Otwórz cztery pliki wyjściowe w edytorze audio i odtwarzaj każdy z osobna, zwracając uwagę, gdzie przenikają inne instrumenty.
Zaimportuj wszystkie cztery ścieżki na równoległe ścieżki, zsumuj je i odwróć polaryzację oryginalnego miksu na innej ścieżce w celu porównania.
Przyjrzyj się spektrogramowi struny głosowej i potwierdź, że powyżej częstotliwości około 11 kHz pojawia się niewielka ilość energii.
Powtórz tę czynność z modelem 2-stemowym i porównaj plik akompaniamentu z sumą brzmień perkusji, basu i innych.
Co pokazuje
Cztery ścieżki WAV, których suma jest ściśle zgodna z oryginalnym utworem, ze słyszalnymi spadkami w niektórych partiach i widocznym odcięciem w pobliżu 11 kHz. Porównanie z odwróconą polaryzacją powinno pozostawić w większości ciche pozostałości, które pokazują, jaka część mieszanki maski została redystrybuowana, a nie stracona.
Tworzenie utworu do karaoke lub ćwiczeń, uruchamiając model 2stems, który zapisuje pliki wokalne.wav i akompaniament.wav za pomocą jednego polecenia, takiego jak spleeter oddzielne -p spleeter:2stems.
Remiksowanie w komercyjnych edytorach audio: plik README Spleeter zawiera listę integracji, w tym iZotope RX 8 Music Rebalance, Steinberg SpectraLayers 7 Unmix i Acon Digital Acoustica 7.
Sterowanie stemplem DJ-a na żywo, gdzie izolacja mostka VirtualDJ i NeuralMix Algoriddima w djay są wymienione przez projekt jako wbudowane lub integrujące Spleeter.
Badania dotyczące wyszukiwania informacji muzycznych, z których w artykule Deezera wynika, że izolowane wokale lub perkusja mogą pomóc w dopasowaniu tekstu, transkrypcji akordów i perkusji, identyfikacji piosenkarza i wykryciu coveru.
Przetwarzanie wsadowe dużego katalogu: artykuł JOSS donosi, że rozdzielono mniej więcej 3,5-godzinny zestaw testowy MUSDB18 na 4 łodygi w niecałe 2 minuty na jednym procesorze graficznym RTX 2080.
Otwarte problemy w separacji źródeł muzyki dotyczą głównie danych i wierności. W artykule Deezera z 2020 r. zauważono, że najczęściej używany benchmark, MUSDB18, jest często jedynym zbiorem danych, na podstawie którego zgłaszana jest separacja, i nie można go redystrybuować do celów komercyjnych, więc wyniki w przypadku innych gatunków, stylów nagrywania i instrumentów pozostają gorzej zmierzone. W artykule dotyczącym Hybrid Transformer Demucs (listopad 2022 r.) podano, że jego model transformatora działał słabo przy szkoleniu wyłącznie na MUSDB i potrzebował 800 dodatkowych utworów, aby osiągnąć doskonałe wyniki, co wskazuje, że głównym ograniczeniem są dane szkoleniowe. Badania od czasu Spleetera skierowały się w stronę modeli, które działają na surowych przebiegach lub łączą gałęzie przebiegów i spektrogramów, w kierunku większej liczby pni niż klasyczne cztery oraz w kierunku ograniczenia krwawień i artefaktów, których samo maskowanie nie jest w stanie naprawić. Samo repozytorium Spleeter podało, że może później wypuścić modele z więcej niż pięcioma łodygami. Pytania, które pozostają otwarte, obejmują: jak oddzielić nakładające się instrumenty w tym samym rejestrze, jak zapewnić wysokiej jakości separację dźwięku na żywo z niskim opóźnieniem oraz jak oceniać jakość w sposób odpowiadający temu, co słyszą słuchacze, a nie tylko SDR.
Darmowy newsletter
Trzy zweryfikowane historie AI każdego poranka w dni robocze, napisane prostym angielskim. Bezpłatne na zawsze, bez reklam.
Jedno e‑mail każdego dnia roboczego. Wypisz się jednym kliknięciem. Nigdy nie sprzedajemy ani nie udostępniamy Twojego adresu.
Sprawdź się
Natychmiastowa informacja zwrotna na każde pytanie oraz udostępnialny certyfikat z weryfikowalnym ID po zaliczeniu kursu.
Wspieraj darmową edukację AI. AI Understanding jest organizacją non-profit 501(c)(3) — bez reklam, bez płatnej ściany, zawsze. Przekaż darowiznę
Spleeter to narzędzie do separacji źródeł muzyki typu open source firmy Deezer Research, które dzieli zmiksowany utwór na 2, 4 lub 5 ścieżek, takich jak wokal, perkusja, bas i fortepian, przy użyciu wstępnie wytrenowanych modeli U-Net. Ma to znaczenie, ponieważ umożliwia niemal najnowocześniejszą separację w sposób darmowy, szybki i dostępny za pomocą jednego polecenia, a jednocześnie nadal służy jako wspólny punkt odniesienia w oprogramowaniu badawczym i audio.
Spleeter został wydany jako oprogramowanie typu open source w 2019 roku przez Deezer, francuską firmę zajmującą się streamingiem muzyki.
Konfiguracja z 4 mostkami wyprowadza wokal, perkusję, bas i „inny” mostek do wszystkiego innego.
Spleeter wykorzystuje sieci splotowe U-Net, które przewidują maski na spektrogramie audio.
Sieć przewiduje maskę dla każdego źródła (wartości od 0 do 1), która jest mnożona przez spektrogram mieszaniny.
Deezer zgłosił około 100-krotność przepustowości w czasie rzeczywistym dla modelu 4-rdzeniowego na jednym procesorze graficznym, wyjaśniając jednocześnie, że potrzebne jest buforowanie, więc nie oznacza to działania w czasie rzeczywistym.
Ucz się dalej
Wybrano więcej przewodników na ten temat
NastępnyNastępny poradnik
Separacja domeny czasu Conv-TasNet
Dźwiękowa sztuczna inteligencja