PRZEWODNIK AI audio

Separacja łodyg Spleetera

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

Na tej stronie8 min czytania
  1. Przegląd
  2. Kluczowe wnioski
  3. Głębokie nurkowanie
  4. Podział utworu na cztery ścieżki i sprawdzenie wyniku
  5. Implementacja w świecie rzeczywistym
  6. Przyszłość separacji pnia Spleetera
  7. Wdrażanie tego w praktykę
  8. Źródła i dalsza lektura
  9. Odkrywaj dalej
  10. Często zadawane pytania

Przegląd

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.

Kluczowe wnioski

  1. Spleeter to narzędzie firmy Deezer Research, posiadające licencję MIT, do separacji muzyki, zawierające wstępnie wytrenowane modele z 2, 4 i 5 mostkami, zbudowane w oparciu o TensorFlow.
  2. Każdy model Spleetera to 12-warstwowa sieć U, która przewiduje miękką maskę na spektrogramie mieszaniny dla każdego pnia.
  3. Na jednym procesorze graficznym RTX 2080 Spleeter rozdzielił około 3,5 godziny testowego dźwięku MUSDB18 na cztery ścieżki w niecałe dwie minuty.
  4. Przy filtrowaniu Wienera Spleeter zgłosił SDR wokalu na poziomie 6,86 dB na MUSDB18 w porównaniu z 6,32 dB w przypadku Open-Unmix i 7,05 dB w przypadku Demucs.
  5. Domyślna konfiguracja Spleetera przetwarza częstotliwości do około 11 kHz, więc zawartość o wyższej częstotliwości nie jest oddzielana.
  6. Późniejsze modele, takie jak Hybrid Transformer Demucs, odnotowały średni SDR na poziomie 9,20 dB w siedzibie MUSDB w 2022 r., znacznie powyżej Spleetera.

Głębokie nurkowanie

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

Podział utworu na cztery ścieżki i sprawdzenie wyniku

  1. Zainstaluj pakiet za pomocą pip install spleeter w środowisku Python i wybierz krótki utwór stereo, do którego masz prawo używać.

  2. Uruchom spleeter oddzielne -p spleeter:4stems -o wyjście song.wav, aby wygenerować wokale, perkusję, bas i inne pliki.

  3. Otwórz cztery pliki wyjściowe w edytorze audio i odtwarzaj każdy z osobna, zwracając uwagę, gdzie przenikają inne instrumenty.

  4. 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.

  5. Przyjrzyj się spektrogramowi struny głosowej i potwierdź, że powyżej częstotliwości około 11 kHz pojawia się niewielka ilość energii.

  6. 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.

Implementacja w świecie rzeczywistym

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.

Przyszłość separacji pnia Spleetera

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.

Wdrażanie tego w praktykę

Dlaczego to ma znaczenie

  • Dostęp i zasięg. Poprawia dostępność poprzez transkrypcję, narrację i interfejsy głosowe.
  • Koszt i budżet. Zespoły medialne mogą szybciej dostarczać dopracowany dźwięk przy mniejszych budżetach.
  • Szybkość i skala. Systemy skierowane do klienta mogą przetwarzać interakcje mówione na większą skalę.

Uważaj na

  • W przypadku braku zgody zwiększa się ryzyko niewłaściwego użycia głosu i podszywania się pod inne osoby.
  • Dokładność może spaść w przypadku akcentów, dialektów lub hałaśliwego otoczenia.
  • Bez wyraźnego oznakowania dźwięk syntetyczny można pomylić z autentyczną mową.

Kolejne kroki

  1. Uzyskaj wyraźną zgodę na przechwytywanie, klonowanie i ponowne wykorzystanie głosu.
  2. Testuj jakość na różnych głośnikach i w różnych warunkach otoczenia.
  3. Zdefiniuj, kiedy człowiek musi przejrzeć lub zatwierdzić wyniki.
  4. Oznacz dźwięk syntetyczny i prowadź dokumentację pochodzenia w celu zapewnienia odpowiedzialności.

Źródła i dalsza lektura

  1. Journal of Open Source SoftwareSpleeter: szybkie i wydajne narzędzie do separacji źródeł muzyki z wstępnie wytrenowanymi modelami
  2. Deezer Research (GitHub)deezer/spleeter: biblioteka separacji źródeł Deezer zawierająca wstępnie wytrenowane modele
  3. Deezer Research (GitHub)Wiki Spleetera: Modele
  4. Deezer Research (GitHub)Podstawowa konfiguracja Spleeter 4stems
  5. SigSepZbiór danych MUSDB18
  6. arXivTransformatory hybrydowe do separacji źródeł muzyki
  7. Deezer Research (GitHub)spleeter/model/__init__.py (obliczanie maski)

Odkrywaj dalej

Darmowy newsletter

Otrzymuj codzienne podsumowanie AI

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ę

Rozwiąż quiz dotyczący separacji pnia Spleetera

Natychmiastowa informacja zwrotna na każde pytanie oraz udostępnialny certyfikat z weryfikowalnym ID po zaliczeniu kursu.

Rozpocznij quiz

Wspieraj darmową edukację AI. AI Understanding jest organizacją non-profit 501(c)(3) — bez reklam, bez płatnej ściany, zawsze. Przekaż darowiznę

Często zadawane pytania

Co to jest separacja łodyg Spleetera?

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.

Która firma pierwotnie wypuściła Spleeter?

Spleeter został wydany jako oprogramowanie typu open source w 2019 roku przez Deezer, francuską firmę zajmującą się streamingiem muzyki.

Na co rozdziela dźwięk 4-rdzeniowy model Spleetera?

Konfiguracja z 4 mostkami wyprowadza wokal, perkusję, bas i „inny” mostek do wszystkiego innego.

Z jakiej architektury sieci neuronowej korzysta Spleeter?

Spleeter wykorzystuje sieci splotowe U-Net, które przewidują maski na spektrogramie audio.

W jaki sposób Spleeter faktycznie wyodrębnia jedno źródło z miksu?

Sieć przewiduje maskę dla każdego źródła (wartości od 0 do 1), która jest mnożona przez spektrogram mieszaniny.

Co Deezer zgłosił na temat prędkości wstępnie wytrenowanego modelu z 4 mostkami Spleetera?

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.