🎙️
Demucs(v4) によるボーカル分離 on Windows/CUDA
Demucs について
demucs は音源のソース分離を実現するモデルの一つです。
この記事は、2023/03時点で最新バージョンのv4をWindows/CUDA環境で動作させるための手順を記録したものになります。
Python バージョンについて
Python 3.10 以上だと demucs が動作しないため 3.9 を使用します。
Demucs のインストール
手元の環境に pip でインストールします。私の場合はvenvを使用しました。
python -m venv .venv
.venv\Scripts\activate.bat
pip install demucs soundfile
CUDA のバージョンを確認
以下のコマンドで CUDA のバージョンを確認します。
もしインストールされていない場合は、こちらのページが参考になります。https://www.kkaneko.jp/tools/win/cuda.html
> nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:41:10_Pacific_Daylight_Time_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0
2023/03時点でCUDAの最新版は12.1なのですが、PyTorchが12.1に対応していないため、PyTorchが対応しているバージョンのCUDAをインストールします。
私の場合は CUDA 11.8 を使用しました。
PyTorchのインストール
CUDA のバージョンによって使用する PyTorch のバージョンが異なるため以下のページで確認をします。
例えば、 CUDA 11.6 の場合は以下のコマンドになります。
pip install torch==1.12.1+cu116 torchvision==0.13.1+cu116 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu116
CUDA 11.8 の場合は、2023/03現時点で最新版のPyTorchでOKのため以下のようにバージョン指定なしでインストール可能です。(今後バージョンが変わる可能性があるためCUDAのバージョンとPyTorchのバージョンの対応状況を都度確認することを推奨します)
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
Demucs を使用する
以上で Demucs を使用する準備は完了です。
以下のコマンドでボーカル分離が可能になります。
> demucs --two-stems=vocals wavs\sample.wav -d cuda
Discussion