SongGeneration – LeVo オープンソース音楽モデル (NeurIPS 2025)

SongGeneration – LeVo オープンソース音楽モデル (NeurIPS 2025)

AI が歌詞、メロディ、伴奏を要求に応じて完全な曲を生成できることを想像したことがあるなら、SongGeneration はそのツールです。NeurIPS 2025 の論文 LeVo: High‑Quality Song Generation with Multi‑Preference Alignment の公式コードベースとして開発されたこのリポジトリは、最先端の研究モデルを開発者に優しいオープンソースモジュールへと変換し、数秒でフルレングスのトラックを生成します。

🎶 何が SongGeneration なのか?

SongGeneration は、2 つのコアコンポーネントを組み合わせた言語モデルベースのアーキテクチャです。

  1. LeLM – ミックストークン(ボイス+バックグラウンドミュージック)とデュアルトラックトークン(分離されたボーカルと伴奏)を同時にモデル化するトランスフォーマースタイルの LM。これにより、歌詞を和声・リズム構造と揃えることができます。
  2. Music Codec – デュアルトラックトークンを高音質 PCM オーディオにデコードする高速ニューラルコーデック。

この組み合わせにより、以下のような機能が可能になります。

  • 最大 4 分 30 秒の曲を生成。
  • チェックポイントに応じて、中国語、英語、スペイン語、日本語など多言語をサポート。
  • ボーカル、伴奏、または両方を組み合わせたマルチトラック出力、純粋なボーカルや純粋な音楽も生成。
  • プロンプトオーディオでスタイル・ジャンル・音色を調整。

🏗️ リポジトリ構成

SongGeneration/
├─ conf/                # デフォルト設定ファイル
├─ img/                 # README とドキュメント用画像
├─ sample/              # JSONL サンプルファイル & 出力
├─ tools/
│  └─ gradio/           # Gradio UI スクリプト
├─ generate.py          # Gradio ベースの推論エントリポイント
├─ generate.sh           # 推論用シェルスクリプトラッパー
├─ LICENSE              # MIT ライセンス風
├─ README.md            # 完全なドキュメント
├─ requirements.txt      # Python 依存
└─ ...

README がエントリーポイントです。インストールから高度な使用法(低メモリ推論、Flash Attention の切り替え、Docker デプロイ)まで網羅しています。

📦 インストールと実行

1. 前提条件

  • Python ≥ 3.8.12
  • CUDA ≥ 11.8(GPU アクセラレーション用;CPU フォールバックはオプション)
  • 10 GB 以上のフリーメモリを持つ GPU(10B+ RTX GPU 推奨)。GPU が小さい場合は low‑memory セクションを参照。

2. コードをインストール

# リポジトリをクローン
git clone https://github.com/tencent-ailab/SongGeneration.git
cd SongGeneration

# 依存ライブラリのインストール
pip install -r requirements.txt
pip install -r requirements_nodeps.txt --no-deps

# オプション:Flash Attention をインストール(速度向上)
# pip install https://github.com/Dao-AILab/flash-attention/releases/download/v2.7.4.post1/flash_attn-2.7.4.post1+cu12torch2.6cxx11abiFALSE-cp310-cp310-linux_x86_64.whl

3. モデルチェックポイントのダウンロード

すべてのチェックポイントは Hugging Face 上でホストされています。例えば SongGeneration‑base‑full チェックポイントをダウンロードするには:

huggingface-cli download lglg666/SongGeneration-base-full --local-dir ./songgeneration_base_full

より大きい SongGeneration‑large モデルを使用したい場合はパスを調整してください。フォルダ名はチェックポイント名と正確に一致させる必要があります。

4. 推論を実行

Gradio インタフェースを起動するか、コマンドラインから推論を実行できます。

a) Gradio UI

sh tools/gradio/run.sh <ckpt_path>
# 例:
# sh tools/gradio/run.sh ./songgeneration_base_full

これでローカルウェブサーバー(デフォルトは http://localhost:7860)が起動し、以下が可能です。

  • JSONL ファイルをアップロード、または歌詞を直接入力。
  • モデルバージョンの選択。
  • Separate TracksPure VocalsPure Music などのオプション切替。
  • 生成された MP3‑style クリップのプレビューとダウンロード。

b) CLI 推論

