【Python】spleeterでmp3の曲からボーカルを分離する

さて、今回は音楽データファイルからボーカル音声を抜き出す方法について紹介します。
実際にはボーカルとボーカル以外に分離していきます。
音楽データファイルからボーカル音声を抜き出せると、
アレンジやリミックスがしやすくなりますよね。
言うまでもないことですが、他者の楽曲を編曲して個人的に遊ぶ分にはいいと思いますが、
もし公開する場合は著作権に留意して楽しむ程度でやりましょうね。
それでは紹介していきましょう。
今回もプログラミング言語のpythonを使っていきますよ。
したがって、これから紹介する方法はWindows、Linux、macOSX、Android(termux)という
クロスプラットフォーム環境で利用可能ということになりますね。
spleeterのインストール
分割するツールとしてはspleeterを使います。
googleの開発した機械学習ライブラリであるtensorflowも使われているようですね。
それでは以下コマンドで準備しましょう。
$ python3 -m pip install spleeter
spleeterを使う
次は曲を準備して分離していきましょう。
尚、mp3だけでなく、mp4(動画)でも分離可能です。
なので、曲は以前にも紹介した方法でダウンロードできますね。
python使ってspotifyやYoutubeからダウンロードしてしまいましょう。
曲が準備できたら分離をしていきますが、曲の分離パターンがあります。
分離パターンは以下の3種類になります。
stem2:ボーカル・演奏の2ステム
stem4:ボーカル・ドラム・ベース・その他の4ステム
stem5:ボーカル・ドラム・ベース・ピアノ・その他の5ステム
stem2:ボーカル・演奏の2ステム
$ spleeter separate -o . [音楽ファイル]
以下の2ファイルが生成されます。
accompaniment.wav
vocals.wav
stem4:ボーカル・ドラム・ベース・その他の4ステム
$ spleeter separate -o . [音楽ファイル] -p spleeter:4stems
以下の4ファイルが生成されます。
bass.wav
drums.wav
other.wav
vocals.wav
stem5:ボーカル・ドラム・ベース・ピアノ・その他の5ステム
$ spleeter separate -o . [音楽ファイル] -p spleeter:5stems
以下の5ファイルが生成されます。
bass.wav
drums.wav
other.wav
piano.wav
vocals.wav
まとめ
今回はpythonのspleeterを使って音楽ファイルを分離する方法について紹介しました。
何かの参考になれば幸いです。