Demucs とは
楽曲音源をパートごとに分離し、ボーカル抽出・ドラム抽出などができるツール「Demucs」。
AI(機械学習)による分離を行うため、従来型のソフトよりも圧倒的にきれいに分離できます。また、AI 分離ツールで有名な Spleeter よりもさらに一歩進んだ技術を用いています。
AI(機械学習)による分離を行うため、従来型のソフトよりも圧倒的にきれいに分離できます。また、AI 分離ツールで有名な Spleeter よりもさらに一歩進んだ技術を用いています。
本家 Demucs は使い方が難しいのですが、現在は簡単に使える Windows GUI アプリがあります。
(補足)インストール不要の Web サービス型 Demucs(ブラウザで使える Demucs)もありますが、現時点ではサイト負荷が高いのかアクセスできません。Google Colab 内で動作させることもできます。Colab がお好きな方はそちらをどうぞ。
インストール
本家で紹介されている CarlGao4 氏のアプリをインストールします。
ダウンロードページには Windows アプリが 2 種類(Demucs GUI CPU Windows 64-bit / Demucs GUI CUDA Windows 64-bit)用意されています。CUDA 版は GeForce 系 GPU を活用して高速に処理ができます。CUDA 版は CPU 処理もできるので、よく分からない場合は CUDA 版をダウンロードしておけば良いのではないでしょうか。
ダウンロードしたファイル(Demucs-GUI_0.1_CUDA_Release_Win_x64.7z)は 7z 形式で圧縮されており、Windows の標準機能では展開(解凍)できません。7-Zip などのソフトを使って展開してください。
展開できたらそれでインストール完了です。
使い方
「Load model」ボタンをクリックします。
「Device」で処理ハードウェアを選べます。GeForce 系の新しめの GPU がある場合は CUDA が選択されているはずです。高速処理が可能なので、そのままにしておきます。CUDA が使えない場合は CPU が選択されているはずです。
左下の進捗数値が最大まですすみ、右下の MEM 等が変動しなくなれば分離完了です。楽曲ファイルは WAVE にしているのですが「Failed to write with soundfile, using wave instead」というエラーが表示されてしまいます。しかし、分離自体はできているようです。
「vocals.wav」がボーカル抽出音源、「bass.wav」「drums.wav」「other.wav」がその他の音源です。
私の環境では、Load model に 7 秒かかり、その後 5 分 26 秒の楽曲を分離するのにかかった時間を加えると、
- GPU (CUDA) で分離 ➡ 1 分 22 秒
- CPU で分離 ➡ 8 分 47 秒
の時間がかかりました。
なお、出力される WAVE ファイルのサンプリングレートは 44.1 kHz になります(元が 48 kHz でも強制リサンプリングされます)。
オフボーカル合成
Demucs ではオフボーカル音源が「bass.wav」「drums.wav」「other.wav」の 3 つに分離されてしまうので、この 3 つを合成する必要があります。
合成は RadioLine Free を使うと簡単です。
3 つのファイルをそれぞれ、RadioLine Free のウィンドウの左側にあるコントロールパネルにドロップします(波形領域にドロップするとスタート位置が 0 秒にならずにズレてしまいますので注意)。
その後、[ファイル → 音声ファイルとして全体を保存]メニューで保存すると、オフボーカルの WAVE ファイルが作れます。
(補足)合成はマルチトラックを扱えるソフトならどれでもできますが、動画編集ソフトを使う場合は、音声トラックにデフォルトでイコライザやエフェクトなどが入り、音声が変質してしまうケースがあるので注意してください。
感想
使い始めたばかりの第一印象ですが、Spleeter よりもさらに一段ときれいに分離できています。
本家の解説によれば、Spleeter がスペクトル(波長ごとの強度分布)の情報だけを使用しているのに対し、Demucs はスペクトルに加えて波形も使用したハイブリッドシステムなので精度が高いとのことです。
Spleeter ではコーラスはカットできないことも多少あるのですが、Demucs はコーラスもかなりカットするようです。Spleeter のクセである歌い始めのボーカル残りも Demucs にはありません。
Spleeter ではオフボーカル音源がたまにシャリシャリすることがあるのですが、Demucs はそれに比べるとシャリシャリ感は抑えられているように感じられます。
一方で、オフボーカル音源の音欠けは Demucs のほうが多少気になることが多いかもしれません。とはいえ、トータルの精度では Demucs が優位です。
精度が高い反面、処理時間は Demucs のほうが遅いです。CUDA でも 5 倍、CPU だと 30 倍以上かかります。
また、分離方法を選べないのも難点です。Spleeter は 2~5 の範囲で分離ファイル数を選べるのでボーカルカットも簡単なのですが、Demucs はボーカル以外が強制的に「ベース」「ドラム」「その他」の 3 つに分離されてしまうので、ボーカルカット音源を作るためにはそれら 3 つを別途合成する手間が発生します。とはいえ、バージョンアップでこの辺りは改善されるかもしれません。
関連記事
更新履歴
- 2022/09/10 初版。
- 2022/09/11 オフボーカル合成を記載。
- 2023/05/22 関連記事を追記。