sh generate.sh <ckpt_path> <input_jsonl> <output_dir> [options]
# 例
sh generate.sh ./songgeneration_base_full sample/lyrics.jsonl sample/output

オプションは次のとおりです。

  • --low_mem 低メモリ推論を使用(VRAM 要件を削減)。
  • --not_use_flash_attn Flash Attention が利用不可の場合はスキップ。
  • --bgm バックグラウンドミュージックのみ生成。
  • --vocal ボーカルのみ生成(アカペラスタイル)。
  • --separate ボーカルと伴奏を分離して生成。

5. Prompt‑Audio とディスクリプション

10 秒程度のプロンプトオーディオや description タグで生成を誘導できます。リポジトリは性別、音色、ジャンル、感情、楽器、BPM のタグ表を提供します。例:

{
  "idx": "song_01",
  "gt_lyric": "[intro-short] ; [verse] … ; [chorus] … ; [outro-medium]",
  "descriptions": "female, bright, pop, energetic, guitar, drums"
}

モデルは、歌声の音色と楽器がマッチした 2 分間のポップトラックを生成します。

🚀 最新機能(2025年10月時点)

日付 更新
2025‑10‑16 デモウェブページで最大 4 min 30 s のフルレングス曲生成をサポート
2025‑10‑15 推論速度と新モデルバージョンのためにコードベースを更新
2025‑10‑14 SongGeneration‑large チェックポイントをリリース
2025‑10‑13 評価データ付きで SongGeneration‑base‑full をフルタイムでリリース
2025‑10‑12 英語強化版 SongGeneration‑base‑new をリリース
2025‑09‑23 自動ビート追跡と歌詞整列を含むデータ処理パイプラインをリリース
2025‑07‑25 10 GB GPU メモリでも実行可能なモデルを提供

📚 プロジェクトでの利用方法

1️⃣ Web アプリの構築

Gradio UI をベースにして、Flask や FastAPI サーバーに埋め込みます。generate.py スクリプトは、どの言語からでも呼び出せる簡易 API を公開します。

2️⃣ モバイルデモの作成

訓練済みチェックポイントを ONNX あるいは TorchScript へエクスポートし、Android/iOS の CoreML か TensorFlow Lite でデプロイします。低メモリ推論フラグはモバイル GPU で特に役立ちます。

3️⃣ ゲーム用音楽生成

構造化された歌詞スクリプト(例:JSONL ファイル)をシステムに投入します。出力形式(VST や生 PCM)は、FMOD や Wwise などのゲームオーディオエンジンへ直接インポート可能です。

4️⃣ 検索ベースのプロンプティングを試す

リポジトリには、ライブラリからプロンプトオーディオを自動選択する小規模ツールキットが含まれています。auto_prompt_audio_type を指定すると、音声ファイルをアップロードせずに JazzRock スタイルの楽曲を生成できます。

🔗 リソース & コミュニティ

  • Hugging Face Space – インタラクティブデモ:https://huggingface.co/spaces/lglg666/song-generation-levo
  • PaperLeVo: High‑Quality Song Generation with Multi‑Preference Alignment(arXiv 2506.07520)
  • Docker イメージ – クイックスタート:docker pull juhayna/song-generation-levo:hf0613
  • GitHub Discussions & Issues – 質問・サンプル共有・バグ報告。

⚙️ 評価ハイライト

リポジトリは PER、Audiobox Aesthetics、SongEval などの包括的評価指標を掲載しています。Sun or Mureka の既存オープンソースモデルと比較して、SongGeneration は最低 PER と最高の美学スコアを示しています。特に SongGeneration‑large バリアントで顕著です。

🎓 最後に

SongGeneration は研究と実装の橋渡しを行います。モジュール設計、豊富なドキュメント、スケールに応じた事前学習済みチェックポイントが、商用プラットフォーム、個人プロジェクト、学術研究のいずれに対しても理想的です。GitHub の活発なコミュニティと Hugging Face でのサポートにより、最新情報を随時受け取り、新しいモデルバリアントをリリースしたらすぐに利用できます。

ぜひ本日から試してみてください—リポジトリを探索し、デモを動かし、ワン・コマンドで自分だけの AI 作曲曲を作りましょう!

この記事を共有