はじめに
界隈で有名な、音源分離のためのPythonパッケージであるspleeterを使ってみたという話。
github.com
手順
事前にffmpegとlibsndfileはインストールしておく必要はあるとのこと。
https://github.com/deezer/spleeter/wiki/1.-Installation#using-pip
spleeterのインストールはpipでOK。
pip install spleeter
分離対象となる音楽を用意する。
soundcloud.com
以下のPythonスクリプトを実行する。spleeterは5音源まで対応できるということなので、機械的に試してみた。
gist.github.com
初回実行時はモデルパラメータをダウンロードするために時間がかかることには注意。また、実行時には当該のライブラリ由来で色々と警告が出されるかもしれないが、無視してOKである。
分離結果
元の音楽にはピアノやベースの音源が含まれていないので、対応する分離結果もほぼ無音になるのは興味深い。
- 2音源(ボーカルとインスト)
- 4音源(ボーカル、ベース、ドラム、その他)
- 5音源(ボーカル、ピアノ、ベース、ドラム、その他)
まとめ
少なくとも、ボーカルとドラムの抽出には便利に使えそうなライブラリである。