harmosplit / setup_guide.md
indigo0511
initial: HarmoSplit app
d90b8a8

🎵 音源分離 & L/Rパンニング アプリ セットアップガイド

概要

このアプリは音楽/動画ファイルから AI(Demucs)を使って 主旋律(メインボーカル)ハモリ(コーラス) を分離し、左右のイヤホンで聴き分けられるステレオ WAV を出力します。

左チャンネル (L) ───── 主旋律 (メインボーカル)
右チャンネル (R) ───── ハモリ / コーラス
センター (L+R) ──────── 伴奏(音量縮小)

① ffmpeg のインストール(OS別)

ffmpeg はシステムにインストールされている必要があります。

Windows

# winget を使う方法(推奨)
winget install Gyan.FFmpeg

# または Chocolatey を使う方法
choco install ffmpeg

# インストール確認
ffmpeg -version

手動インストールの場合:

  1. https://ffmpeg.org/download.html → Windows → ffmpeg-release-full.7z をダウンロード
  2. 解凍して C:\ffmpeg\bin を システムの環境変数 PATH に追加

macOS

# Homebrew を使う方法(推奨)
brew install ffmpeg

# インストール確認
ffmpeg -version

Linux (Ubuntu / Debian)

sudo apt update && sudo apt install -y ffmpeg

# インストール確認
ffmpeg -version

② Python 仮想環境のセットアップ

# プロジェクトディレクトリへ移動
cd c:\musicbot       # Windows
# cd /path/to/musicbot  # macOS / Linux

# 仮想環境を作成 (Python 3.10 以上推奨)
python -m venv venv

# 仮想環境を有効化
# Windows
venv\Scripts\activate

# macOS / Linux
source venv/bin/activate

③ 依存ライブラリのインストール

CPU 環境(GPU なし)の場合

pip install --upgrade pip

# PyTorch CPU 版を先にインストール(重要: GPU版と混在しないよう)
pip install torch torchaudio --index-url https://download.pytorch.org/whl/cpu

# その他ライブラリをインストール
pip install -r requirements.txt

GPU 環境(NVIDIA CUDA)の場合(オプション・高速化)

pip install --upgrade pip

# CUDA 12.1 対応の場合(自分の CUDA バージョンに合わせて変更)
pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu121

# その他ライブラリをインストール
pip install -r requirements.txt

GPU があると Demucs の処理が 数倍〜10倍 速くなります。


④ アプリの実行

基本的な使い方

# 音声ファイル (mp3/wav) を処理
python app.py input.mp3

# 動画ファイル (mp4/mov) を処理(音声が自動抽出されます)
python app.py input.mp4

# 出力ファイル名を指定
python app.py input.mp3 --output my_output.wav

# 伴奏をミュートしたい場合
python app.py input.mp3 --inst-vol 0.0

# 伴奏を少し大きくしたい場合
python app.py input.mp3 --inst-vol 0.3

# モデルを指定する場合(デフォルトは htdemucs_6s)
python app.py input.mp3 --model htdemucs

コマンドライン引数一覧

引数 説明 デフォルト
input 入力ファイルパス(必須)
--output 出力 WAV ファイル名 output_panned.wav
--inst-vol 伴奏音量(0.0〜1.0) 0.15
--model Demucs モデル名 htdemucs_6s

使用可能なモデル

モデル名 ステム数 特徴
htdemucs_6s 6 (vocals/drums/bass/guitar/piano/other) 推奨。vocals と other(コーラス)を独立分離
htdemucs 4 (vocals/drums/bass/other) 軽量版。ハモリはLR差分で推定
mdx_extra 4 MDX アーキテクチャ。ボーカル品質重視

⑤ 初回実行について

初回実行時は Demucs のモデルファイルが自動ダウンロード されます(数百MB)。 キャッシュは ~/.cache/torch/hub/ に保存されるため、次回以降は高速です。


⑥ トラブルシューティング

ffmpeg not found エラーが出る

→ ①の手順で ffmpeg をインストールし、ffmpeg -version が動くことを確認してください。

torch のインポートエラー

→ 仮想環境が有効化されているか確認 (venv\Scripts\activate)。 → pip install torch torchaudio --index-url https://download.pytorch.org/whl/cpu を再実行。

メモリ不足 (OOM) エラー

# CPU モードを明示的に指定
python app.py input.mp3 --model htdemucs

CPU の場合 htdemucs は約 4〜8GB RAM を使用します。

処理が遅い

Demucs は計算量が多く、CPU 環境では数分かかります。 GPU (CUDA) 環境では大幅に高速化されます。


⑦ 出力ファイルの確認

処理完了後、output_panned.wav が生成されます。 ステレオ対応のヘッドフォン/イヤホンで再生すると:

  • 左耳 → 主旋律(メインボーカル)が聴こえる
  • 右耳 → ハモリ / コーラスが聴こえる

元の音源にハモリ録音がない場合や、モノラル録音の場合は
LR の差が小さくなることがあります。