メインコンテンツへスキップ
友田 陽大
音源分離・音声前処理
BS-RoFormer
Mel-Band RoFormer
音源分離
ボーカル抽出
AI音声
Python
生成AI
MLOps

BS-RoFormer / Mel-Band RoFormer 完全ガイド:2026最高品質の音源分離を本番で使う

音源分離の現行SOTA、BS-RoFormer(Band-Split RoPE Transformer)とMel-Band RoFormerを公式論文に忠実に解説。なぜ最高品質なのか(帯域分割×RoPE Transformer)、SDX23 1位・MUSDB18HQ 9.80dBの実績、audio-separatorでの実行コード、VRAM/速度の現実とOOM対策、MDX-Netとの使い分けまで、本番運用に必要な実装を示します。

公開日
読了時間
10分
著者
友田 陽大
シェア

この記事のゴール

音源分離のモデルを調べていくと、必ず行き着くのが RoFormer です。Demucs でも UVR5/MDX-Net でもなく、2026年時点で最も分離品質が高いとされる系統——それが BS-RoFormer(Band-Split RoPE Transformer)Mel-Band RoFormer です。実際、定番ライブラリ audio-separator既定モデルは BS-RoFormer になっています。

本稿は、この最新 SOTA を 公式論文(arXiv)に忠実に解説し、今日から本番で使えるところまで持っていきます。読み終えたとき、あなたは次ができます。

  1. RoFormer がなぜ最高品質なのか(帯域分割 × RoPE Transformer)を、人に説明できる。
  2. audio-separator で BS/Mel-Band RoFormer を実行し、自分の音源で品質を確かめられる。
  3. VRAM・速度の現実を踏まえ、RoFormer を使うべき場面と、MDX-Net に留めるべき場面を判断できる。

筆者について(信頼性の開示):私は音源分離を第1段に持つ AI動画ローカライズ基盤を単独で設計・実装し、本番運用しています。素材ごとに「速度重視なら MDX-Net、品質最優先なら RoFormer」とモデルを切り替える設計を実運用しており、本稿の使い分けは実際にコストと品質を天秤にかけてきた知見です。ツール全体の選び方は選定ガイド、Demucs は専用ガイドにまとめています。


30秒のまとめ(結論を先に)

観点結論
何のモデルか音源分離の現行SOTA。複素スペクトログラムを帯域分割し、Transformer+RoPEでマスク推定
BS-RoFormerBand-Split RoPE Transformer(arXiv:2309.02612、ByteDance、ICASSP2024)
Mel-Band RoFormer帯域分割をMel尺度の重複帯域に(arXiv:2310.01809)。一部ステムでBSを上回る
実績SDX23のMSS標準部門1位、小型版でもMUSDB18HQで追加データなし9.80dB
使い方audio-separatorの既定モデルload_model でファイル名指定するだけ
代償最も重い・遅い・VRAMを食う(コミュニティ知見)
使うべき場面品質最優先の最終納品・アップの主役・難しい素材
留めるべき場面大量バッチ・低VRAM・速度/コスト重視 → MDX-Net
ライセンスaudio-separatorはMIT。各モデル重みの配布条件と音源の著作権は別途確認

RoFormer はなぜ最高品質なのか(論文準拠でやさしく)

ここは RoFormer の核心を、正確さを保ったまま噛み砕く章です。実装だけ知りたい人は使い方へ飛んで構いません。

出発点:スペクトログラムを「帯域」で見る

音源分離の周波数領域アプローチは、音声を STFT で**複素スペクトログラム(時間×周波数)**に変換し、各成分のマスクを推定します。問題は、周波数の全域を一様に扱うと、低域の太い成分と高域の繊細な成分を同じ重みで見てしまうこと。

BS-RoFormer の答え:帯域分割 × 階層 Transformer × RoPE

BS-RoFormer(arXiv:2309.02612、Lu・Wang・Kong・Hung、ByteDance SAMI)の要旨が設計を端的に表します。

BS-RoFormer relies on a band-split module to project the input complex spectrogram into subband-level representations, and then arranges a stack of hierarchical Transformers to model the inner-band as well as inter-band sequences for multi-band mask estimation. To facilitate training the model for MSS, we propose to use the Rotary Position Embedding (RoPE).

3つの要素に分解できます。

  1. 帯域分割(band-split):複素スペクトログラムを周波数帯(subband)ごとの表現に射影する。周波数の構造に合わせて細かさを変えられる。
  2. 階層 Transformer帯域内(inner-band)と帯域間(inter-band)の両方の系列を、積み重ねた Transformer で関係づける。「ある帯域の中の時間変化」と「帯域どうしの関係」を両取りする。
  3. RoPE(回転位置埋め込み):Transformer に位置情報を回転で与える仕組み。長い系列でも位置関係を安定して扱え、分離学習を助ける。

