結論から書きます。UVR5(Ultimate Vocal Remover)には、曲からいきなり「ハモリだけ」を取り出すボタンはありません。1回目で曲からボーカルを抽出し、2回目でそのボーカルファイルをカラオケ系モデル(UVR-MDX-NET Karaoke 2 など)にかけると、リードボーカルとそれ以外に分かれ、「それ以外」がハモリになります。カラオケ系モデルを曲全体にかけた場合は、ハモリが残ったままのカラオケ音源ができます。
カラオケ系モデルでは、ファイル名に (Instrumental) が付く方がハモリです。UVR v5.6 の Vocal Split Mode なら2段階を1回の実行にまとめられ、ハモリは (Vocals_backing_only) として出てきます。
ハモリのパートを練習したい人、耳コピをする人、ハモリを残したオケを作りたい人に向けて、UVR5 GUI での手順を中心に書きました。後半に Python の audio-separator で一括処理する方法も載せています。伴奏だけ・ボーカルだけを作る基本とインストールは UVR5でカラオケ音源・アカペラを作る完全ガイド にあります。
筆者と、この記事の確かめ方:筆者は、音源分離を第1段に持つ動画ローカライズ基盤を単独で構築・運用しています。この記事の UVR の画面表記と出力ファイル名は、GitHub で公開されている UVR GUI v5.6 のソースコード(master ブランチの
gui_data/constants.py・UVR.py・separate.py)とモデル定義ファイルを読んで確かめたものです。Roformer に対応したベータ版は対象外です。ボタンの位置やアイコンはソースからは分からないため、ラベル名で案内します。
目的別のやり方(早見表)
| やりたいこと | カラオケ系モデルに入れる音 | 使うファイル |
|---|---|---|
| ハモリだけを聴く(練習・耳コピ) | 1回目で作ったボーカル | (Instrumental)。Vocal Split Mode なら (Vocals_backing_only) |
| リードだけを聴く | 1回目で作ったボーカル | (Vocals)。Vocal Split Mode なら (Vocals_lead_only) |
| ハモリを残したカラオケ | 曲全体(1回で済む) | (Instrumental)。Vocal Split Mode なら (Instrumental_with_backing_vocals) も出せる |
| ハモリだけ消した曲(伴奏+リード) | 1回目で作ったボーカル | (Instrumental_with_lead_vocals)(Vocal Split Mode のみ) |
なぜ2段階で分けるのか
カラオケ系モデルは、音を「リードボーカル」と「それ以外」の2つに分けるモデルです。 UVR の Vocal Split Mode のヘルプ文も、生成したボーカルを karaoke モデル(リードを取り除く)か backing vocal モデル(バックコーラスを取り除く)で処理し、lead vocals と backing vocals に分ける、と説明しています。
そのため、入力によって「それ以外」の中身が変わります。曲全体にかければ「それ以外」は伴奏とハモリ、つまりハモリを残したカラオケです。1回目で作ったボーカルにかければ、伴奏はもう無いので「それ以外」はハモリだけになります。1回目のボーカル抽出は、ハモリに楽器が混ざらないようにするための下ごしらえです。
どの出力ファイルがハモリか
UVR のソース(UVR.py)は、モデル定義ファイルで karaoke モデルとされたものは Vocals 側をリード、backing vocal(BV)モデルとされたものは Vocals 側をバックコーラスとして扱います。まとめると次のとおりです。
| モデル | (Vocals) のファイル | (Instrumental) のファイル |
|---|---|---|
| UVR-MDX-NET Karaoke、UVR-MDX-NET Karaoke 2、5_HP-Karaoke-UVR、6_HP-Karaoke-UVR | リード | リード以外(ボーカルにかければハモリ) |
| Roformer のカラオケモデル(audio-separator で使用) | リード | リード以外(ボーカルにかければハモリ) |
| UVR-BVE-4B_SN-44100-1(BV モデル) | バックコーラス(ハモリ) | リード |
Roformer の行だけは、UVR のソースではなく audio-separator が読み込むモデル設定ファイル(YAML)のステム名によります。表はソースから導いたものなので、最初の1曲は必ず両方のファイルを聴いて確かめてください。
BV モデルについて UVR が説明しているのは、ボーカルに対して使う場合だけです。曲全体には使わず、後述の Vocal Split Mode(方法A)で使うのがおすすめです。UVR はこのとき、1回目のボーカルに伴奏を振幅で1割だけ混ぜ戻してからモデルにかけ、リードは「ボーカル − モデルが出したバックコーラス」で計算します。ボーカルファイルに手動でかける方法(方法B)とは、結果が変わることがあります。
ハモリ抽出に使えるモデル
UVR の配布一覧(download_checks.json)のうち、VR Architecture と MDX-Net の一覧にあるカラオケ系・BV モデルは次の5つです。
| UVR での表示 | ファイル名 | 方式(Process Method) |
|---|---|---|
| UVR-MDX-NET Karaoke 2 | UVR_MDXNET_KARA_2.onnx | MDX-Net |
| UVR-MDX-NET Karaoke | UVR_MDXNET_KARA.onnx | MDX-Net |
| 6_HP-Karaoke-UVR | 6_HP-Karaoke-UVR.pth | VR Architecture |
| 5_HP-Karaoke-UVR | 5_HP-Karaoke-UVR.pth | VR Architecture |
| UVR-BVE-4B_SN-44100-1(BV モデル) | UVR-BVE-4B_SN-44100-1.pth | VR Architecture |
audio-separator のモデル一覧には、これに加えて UVR-BVE-4B_SN-44100-2.pth と、次の Roformer 系カラオケモデルがあります。
mel_band_roformer_karaoke_aufr33_viperx_sdr_10.1956.ckptmel_band_roformer_karaoke_gabox.ckptmel_band_roformer_karaoke_gabox_v2.ckptmel_band_roformer_karaoke_becruily.ckptbs_roformer_karaoke_frazer_becruily.ckptbs_roformer_karaoke_anvuew.ckpt
Roformer 系は重く VRAM も多く使います(理由は BS-RoFormer / Mel-Band RoFormer ガイド)。
通常版の UVR v5.6 は、Roformer 系のモデルを実行できません。 v5.6 のリリースノートによると、リリースページにある「Beta Roformer Version of UVR」なら実行でき、モデルは Download Center から入手できます。この記事の画面表記はベータ版では確かめていないので、Roformer のカラオケモデルは後述の audio-separator で使うのを基本にしてください。
どれが一番良いかは曲によって変わります。audio-separator が公開しているモデルごとの SDR は MUSDB18-HQ のボーカルと伴奏を基準にした値で、リードとハモリの分け方は測っていません(SDR の意味は品質評価ガイド)。リードとバックコーラスの分け方なら MVSEP の Lead/Back Vocals リーダーボードがあり、48曲(各40秒)の混合音源から分けたリードやバックコーラスを SDR で採点しています。ただし曲全体を入力にした採点で、ボーカルファイルからハモリを取り出す2回目の処理そのものではありません。コミュニティの音源分離ガイド(deton24 氏のガイド、audio-separator のリポジトリに収録)でも、カラオケ系モデルは曲ごとに結果が大きく違うと報告されています。曲ごとに2〜3個を聴き比べて決めてください。
UVR5(GUI)でハモリだけを抽出する手順
準備:カラオケ系モデルをダウンロードする
- 「Settings Button」を押します。README では「Start Processing」ボタンの左にあると説明されています。
- 設定画面の「Download Center」タブで、「VR Arch」か「MDX-Net」を選びます。
- 一覧からモデルを選んでダウンロードします。項目名は「MDX-Net Model: UVR-MDX-NET Karaoke 2」「VR Arch Single Model v5: 6_HP-Karaoke-UVR」のような形です。
各モデルのプルダウンの末尾にある「Download More Models」からも Download Center を開けます。モデルは UVR の配布元(GitHub の TRvlvr/model_repo のリリース)から取得され、UVR のフォルダ内の models/MDX_Net_Models や models/VR_Models に置かれます。
方法A:Vocal Split Mode で1回の実行にまとめる
UVR v5.6 には、1回目に作ったボーカルを、自動でカラオケ系モデルにかける機能があります。
- 設定画面の「Additional Settings」タブで「Vocal Splitter Options」ボタンを押します。同じボタンは VR Architecture / MDX-Net / Demucs の詳細オプション画面にもあります。
- 開いた「Vocal Split Options」画面で、先に「Enable Vocal Split Mode」にチェックを入れます。チェックを入れるまで「Select Model」と「Save Split Vocal Instrumentals」は灰色で選べません。
- 「Select Model」で、ダウンロードしたカラオケ系モデルを選びます。項目は「MDX-Net: 〜」「VR Arc: 〜」の形です。ソースを読む限り、ここにはインストール済みの VR Architecture / MDX-Net のモデルのうち、カラオケ系と BV のモデルだけが並びます。ハモリを残したカラオケも欲しい場合は「Save Split Vocal Instrumentals」にもチェックを入れます。
- メイン画面の「CHOOSE PROCESS METHOD」で、ふだんボーカル抽出に使う方式とモデルを選びます(選び方はUVR5 ガイド)。「Instrumental Only」のチェックは外します。 UVR は前回の設定を引き継ぐので、カラオケを作ったときのチェックが残りがちです。入ったままだと、「Save Split Vocal Instrumentals」が無効な限り2回目の分離が動かず、ハモリのファイルが出てきません。
- 「Select Input」で曲を、「Select Output」で保存先を選び、「Start Processing」を押します。コンソールに
Splitting vocals...と表示されたら、2回目の分離が動いています。
入力が song.wav の場合、出力は次のようになります。先頭の 1_ は、入力したファイルの順番です。
1_song_(Vocals).wav 1回目のボーカル(リード+ハモリ)
1_song_(Instrumental).wav 1回目の伴奏
1_song_(Vocals_lead_only).wav リードだけ
1_song_(Vocals_backing_only).wav ハモリだけ
1_song_(Instrumental_with_lead_vocals).wav 伴奏+リード(Save Split Vocal Instrumentals 有効時)
1_song_(Instrumental_with_backing_vocals).wav 伴奏+ハモリ(同上)
UVR のヘルプによると、Vocal Split Mode は現時点では Ensemble Mode と一緒には使えません。
方法B:2回に分けて手動で実行する
複数のカラオケ系モデルを比べたいときや、1回目のボーカルを作り直さずに2回目だけやり直したいときは、2回に分けて実行します。
- 1回目:ふだんどおりボーカルを抽出し、
1_song_(Vocals).wavを作ります。 - 2回目:「Select Input」にそのファイルを指定し、カラオケ系モデルを選びます。たとえば「MDX-Net」→「UVR-MDX-NET Karaoke 2」、または「VR Architecture」→「6_HP-Karaoke-UVR」です。
- 出力は
1_1_song_(Vocals)_(Instrumental).wav(ハモリ)と1_1_song_(Vocals)_(Vocals).wav(リード)のような名前になります。
片方だけ保存するチェックボックスのラベルは、選んだモデルのステム名から作られます。カラオケ系モデルなら「Instrumental Only」と「Vocals Only」で、ハモリだけ欲しいときは「Instrumental Only」です。BV モデルでは逆に「Vocals Only」がハモリ側です(BV モデルは前述のとおり方法Aがおすすめです)。
モデルを比べるときは「Model Test Mode」を使うと、出力ファイル名にモデル名が付きます(UVR のヘルプより)。
ハモリを残したカラオケを作る
いちばん簡単なのは、カラオケ系モデルを曲全体に1回かけ、(Instrumental) を使う方法です。リードだけが取り除かれ、伴奏とハモリが残ります。
もう1つは、方法Aで「Save Split Vocal Instrumentals」にチェックを入れて出てくる (Instrumental_with_backing_vocals) です。UVR のソースでは、1回目の伴奏と2回目のハモリを足し合わせて作られます。どちらが自然に聞こえるかは曲によるので、両方作って聴き比べてください。伴奏だけの普通のカラオケは、UVR5 ガイドのやり方が向いています。
うまく分かれない曲と、その見分け方
カラオケ系モデルが判断しているのは「どれがリードか」です。曲の作りによっては、その手がかりがありません。下の表は仕組みから予想できる傾向で、どのくらいの頻度で失敗するかを示した統計はありません。
| 曲の特徴 | 起きやすいこと | 試すこと |
|---|---|---|
| ハモリがリードと同じ音(ユニゾン・ダブリング) | 分ける手がかりがなく、どちらか一方に寄る | 分離は難しい。そのパートはリードと同じ音とみなす |
| リードとハモリが同じ歌手(多重録音) | 声質で区別できず、フレーズごとに行き来する | 別のモデルで聴き比べる。左右に振られていれば mid/side |
| 複数人がリードを歌い、互いにハモる | モデルによって、ハモリがリードのファイルに入ることも、リード以外のファイルに入ることもある(下記) | 両方のファイルを聴いて確かめる。左右に振られていれば mid/side |
| ハモリが中央に定位している | mid/side が使えない | モデルの聴き比べに頼る |
| 残響が深い | 残響の尾が両方のファイルに広がる | Deverb Vocals(下記) |
| 途中でリードとハモリが入れ替わる | 部分ごとにハモリのファイルとリードのファイルを行き来する | 編集ソフトで区間ごとにつなぎ直す |
| モノラル音源 | 左右の差が無いので mid/side は無音になる | モデルの聴き比べに頼る |
複数人で歌う曲について、Roformer のカラオケモデルの作者の一人である becruily 氏は、前述の deton24 氏のガイドで、自身と frazer 氏のモデルの設計を説明しています。メインの歌手のアドリブもリードに含まれ、複数の歌手が重ねて歌って互いにハモる場合は全員がひとつのリードとして分離され、残るのは本当のバックコーラスだけになる、という趣旨です。つまりこの2人の Roformer モデルでは、互いにハモる歌手の声はリード側に入ります。同じガイドには、UVR-MDX-NET Karaoke 2 と 6_HP-Karaoke-UVR とでサビのリードメロディの扱いが違うという利用者の報告もあり、振り分け方はモデルごとに違います。グループで歌う曲は両方のファイルを確かめてください。
残響が深い曲は、Vocal Split Options 画面の「Deverb Vocals」で残響を減らせます。対象は「Select Vocal Type to Deverb」で「Main Vocals Only」「Lead Vocals Only」「Backing Vocals Only」「All Vocal Types」から選びます。UVR のヘルプによると、使うには VR Architecture の「UVR-DeEcho-DeReverb」モデルをインストールしておく必要があり、Ensemble Mode では使えません。
分離する前に見分ける方法もあります。
- ヘッドホンで聴いて、ハモリが左右どちらかに寄って聞こえるかを確かめる。
- 1回目のボーカルファイルから side 成分を作って聴く(次の章)。残響だけでなくハモリがはっきり聞こえれば、ハモリは左右に振られています。
- Audacity の「Vocal Reduction and Isolation」の「Analyze」を使う。マニュアルによると、中央の除去や抽出がうまくいく見込みと、選択範囲全体の平均の定位(Pan position)を表示します。ハモリだけが鳴っている区間を選んでください。Audacity 3.5.0 以降はプラグインの入手が必要です(次の章の末尾)。
左右に振られたハモリは mid/side で取り出す
side 成分は、左チャンネルから右チャンネルを引いて半分にした信号((L−R)/2)です。 左右にまったく同じ形で入っている音は打ち消し合って消えるので、中央に定位したリードが消え、左右に振られたハモリが残ります。
これは1回目で作ったボーカルファイルにかけます。曲全体にかけると、左右に広がったギターやシンセも一緒に残るからです。FFmpeg の pan フィルタは、出力チャンネルを入力チャンネルの足し算・引き算で指定できます。
# side 成分:L と R の差。中央の音(多くの場合リード)が消える
ffmpeg -i "1_song_(Vocals).wav" -af "pan=mono|c0=0.5*c0-0.5*c1" side.wav
# 参考:mid 成分:L と R の和。中央の音が残る
ffmpeg -i "1_song_(Vocals).wav" -af "pan=mono|c0=0.5*c0+0.5*c1" mid.wav
FFmpeg 8.1.1 で合成信号を使って確かめました。中央(左右両方)に入れた振幅 0.125 の 440 Hz は side.wav で 0 になり、左だけに入れた振幅 0.125 の 660 Hz は 0.0625(半分)で残りました。ここから、side 成分には次の限界があることが分かります。
- 出力はモノラルです。ハモリが左右どちらにあったかの情報は残りません。
- 片側だけに振られたパートは半分の大きさ(−6 dB)になります。必要なら後で音量を上げてください。
- 中央に定位したハモリも消えます。
- ステレオの残響は残ります。 Audacity のマニュアルにも、ステレオの残響は定位の全幅に広がっているので中央の除去では消えない、と書かれています。
Audacity で同じことをするなら、「Effect > Special > Vocal Reduction and Isolation」の「Remove Center: to mono」が、上の side 成分と同じ「反転して足す」方法です。ただし、この効果は Audacity 3.5.0 以降は同梱されなくなりました。マニュアルによると、Muse のサポートサイトから Nyquist プラグインとして入手できます。
audio-separator で2段階分離を自動化する
曲数が多いときや、処理を自動化したいときは、UVR のモデルを CLI と Python から使える audio-separator(MIT ライセンス)が便利です。インストールと GPU 設定は UVR5 ガイドを、エラーが出たら トラブルシューティング を見てください。以下は PyPI の 0.47.1(2026-10-19 公開)のソースで確かめた内容です。
UVR GUI との違いが3つあります。
- Vocal Split Mode に当たる連鎖処理はありません。 ソースのコメントに未実装と書かれています。2段階分離は2回実行します。
- 出力名は
<入力名>_(<ステム名>)_<モデル名>.<拡張子>です。 BV モデルでもステム名はVocals/Instrumentalのままで、UVR と同じく(Vocals)側がハモリです。 - 既定値が CLI と Python で違います。 出力形式の既定は CLI が FLAC、Python が WAV です。モデル名と出力形式は毎回明示してください。
使えるカラオケ系モデルは、一覧をファイル名で絞り込んで探します。--list_filter は name・filename での並べ替えか、ステム名(vocals や instrumental など)での絞り込みなので、karaoke を指定しても見つかりません。
# カラオケ系・BV モデルをファイル名で探す
audio-separator -l | grep -i -E "kara|bve"
CLI:1曲を2段階で分ける
--custom_output_names で出力名を固定しておくと、1回目の出力を2回目の入力に確実に渡せます。
# 1回目:曲 → ボーカル(リード+ハモリ)
audio-separator song.wav \
-m model_bs_roformer_ep_317_sdr_12.9755.ckpt \
--single_stem Vocals \
--custom_output_names '{"Vocals": "song_vocals"}' \
--output_format WAV --output_dir out
# 2回目:ボーカル → カラオケ系モデル。Instrumental(リード以外)がハモリ
audio-separator out/song_vocals.wav \
-m UVR_MDXNET_KARA_2.onnx \
--single_stem Instrumental \
--custom_output_names '{"Instrumental": "song_harmony"}' \
--output_format WAV --output_dir out
2回目を Roformer 系のカラオケモデル(例:-m mel_band_roformer_karaoke_becruily.ckpt)に替えても指定は同じです。README によると、0.47 系では設定ファイルの num_overlap が 4 や 8 のモデル(Mel-Band のカラオケモデルなど)は時間がかかるので、境目の品質を少し犠牲にして速くするなら --mdxc_overlap=2 を付けます。3つの Roformer カラオケモデルの出力を平均する --ensemble_preset karaoke もあります。
Python:フォルダ内の全曲からハモリを取り出す
モデルの読み込みは重いので、モデルごとに1回だけ読み込み、全曲に使い回します。
# harmony_batch.py — フォルダ内の曲から「ハモリだけ」を2段階で取り出す
from pathlib import Path
from audio_separator.separator import Separator
VOCAL_MODEL = "model_bs_roformer_ep_317_sdr_12.9755.ckpt" # 1回目:曲 → ボーカル
KARAOKE_MODEL = "UVR_MDXNET_KARA_2.onnx" # 2回目:ボーカル → リード / それ以外
def separate_all(
model: str, stem: str, jobs: dict[str, Path], out_dir: Path, label: str
) -> dict[str, Path]:
"""jobs(曲名 → 入力ファイル)を同じモデルで分離し、stem だけを書き出す。"""
out_dir.mkdir(parents=True, exist_ok=True)
sep = Separator(output_dir=str(out_dir), output_format="WAV", output_single_stem=stem)
sep.load_model(model_filename=model) # 読み込みはモデルごとに1回だけ
results: dict[str, Path] = {}
for name, src in jobs.items():
written = sep.separate(str(src), custom_output_names={stem: f"{name}_{label}"})
if len(written) != 1:
raise RuntimeError(f"{src}: expected one {stem} file, got {written}")
# 戻り値は出力先を含まないファイル名(ソースより)。パスでも動くよう名前だけ使う
results[name] = out_dir / Path(written[0]).name
return results
songs = {p.stem: p for p in sorted(Path("songs").glob("*.wav"))}
vocals = separate_all(VOCAL_MODEL, "Vocals", songs, Path("out/vocals"), "vocals")
# カラオケ系モデルの Instrumental はリード以外。入力がボーカルなので、これがハモリ
harmony = separate_all(KARAOKE_MODEL, "Instrumental", vocals, Path("out/harmony"), "harmony")
for name, path in harmony.items():
print(name, "->", path)
著作権:練習に使うのと、公開するのとでは線が違う
技術的に分離できることと、その音源を使ってよいことは別の問題です。日本の著作権法(e-Gov 法令検索の現行条文)と、JASRAC・NexTone の案内から、判断の目安を整理します。
| やりたいこと | 判断の目安 |
|---|---|
| 自分で買った CD や配信音源から、自分の練習用にハモリを抽出する | 「個人的に又は家庭内その他これに準ずる限られた範囲内」で使うなら、私的使用のための複製として認められる(第30条第1項)。実演・レコードにも第102条第1項で準用される |
| コピーガードなどの技術的保護手段を外して取り込む | その事実を知りながらの複製は、私的使用の例外から外れる(第30条第1項第2号) |
| 違法にアップロードされた音源と知りながらダウンロードして分離する | 私的使用の例外から外れる(第30条第1項第3号)。知らずにダウンロードした場合は、知らなかったことに重大な過失があってもこの号には当たらない(同条第2項)。有償で提供されている音楽なら刑事罰の対象にもなる(第119条第3項第1号) |
| 抽出した音源を合唱団やバンドの仲間に配る | 私的使用は上の「限られた範囲内」に限られる。配布がその範囲に収まるかはこの記事では判断しない。配る前に権利者に確認する |
| 抽出した音源を動画やSNSで公開する | 私的使用のために作った複製物を公衆に提示すると、複製を行ったものとみなされる(第49条第1項第1号、実演・レコードは第102条第9項第1号) |
| 「歌ってみた」のオケに、市販音源から作ったハモリ入りカラオケを使う | 楽曲(作詞・作曲)は、JASRAC・NexTone の管理楽曲を両者と契約している動画投稿サービスに投稿するなら、一定の範囲内で投稿者の手続きは不要。ただし広告目的の動画や、投稿するアカウントの持ち主が団体・グループ(合唱団やバンドなど)・学校・法人で外国作品を使う場合などは、別に手続きが要る(JASRAC のフローチャートで確認)。市販の CD や配信音源を使う場合は、これとは別にレコード会社など原盤側の許諾が必要 |
最後の行がいちばん誤解されやすい点です。JASRAC は「市販のCDやダウンロードした音源を利用する場合、著作権とは別に、著作隣接権(音源製作者やアーティストの権利)の許諾を得る必要があります」と案内しており、NexTone の FAQ も同じ趣旨です。レコード製作者には複製権(第96条)と送信可能化権(第96条の2)が、歌い手などの実演家には録音権(第91条第1項)と送信可能化権(第92条の2第1項)があります。
YouTube から音声を保存する場合は、著作権とは別に利用規約も関係します。YouTube の利用規約は、サービスが明示的に認めている場合か、YouTube と権利者が事前に書面で許可した場合を除き、コンテンツのダウンロードを禁止しています。
音源分離が編曲や翻案にあたるか、動画配信からの取り込みが技術的保護手段の回避にあたるかは法解釈の問題なので、この記事では断定しません。公開や商用利用を考えているなら、権利者か専門家に確認してください。ツールやモデルのライセンスと音源の権利の関係は、音源分離ツールの選び方で整理しています。
音源分離を組み込んだ処理を業務として作りたい場合(大量の楽曲の一括処理、配信向けの自動化など)は、動画ローカライズ基盤の事例をご覧のうえ、お問い合わせからご相談ください。