YuE2 Real-Audio Encoder: 自分の楽曲をYuE2に取り込む

ComfyUI Wikinews

コミュニティが開発したYuE2-3B用の不足していた音声エンコーダーが、自分の録音をLoRAトレーニング用のセマンティックトークンに変換。セクションプロンプトに対応したインストゥルメンタルLoRAも登場。

Redditユーザーのthatisnotmychapstick(Hugging FaceではMothersuperior名義で重みを公開)が、YuE2-3B不足していた音声→トークンエンコーダーをトレーニングしました。これはm-a-pが決して公開しなかったコンポーネントで、既存の録音をYuE2が生成するセマンティックトークンに変換します。共同トレーニングされたNAR LoRAと新しいインストゥルメンタルLoRAを合わせることで、実際の楽曲でYuE2をトレーニングし、インストゥルメンタルトラックを生成するまでのループが完成します。すべてComfyUI標準のLoRAローダーで読み込めます。リリーススレッドは約50件のコメントを集め、ユーザーは数時間以内に結果を再現しました。
プロンプト例付きのYuE2インストゥルメンタルLoRAリリース投稿

YuE2が提供しなかった欠けているピース

YuE2-3Bはスタイルプロンプトと歌詞から完全な楽曲を生成します。内部的には音声にデコードされる「セマンティックトークン」を書き出しますが、既存の録音をそのトークンに戻すエンコーダーは公開されませんでした。これがないため、ファインチューニングのために自分の楽曲をモデルに取り込む方法がありませんでした。

新しいyue2-mothersuperior-realaudio-tokenizer-v4リリースの仕掛けは、モデルが自ら教えるという点にあります。YuE2が生成するすべての楽曲には、それを生成した正確なトークンが付随しており、これは誰も手作業でラベル付けする必要のないラベル付きサンプルです。作者は多ジャンルにわたって数千曲を生成し、そのペアで小さなエンコーダーをトレーニングし、その後YuE2自身のデコーダーに採点させることで実録音に適応させました。トークンが実際の音声を再構築できれば、それらは正しいと言えます。実楽曲のトークンラベルは一切必要ありませんでした。

エンコーダーのリリーススレッド

リリース内容

tokenizerリポジトリには3つの要素が含まれています。

  • Tokenizerヘッド:MERT-v2-FullSongの第20層特徴量を、25 HzでYuE2の32,768個のセマンティックコードにマッピングする8層トランスフォーマー(d=512)。YuE2自身の楽曲に対するホールドアウトの完全一致はtop-1で16.1%で、惜しくも外れたコードもほぼ同じようにレンダリングされ、NARのラウンドトリップ聴感テストは約95%です。
  • NARブランチLoRAnar_lora_joint_v4):NARのセルフアテンションとMLP射影に対するrank-32 LoRAで、実音声上でヘッドと共同トレーニングされ、デコーダーが実際の制作音源のlatentをレンダリングできるようにします。
  • トレーニングと推論のスクリプト:誰でもパイプラインを再現または拡張できます。

インストゥルメンタルLoRA

続編となるインストゥルメンタルLoRAar_lora_inst_v3abc)は、100以上のジャンルにわたる約2,700曲のインストゥルメンタルトラックで、コード注釈付きのABCスコアとペアにしてトレーニングされました。これによりYuE2はセクションプラン付きのインストゥルメンタル楽曲を書けるようになり、chain-of-thoughtを有効(cot="full")にして実行することを想定しています。モデルはまず自身でABCスコアを書き、そのスコアを条件として音楽トークンを生成します。

歌詞フィールドは3種類の構造プロンプティングを受け付け、それぞれ均等な割合でトレーニングされています。

  1. ベア[instrumental]のみで、構造と長さはモデルに任せます。
  2. 時間指定なしタグ:セクションの順序は自分で選び、タイミングはモデルが決めます。例:[intro] / [verse] / [chorus] / [bridge] / [chorus] / [outro]
  3. 時間指定タグ:各セクションに[verse 0:15-0:45]のような開始・終了時間も指定します。最も強い構造の誘導ですが、モデルは絶対的な終了時間よりもセクションの順序と比率の方をよく守ります。

ComfyUIでの使い方

両方のLoRAには、ComfyUIネイティブのYuE2レイアウト(fused qkv / gate_upキー)向けにパッケージされた*_comfyui.safetensors版が付属します。

  • nar_lora_joint_v4_comfyui.safetensorsは、YuE2チェックポイントローダーのMODEL出力に接続した標準のLoraLoaderに読み込みます。
  • ar_lora_inst_v3abc_comfyui.safetensorsCLIP出力に読み込みます。ARプランナーはCLIPスロットに存在するためです。また、YuE2 Generateノードのmodefullに設定し、ABCノードを接続しておく必要があります。

インストゥルメンタルLoRAの最初のReddit版は、ComfyUIのレイヤー命名規則のためにComfyUIで発火しませんでした。作者は数分以内に互換ファイルを公開し、スレッド内のユーザーは「It's so, so good. You're a wizard」といった反応で修正を確認しました。

エコシステムへの影響

このエンコーダーは、これまでブロックされていた後続の取り組みの波を解き放ちます。作者自身のHum-to-Songアダプター(メロディをハミングするとYuE2が完全な楽曲を生成)、コミュニティのLoRAトレーナーノードパック、実録音でトレーニングされたジャンル別・アーティスト別LoRAなどです。作者はYuE2のLoRAトレーニングが「これからあらゆるところで見られるようになる」と述べています。これらのスクリプトを使えば誰でも自分の楽曲をLoRAにトレーニングできるからです。

入手方法

重みはHugging Faceで無料公開されています:real-audio tokenizer v4インストゥルメンタルLoRAHum-to-Songアダプター。ComfyUIでは、ネイティブのYuE2パイプラインのノードと組み合わせてください。ComfyUI互換のLoRAファイルは変換不要で、標準のLoRAローダーでそのまま読み込めます。

コメント

GitHubでサインインしてディスカッションに参加しましょう。

コメントを読み込み中…
YuE2 Real-Audio Encoder: 自分の楽曲をYuE2に取り込む | ComfyUI Wiki