この「周波数を帯域で構造化し、Transformer で帯域内外を同時にモデル化する」のが、従来の U-Net 系(MDX-NetDemucs)を上回る品質の源です。

Mel-Band RoFormer:帯域の切り方を「人間の聴覚」に寄せる

Mel-Band RoFormerarXiv:2310.01809、Wang・Lu・Won)は、BS-RoFormer の帯域分割の仕方を変えた派生です。論文の言葉では——

we propose Mel-RoFormer, which adopts the Mel-band scheme that maps the frequency bins into overlapped subbands according to the mel scale.

BS-RoFormer の帯域分割がヒューリスティックな非重複だったのに対し、Mel-Band RoFormer はMel尺度に沿った重複する帯域に分けます(Mel尺度=人間の聴覚に近い周波数スケール)。Transformer+RoPE のバックエンドは共通で、入口の帯域分割だけが違う。論文は「vocals / drums / other で BS-RoFormer を上回る」と報告しています(要旨に具体 dB 値の記載はなし)。

🧩 どこから来るモデルか:これらの RoFormer チェックポイントは、ZFTurbo の MSST フレームワーク(MIT)や MVSep のエコシステムで学習・配布されているものが多く、audio-separator から直接ダウンロードできます。RoFormer のモデルコードは lucidrains による再実装が広く使われています。


実績:SDX23 と MUSDB18HQ の数字

RoFormer の強さはコンペとベンチマークの数字で裏付けられています(一次情報のみ)。

指標数値条件出典
SDX23 MSS 標準部門1位(チーム SAMI-ByteDance=BS-RoFormer)任意データ可SDX23論文
BS-RoFormer 小型版9.80 dB SDRMUSDB18HQ・追加データなしarXiv:2309.02612
参考:Demucs v4(htdemucs)9.00 dB(基本)/9.20 dB(FT)MUSDB HQDemucs

⚠️ 数字の読み方:SDR の 0.x〜1 dB 差は、用途によっては聴感で「言われれば分かる」程度です。RoFormer は確かに最高品質ですが、その差が速度・VRAM・コストの代償に見合うかは用途次第。品質を客観評価する方法は品質評価ガイドに、モデル横断の選定は選定ガイドにまとめています。


使い方:audio-separator で RoFormer を動かす

最大の朗報は、RoFormer も MDX-NetDemucs と同じ Separator API から呼べること。しかも audio-separator の既定モデルが BS-RoFormer なので、モデルを指定しなければ自動的に RoFormer が使われます。

pip install "audio-separator[gpu]"   # GPU。CPUは [cpu]
# roformer_quickstart.py — BS-RoFormerで最高品質の分離を行う
from audio_separator.separator import Separator

separator = Separator(output_dir="stems", output_format="flac")  # 可逆で品質維持

# 既定がBS-RoFormer。明示するならファイル名を渡す
separator.load_model(model_filename="model_bs_roformer_ep_317_sdr_12.9755.ckpt")

output_files = separator.separate("song.wav")
print(output_files)   # ['..._(Vocals)_....flac', '..._(Instrumental)_....flac']

代表的な RoFormer モデル(実在は 必ず audio-separator --list_models で確認):

モデルファイル名系統用途
model_bs_roformer_ep_317_sdr_12.9755.ckptBS-RoFormeraudio-separator既定。汎用・高品質
model_bs_roformer_ep_368_sdr_12.9628.ckptBS-RoFormer別エポックの高品質版
vocals_mel_band_roformer.ckptMel-Band RoFormerボーカル抽出
mel_band_roformer_kim_ft_unwa.ckptMel-Band RoFormerボーカル特化のFT版
# RoFormer系の"今この瞬間"の正確なファイル名を確認
audio-separator --list_models --list_filter roformer

🔧 モデル名(特にエポック/SDR入りの長い名前)は配布で更新されます。本稿の名前は執筆時点で確認済みですが、実在は --list_models で確認してください。RoFormer の細かい推論パラメータは、まず公式の既定値のまま回し、不満な点だけ調整するのが鉄則です。


代償:VRAM と速度の現実

RoFormer はただ速くて軽い銀の弾丸ではありません。以下はコミュニティ・実務の知見です(🟡 公式の統一ベンチマークは存在しません)。

観点MDX-NetDemucs v4BS/Mel-RoFormer
品質中〜高最高
速度速い遅い
VRAM

