音楽データからボーカル・ドラム・ベースの音を個別に抽出できる「spleeter」

ボーカルや複数の楽器で構成された音楽データを、機械学習を用いてそれぞれの音に分類したファイルとして出力する「spleeter」がGitHubで公開されています。ボーカルの声や伴奏の部分だけを抽出できるとのことで、実際に使ってみました。
deezer/spleeter: Deezer source separation library including pretrained models.
https://github.com/deezer/spleeter
以下のURLにアクセスすれば、spleeterでサンプルの楽曲を分離することができます。
spleeter.ipynb - Colaboratory
https://colab.research.google.com/github/deezer/spleeter/blob/master/spleeter.ipynb#scrollTo=dGL-k5xxoKbu
[]にマウスオーバー。

再生ボタンが表示されるので、上から順に10個のコマンドをクリックしていきます。

すべて実行すれば、「Audio('output/audio_example/vocals.wav')」ではボーカルのみを抽出した音源、「Audio('output/audio_example/accompaniment.wav')」では楽器のみを抽出した音源を再生することができます、

◆Gitのインストール
PC上でspleeterを実行するためには、まずGitをインストールする必要があります。今回はWindowsでspleeterを使用するので以下のウェブサイトにアクセス。
Git
https://git-scm.com/
「Download X.XX.X for Windows」をクリックします。なお、「X.XX.X」の部分はバージョンによって異なります。

「ファイルを保存」をクリック。

「Git-2.28.0-64-bit.exe」をダブルクリックして実行します。

「実行」をクリック。

「Next」をクリック。

ファイルの保存場所を選択します。変更の必要がなければそのまま「Next」をクリック。

「Next」をクリック。

「Next」をクリック。

「Next」をクリック。

「Git from the command line and also from 3rd-party software」を選んで「Next」をクリック。

「Next」をクリック。

「Next」をクリック。

「Next」をクリック。

「Next」をクリック。

「Next」をクリック。

「Next」をクリック。

「Next」をクリック。

どちらもチェックを外して「Next」をクリックすれば完了です。

◆Condaのインストール
次に、「Conda」をインストールするため下記のURLにアクセス。
Conda — Conda documentation
https://docs.conda.io/en/latest/
「Conda-build」をクリック。

「Installing and updating conda-build」をクリック。

「install conda」をクリック。

今回はWindowsでspleeterを使用するため「Windows.」をクリック。

spleeterは「Anaconda」と「Miniconda」のどちらでも実行可能です。今回はMinicondaを使用するので「Miniconda installer for Windows」をクリック。

使っているPCに応じて、64bit版か32bit版を選んでクリックします。今回は64bit版をダウンロードします。

デスクトップにMinicondaをダウンロードすると画像のようなアイコンが表示されるので、クリックして実行します。

「実行」をクリック。

「Next」をクリック。

「I Agree」をクリック。

Minicondaをインストールするフォルダを選択して、「Next」をクリック。

「Finish」を押せばインストールは完了です。

◆spleeterの実行
インストールしたMinicondaをクリックして起動します。

以下の赤枠部分のコマンドをMinicondaへ順番に打ち込めば、音楽データを楽器ごとに分類できます。なお、以下の手順およびスクリーンショットは2019年11月時点の内容であるため、最新版の手順とコマンドはGitHub・spleeterのページにある「Quick start」の記載内容を確認する必要があります。

spleeterが実行可能な状態になったら、Minicondaに「spleeter separate -i (分類したい音楽データのフォルダパス) -p spleeter:(分類方法) -o output」を入力すると、楽器ごとに抽出されたデータが作成されます。
分類方法は、記事作成時点では3種類用意されていました。
2stems:ボーカル/伴奏に分類。
4stems:ボーカル/ドラム/ベース/その他の楽器
5stems:ボーカル/ドラム/ベース/ピアノ/その他の楽器
たとえば、spleeterに付属しているサンプルデータ「audio_example.mp3」を、ボーカルと伴奏の2種類に分類する場合は「spleeter separate -i spleeter/audio_example.mp3 -p spleeter:2stems -o output」と入力します。

spleeterのフォルダと同じ場所に作成された「output」というフォルダにデータが出力されます。

元の音楽データの名前でフォルダが作成されているので、フォルダをクリックすると……

ボーカル部分は「vocals.wav」、伴奏部分は「accompaniment.wav」で出力されていました。

試しに、以下のMP3ファイルをボーカルと伴奏に分けて抽出してみます。抽出前のデータはこんな感じ。
ボーカルの音声だけを抽出したものがこちら。息継ぎの音までしっかり抽出されており、伴奏部分が全く聞こえなくなっています。
伴奏部分は以下のようになります。ほんの少しボーカルの高音部分が残っていますが、ほぼ伴奏のみになっています。
「ルルル」や「ラララ」のような歌詞が言葉ではない楽曲は、うまくデータを抽出できない場合があるので注意が必要です。
・関連記事
無料でYouTubeから動画と音声ファイルをダウンロードできるFirefox向け拡張機能「YouTube Video and Audio Downloader」 - GIGAZINE
無料でYouTubeやSoundCloudの音楽をMP3ファイルでダウンロードできる「YouTube to MP3 Converter」 - GIGAZINE
無料&商業利用も可能なボーカル入り楽曲までダウンロードできる「Fugue」 - GIGAZINE
無料でYouTubeやDailyMotionなどのウェブサイトから音楽データや動画をダウンロードできる「Free Music & Video Downloader」 - GIGAZINE
インストール不要・誰でも無料で打ち込み音楽をブラウザ上で簡単に作曲できるGoogle「Song Maker」 - GIGAZINE
・関連コンテンツ
in レビュー, ソフトウェア, ネットサービス, Posted by darkhorse_log
You can read the machine translated English article 'Spleeter' that can individually extract….