このプロジェクトは、ゲーム実況動画などから音声を抽出し、Demucsを使用してボイス(音声)とBGM(伴奏)を分離するPythonスクリプトです。
- 動画ファイル(MP4など)から音声を抽出
- Demucsを使用した音源分離
- ボーカル(ボイス)
- 伴奏(BGM)
- ドラム
- ベース
use-demucs/
├── separated_audio.py # メインスクリプト
├── requirements.txt # Pythonパッケージ依存関係
├── README.md # このファイル
├── venv/ # 仮想環境(作成後)
└── separated_audio/ # 出力ディレクトリ(実行後に作成)
- Python 3.7以上
- FFmpeg
- Demucs
python -m venv venv
# 仮想環境の有効化
# macOS/Linux:
source venv/bin/activatemacOS(Homebrew使用):
brew install ffmpeg# 仮想環境が有効化されていることを確認してから実行
pip install -r requirements.txtスクリプトを実行する前に、仮想環境が有効化されていることを確認してください:
# macOS/Linux:
source venv/bin/activate
# Windows:
# venv\Scripts\activate# 入力ファイルを指定
python separated_audio.py -i your_video.mp4
# 出力ディレクトリを指定
python separated_audio.py -i your_video.mp4 -o my_output
# 出力ファイル名のプレフィックスを指定
python separated_audio.py -i your_video.mp4 -n episode01
# 全てのオプションを指定
python separated_audio.py -i your_video.mp4 -o my_output -n episode01-i, --input, --video-path: 分離したい動画ファイルのパス(デフォルト: your_video.mp4)-o, --output-dir: 出力先ディレクトリ(デフォルト: separated_audio)-n, --output-name: 出力ファイル名のプレフィックス(デフォルト: 入力ファイル名)-h, --help: ヘルプメッセージを表示
python separated_audio.py --helpスクリプト実行後、以下の構造でファイルが生成されます:
separated_audio/
├── episode01_extracted_audio.wav
└── demucs_output/
└── htdemucs/
└── episode01/
├── episode01_vocals.wav
├── episode01_vocals.mp3
├── episode01_other.wav
├── episode01_other.mp3
├── episode01_drums.wav
├── episode01_drums.mp3
├── episode01_bass.wav
└── episode01_bass.mp3
作業が終了したら、仮想環境を無効化できます:
deactivate- 音声抽出: FFmpegを使用して動画ファイルから音声を抽出
- 音源分離: Demucsを使用して音声を4つのトラックに分離
- vocals(ボーカル/ボイス)
- other(その他/BGM等)
- drums(ドラム)
- bass(ベース)
- ファイル保存: WAVとMP3の両形式で保存
- Demucsは機械学習ベースの音源分離を行うため、処理時間がかかる場合があります