# 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との使い分けまで、本番運用に必要な実装を示します。

- 公開日: 2026-06-25
- 著者: 友田 陽大
- タグ: BS-RoFormer, Mel-Band RoFormer, 音源分離, ボーカル抽出, AI音声, Python, 生成AI, MLOps
- URL: https://tomodahinata.com/blog/bs-roformer-mel-band-roformer-vocal-separation-guide

## 要点

- BS-RoFormer（ByteDance, arXiv:2309.02612, ICASSP2024）は複素スペクトログラムを帯域分割し、帯域内・帯域間を階層TransformerとRoPEでモデル化する音源分離の現行SOTA
- 実績はSDX23のMSS標準部門1位、小型版でもMUSDB18HQで追加データなし9.80dB SDR。Demucs v4の9.00〜9.20dBを上回る
- Mel-Band RoFormer（arXiv:2310.01809）は帯域分割をMel尺度の重複帯域にした派生で、vocals/drums/otherでBS-RoFormerを上回ると報告
- audio-separatorの既定モデルがBS-RoFormer（model_bs_roformer_ep_317_sdr_12.9755）。load_modelでファイル名を指定するだけでMDX-NetやDemucsと同じAPIから呼べる
- 代償は最も重く・遅く・VRAMを食うこと。最高品質が要る最終納品はRoFormer、速度/コスト重視の大量処理はMDX-Net、と使い分けるのが実務解

---

## この記事のゴール

音源分離のモデルを調べていくと、必ず行き着くのが **RoFormer** です。Demucs でも UVR5/MDX-Net でもなく、**2026年時点で最も分離品質が高い**とされる系統——それが **BS-RoFormer（Band-Split RoPE Transformer）** と **Mel-Band RoFormer** です。実際、定番ライブラリ [audio-separator](/blog/uvr5-mdx-net-vocal-separation-production-guide) の**既定モデルは 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」とモデルを切り替える設計を実運用しており、本稿の使い分けは**実際にコストと品質を天秤にかけてきた**知見です。ツール全体の選び方は[選定ガイド](/blog/music-source-separation-tool-selection-demucs-uvr-spleeter)、Demucs は[専用ガイド](/blog/demucs-v4-music-source-separation-production-guide)にまとめています。

---

## 30秒のまとめ（結論を先に）

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

---

## RoFormer はなぜ最高品質なのか（論文準拠でやさしく）

ここは RoFormer の核心を、**正確さを保ったまま噛み砕く**章です。実装だけ知りたい人は[使い方](#使い方audio-separatorで-roformer-を動かす)へ飛んで構いません。

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

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

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

BS-RoFormer（[arXiv:2309.02612](https://arxiv.org/abs/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-Net](/blog/uvr5-mdx-net-vocal-separation-production-guide) や [Demucs](/blog/demucs-v4-music-source-separation-production-guide)）を上回る品質の源です。

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

**Mel-Band RoFormer**（[arXiv:2310.01809](https://arxiv.org/abs/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 フレームワーク](https://github.com/ZFTurbo/Music-Source-Separation-Training)（MIT）や MVSep のエコシステムで学習・配布されているものが多く、audio-separator から直接ダウンロードできます。RoFormer のモデルコードは lucidrains による再実装が広く使われています。

---

## 実績：SDX23 と MUSDB18HQ の数字

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

| 指標 | 数値 | 条件 | 出典 |
| --- | --- | --- | --- |
| **SDX23 MSS 標準部門** | **1位**（チーム SAMI-ByteDance＝BS-RoFormer） | 任意データ可 | [SDX23論文](https://transactions.ismir.net/articles/10.5334/tismir.171) |
| **BS-RoFormer 小型版** | **9.80 dB SDR** | MUSDB18HQ・追加データなし | [arXiv:2309.02612](https://arxiv.org/abs/2309.02612) |
| 参考：Demucs v4（htdemucs） | 9.00 dB（基本）／9.20 dB（FT） | MUSDB HQ | [Demucs](https://github.com/facebookresearch/demucs) |

> ⚠️ **数字の読み方**：SDR の 0.x〜1 dB 差は、用途によっては聴感で「言われれば分かる」程度です。RoFormer は確かに最高品質ですが、**その差が速度・VRAM・コストの代償に見合うか**は用途次第。品質を客観評価する方法は[品質評価ガイド](/blog/music-source-separation-quality-evaluation-sdr-museval)に、モデル横断の選定は[選定ガイド](/blog/music-source-separation-tool-selection-demucs-uvr-spleeter)にまとめています。

---

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

最大の朗報は、**RoFormer も [MDX-Net](/blog/uvr5-mdx-net-vocal-separation-production-guide) や [Demucs](/blog/demucs-v4-music-source-separation-production-guide) と同じ `Separator` API から呼べる**こと。しかも **audio-separator の既定モデルが BS-RoFormer** なので、モデルを指定しなければ自動的に RoFormer が使われます。

```bash
pip install "audio-separator[gpu]"   # GPU。CPUは [cpu]
```

```python
# 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.ckpt` | BS-RoFormer | **audio-separator既定**。汎用・高品質 |
| `model_bs_roformer_ep_368_sdr_12.9628.ckpt` | BS-RoFormer | 別エポックの高品質版 |
| `vocals_mel_band_roformer.ckpt` | Mel-Band RoFormer | ボーカル抽出 |
| `mel_band_roformer_kim_ft_unwa.ckpt` | Mel-Band RoFormer | ボーカル特化のFT版 |

```bash
# RoFormer系の"今この瞬間"の正確なファイル名を確認
audio-separator --list_models --list_filter roformer
```

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

---

## 代償：VRAM と速度の現実

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

| 観点 | MDX-Net | Demucs v4 | **BS/Mel-RoFormer** |
| --- | --- | --- | --- |
| 品質 | 中〜高 | 高 | **最高** |
| 速度 | 速い | 中 | **遅い** |
| VRAM | 少 | 中 | **多** |

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

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

---

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

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

**RoFormer を使うべき場面：**

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

**MDX-Net に留めるべき場面：**

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

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

---

## よくある質問（FAQ）

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

**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` の対処は[トラブルシューティングガイド](/blog/uvr5-audio-separator-troubleshooting-gpu-cuda-oom)に。

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

**Q. 既定モデルが RoFormer だと知らずに使っていた。**
A. はい、**audio-separator はモデル未指定だと BS-RoFormer**（`model_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 の構築・改善は、[実績](/case-studies/ai-video-localization-lipsync)とともにご相談ください。**一人 × 生成AI**で、設計から本番運用まで一気通貫で支援します。

---

## 出典・公式リソース

- **BS-RoFormer**：[arXiv:2309.02612](https://arxiv.org/abs/2309.02612)（Music Source Separation with Band-Split RoPE Transformer, ByteDance SAMI, ICASSP 2024）
- **Mel-Band RoFormer**：[arXiv:2310.01809](https://arxiv.org/abs/2310.01809)（Mel-Band RoFormer for Music Source Separation）
- **SDX23（Sound Demixing Challenge 2023）**：[AIcrowd](https://www.aicrowd.com/challenges/sound-demixing-challenge-2023) ／ [TISMIR論文](https://transactions.ismir.net/articles/10.5334/tismir.171)
- **学習/推論フレームワーク**：[ZFTurbo/Music-Source-Separation-Training（MIT）](https://github.com/ZFTurbo/Music-Source-Separation-Training)
- **実行ライブラリ**：[nomadkaraoke/python-audio-separator（MIT）](https://github.com/nomadkaraoke/python-audio-separator)

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