🎙️

Demucs(v4) によるボーカル分離 on Windows/CUDA

2023/03/19に公開

Demucs について

demucs は音源のソース分離を実現するモデルの一つです。
この記事は、2023/03時点で最新バージョンのv4をWindows/CUDA環境で動作させるための手順を記録したものになります。

Python バージョンについて

Python 3.10 以上だと demucs が動作しないため 3.9 を使用します。
https://github.com/facebookresearch/demucs/issues/286

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をインストールします。
https://pytorch.org/get-started/locally/

私の場合は CUDA 11.8 を使用しました。

PyTorchのインストール

CUDA のバージョンによって使用する PyTorch のバージョンが異なるため以下のページで確認をします。
https://pytorch.org/get-started/previous-versions/

例えば、 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