音楽データからドラム・ベース・ピアノ・ボーカルを別々に抽出する spleeter

機械学習を用いて音楽データからドラム・ベース・ピアノ・ボーカルを抽出できる spleeter を試してみました。

ギターの音が聞きやすくなって楽しいです。耳コピーも楽になる場合がありそうですね。

インストール

Linuxでインストールしてみました。
mkdir spleeter
11053  git clone https://github.com/Deezer/spleeter
11058  mv ~/Miniconda3-latest-Linux-x86_64.sh ./
11059  chmod +x Miniconda3-latest-Linux-x86_64.sh
11060  sudo ./Miniconda3-latest-Linux-x86_64.sh
11063  . .zshenv
11064  . ~/.zshenv
11066  conda list
11069  conda env creat -f spleeter/conda/spleeter-cpu.yaml
11070  conda env create -f spleeter/conda/spleeter-cpu.yaml
11074  spleeter separate -i spleeter/audio_example.mp3 -p spleeter:2stems -o output

conda
git clone https://github.com/Deezer/spleeter
conda install -c conda-forge spleeter
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/usr/local/share/miniconda3/bin/conda' 'shell.bash' 'hook' 2>$
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/usr/local/share/miniconda3/etc/profile.d/conda.sh" ]; then
        . "/usr/local/share/miniconda3/etc/profile.d/conda.sh"
    else
        export PATH="/usr/local/share/miniconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

使い方

conda activate spleeter-cpu 
 spleeter separate -i spleeter/audio_example.mp3 -p spleeter:2stems -o output

使ってみて

かなり綺麗に分離される音楽データがあって、ドラムのコピーは捗りそうです。

ベースはギターと被るせいか、うまく分離できない場合があります。ぼくの試した音楽データの場合は、ベースはあまりうまく出来ないですね。

ソース(音楽データ)によっては2stemsでは全然分離されない場合がありますね。 2stemsではうまくいかなくても、4stemsや5stemsでは分離されるものもあります。

ギターのカッティングなど、よく聞こえるようになって楽しいです。

関連リンク