Spleeter, to oprogramowanie Open Source, bazujące na sztucznej inteligencji (AI), które służy do wydzielania wokalu ze ścieżki dźwiękowej. Pisaliśmy o nim kilka dni temu na blogu “Spleeter – sztuczna inteligencja, która wytnie wokal z każdego utworu!”. Dziś pokażemy Wam, jak go używać!

Z racji, iż Spleeter został napisany w Pythonie i działa wyłącznie z poziomu wiersza poleceń, użycie go może wydawać się nieco problematyczne. Nie mniej, nie jest to takie straszne jak Wam się wydaje.

Przetestowaliśmy dla Was dwie dostępne metody i obydwie działają. Do jednej wystarczy konto Google i miejsce do załadowania plików, jak serwer FTP (teoretycznie powinien się nadać każdy hosting plików, w którym da się uzyskać bezpośrednią ścieżkę do pliku, chociaż z ZippyShare niestety nam się nie udało). Druga metoda wymaga ściągnięcia i zainstalowania bezpłatnego oprogramowania Conda i GIT.

Metoda 1 – Google Collab

Ta metoda wydaje nam się prostsza, więc od niej zaczniemy. Nie wymaga ona instalacji żadnych programów ani komponentów – wszystko odbywa się w chmurze. Kolejne komendy w komórkach wykonujemy naciskając guzik “Run” z lewej strony.

1. Logujemy się na swoje konto Google.
2. Przechodzimy pod link: https://colab.research.google.com/…/spleeter.ipynb
3. Kopiujemy plik spleeter.ipynb na swój dysk Google. Od teraz będziemy pracować na własnej kopii.

4. Kilkukrotnie przy ostatnim kroku otrzymywaliśmy komunikat “runtime disconnected”. Aby wyeliminować problem rozłączania się Google Collab wciśnijcie kombinację klawiszy Ctrl + Shift + i, aby otworzyć w przeglądarce “Narzędzia dla developerów” i w konsoli (druga zakładka licząc od lewej) wklejcie poniższy kod potwierdzając enterem.

function ClickConnect(){
console.log("Working");
document.querySelector("colab-toolbar-button#connect").click()
}
setInterval(ClickConnect,60000)

Powinno to wyglądać mniej więcej tak. Zamykamy konsolę krzyżykiem w prawym górnym rogu i przechodzimy do kolejnego kroku.


5. Instalujemy Spleeter’a. W tym celu myszką zaznaczamy z wciśniętym klawiszem Shift trzy pierwsze pozycje i z menu “Runtime” wybieramy “Run Selection”.

6. Gdy instalacja się zakończy, następnym krokiem będzie wrzucenie pliku, z którego chcemy wydzielić ścieżkę wokalną. W tym celu musimy gdzieś go wrzucić. My wykorzystaliśmy do tego celu nasz Audiobazarowy serwer. Przyjmijmy, że plik nazywać się będzie 01.mp3. Zmieniamy ścieżkę adresu URL, zaznaczając i wklejając w polu !wget. W naszym przypadku będzie to adres: https://audiobazar.pl/01.mp3 a następnie klikamy guzik “Run”.


7. Mamy już załadowany plik. Możemy go odsłuchać w kolejnym kroku. Wpisujemy nazwę pliku – w tym przypadku 01.mp3 i wykonujemy daną komórkę. Po wygenerowaniu ukaże nam się odtwarzacz, w którym możemy odsłuchać przed chwilą wrzucony plik, upewniając się, że wszystko jest ok.


8. Komórkę “!spleeter separate -h” pomijamy, bo to tylko funkcja wyświetlająca pomoc i dostepne parametry.
9. W tym kroku wreszcie oddzielamy wokal od muzyki. Podobnie jak w punkcie 7, wpisujemy nazwę pliku i wykonujemy komórkę.


10. Pole !ls pomijamy. Służy ono tylko do wylistowania plików znajdujący się w powyższym katalogu
11. To już w zasadzie koniec. W dwóch ostatnich polach wklejamy ścieżki z powyższego screena tj. “output/01/vocals.wav” oraz “output/01/accompaniment.wav” i wykonujemy. W efekcie wyświetlą nam się dwa odtwarzacze, z których możemy pobrać pliki wynikowe.

Metoda 2 – Conda

1. Zaczynamy od ściągnięcia minimalnej wersji Anakondy – Miniconda, odpowiedniej dla Waszego systemu operacyjnego https://docs.conda.io/en/latest/miniconda.html
Ważne! Ściągamy wersję dla Pythona 3.7. Przechodzimy przez wszystkie kroki instalatora, nie musimy nic zmieniać w domyślnych opcjach.
2. Ściągamy instalkę GIT’a (system kontroli wersji), dzięki któremu z konsoli Minicondy zainstalujemy Spleeter’a: https://git-scm.com/download/win Podobnie jak w przypadku powyższym, przechodzimy przez wszystkie kroki instalatora. Niestety jest ich dość sporo (około 8), na szczęście również nie musimy nic zmieniać w domyślnych opcjach i przeklikujemy przycisk “Next”, aż do zakończenia instalacji.

3. Gdy już wszystko mamy zainstalowane, przechodzimy do pobrania i instalacji samego Spleeter’a. W tym celu wchodzimy w Menu Start, wyszukujemy i uruchamiamy Anaconda Prompt (Miniconda3).
4. Naszym oczom ukaże się wiersz poleceń. Tworzymy nowy folder, powiedzmy na dysku C:\ o dowolnej nazwie. Na potrzeby tego poradnika przyjmijmy, że będzie to folder “Test”. Kopiujemy ścieżkę i wklejamy w wierszu poleceń:

cd c:\Test

Tym sposobem przechodzimy do naszego nowo utworzonego folderu. Następnie kopiujemy i wklejamy poniższą komendę.

git clone https://github.com/deezer/spleeter
conda env create -f spleeter/conda/spleeter-cpu.yaml
conda activate spleeter-cpu

Przy ostatnim punkcie “conda activate spleeter-cpu” musimy kliknąć enter. Powinno to wyglądać dokładnie jak na poniższym screenie.

5. Przechodzimy do konkretów. Do naszego folderu, w którym mamy rozpakowaną bibliotekę Spleeter’a c:\Test\Spleeter wrzucamy nasz plik, z którego chcemy wydzielić wokal. W naszym przypadku nazywa się on 01.mp3


6. Przechodzimy z powrotem do wiersza poleceń Anakondy i wklejamy komendę (w zależności od tego na ile elementów chcemy podzielić utwór zmieniamy pole 2stems na 3stems, 4stems lub 5 stems):

spleeter separate -i spleeter/01.mp3 -p spleeter:2stems -o output


7. Gotowe! Jeśli zrobiliście wszystko poprawnie, oddzielony wokal i muzykę znajdziecie w folderze c:\Test\output\01\ w postaci plików “vocals.wav” i “accompaniment.wav” 🙂 Powodzenia!

Jeśli nasz poradnik Wam się podobał, dajcie nam like’a na facebooku, napiszcie komentarz lub udostępnijcie dalej. Dzięki! 😉