帯域 × 時間にわたる大きな Transformer を回すため、最も計算が重く、VRAM を食い、処理時間も長い——これが品質の代償です。長尺・大量処理で CUDA out of memory に当たりやすいのも RoFormer です。

OOM 対策の基本segment_size(GPU に載せるチャンク)を下げること。GPU が CPU にフォールバックして「動くのに激遅」になる罠も含め、詰まりどころはトラブルシューティングガイドに体系化しています。


いつ RoFormer を使い、いつ MDX-Net に留めるか

「常に最高品質を使えばいい」は、本番ではコストとスループットの観点で間違いです。用途で使い分けます。

RoFormer を使うべき場面:

  • 品質最優先の最終納品(アップの主役カット、商用音源のクリーン分離)。
  • 難しい素材(密なミックス、ボーカルと楽器が近い帯域に重なる曲)。
  • 処理時間・VRAM・コストを許容できるとき。

MDX-Net に留めるべき場面:

  • 大量バッチで単価を刻みたいとき(速度と VRAM 効率が効く)。
  • 低VRAM環境しかないとき。
  • 品質要件が「十分」で、最高でなくてよいとき。

実務では二段構えが効きます——ドラフトは MDX-Net で高速に全体確認 → 採用カットだけ RoFormer で本生成。これで品質とコストを両立できます。モデル横断の意思決定は選定ガイドを、本番のスケールはGPUワーカー基盤の記事を参照してください。


よくある質問(FAQ)

Q. BS-RoFormer と Mel-Band RoFormer、どちらを使う? A. まず BS-RoFormer(audio-separator 既定で実績豊富)。論文では Mel-Band RoFormer が vocals/drums/other で上回ると報告されているので、ボーカル抽出で更に品質を詰めたいなら Mel-Band 版も試し、自分の音源で客観評価して決めます。

Q. RoFormer は MDX-Net や Demucs より必ず良い? A. 品質(SDR)では上ですが、速度・VRAM では不利です。0.x〜1 dB の差がコストに見合うかは用途次第。大量処理は MDX-Net、最高品質は RoFormer、4ステムは Demucs、と使い分けます。

Q. どれくらいの GPU が要る? A. RoFormer は VRAM を食うため、VRAM の大きい GPU ほど安定します。足りなければ segment_size を下げます。CUDA out of memory の対処はトラブルシューティングガイドに。

Q. 商用利用できる? A. audio-separator は MITですが、各モデル重みの配布条件は個別で、何より処理する音源(市販曲など)の著作権は別問題です。商用は必ず一次情報で確認してください。

Q. 既定モデルが RoFormer だと知らずに使っていた。 A. はい、audio-separator はモデル未指定だと BS-RoFormermodel_bs_roformer_ep_317_sdr_12.9755)を使います。軽くしたいなら load_model(model_filename="UVR-MDX-NET-Inst_HQ_3.onnx") のように MDX-Net を明示してください。


まとめ:最高品質を「使いどころ」で活かす

RoFormer の本質は、周波数を帯域で構造化し、帯域内・帯域間を Transformer と RoPE で同時にモデル化する点にあります。だからこそ現行 SOTA であり、だからこそ重い。

  1. 品質が要るなら RoFormer:SDX23 1位・MUSDB18HQ 9.80dB の実力。
  2. 実装は簡単:audio-separator の既定モデル。load_model でファイル名を指定するだけ。
  3. 代償を理解する:最も遅く・VRAM を食う。OOM は segment_size で対処。
  4. 使い分けが正解:大量処理は MDX-Net、最高品質は RoFormer、4ステムは Demucs。

最高品質のモデルを知っている」ことと、「用途に応じて最適なモデルを使い分け、本番でコストを抑えつつ品質を出す」ことは別物です。後者こそ外注で差がつくところ。音源分離を含む音声・動画 AI の構築・改善は、実績とともにご相談ください。一人 × 生成AIで、設計から本番運用まで一気通貫で支援します。


出典・公式リソース

※ モデル名・SDR・ライセンスは更新されます。実装前に必ず一次情報を確認してください(特にモデル名は audio-separator --list_models)。速度/VRAM のトレードオフはコミュニティ知見であり、自分のハードでの計測を推奨します。

友田

友田 陽大

経済産業大臣賞 受賞プロダクト開発者。TypeScript + Python + AWS で、SaaS・業界DX・ 実用レベルの生成AI(RAG)を、要件定義からインフラ・運用まで一人で完遂します。

この記事で解説した技術の適用事例

AI動画ローカライズ・リップシンク基盤

ケーススタディを見る