本文へスキップ
IFAI

オープンソース

SymphonyGen公開:コード骨格からフルオーケストラ楽曲を生成

公開 拡散指数 48

映画音楽向けの管弦楽生成フレームワーク「SymphonyGen」のコードとモデルがオープンソース化された。拍単位の和声骨格を生成してから各楽器のパートへ階層的に展開し、GRPO強化学習で不協和音を抑制する。自前のMIDI骨格を取り込んで編曲させることもできる。

SymphonyGen公開:コード骨格からフルオーケストラ楽曲を生成
画像:github.com

SymphonyGenは、映画音楽向けの管弦楽スコアを自動生成できるオープンソースのAIフレームワークだ。簡潔な和声スケッチを入力するだけで、複数の楽器パートからなる本格的なフルオーケストラ楽曲を構築できる。

交響曲の自動生成は、数十もの楽器パートを同時に走らせながら楽曲全体の和声を破綻させない難しさがあった。SymphonyGenはこの課題に対し、楽曲を小節、トラック、イベントという3つの軸に分解する3D階層構造を採用している。

和声骨格からパートを展開する仕組み

制作プロセスは大きく2段階に分かれている。まず最初に、拍単位で整音された「和声骨格」を作成する。これは作曲家がピアノなどで大まかなコード進行をスケッチする「ショートスコア」に相当する。

続いてカスケード型デコーダーがその骨格を受け取り、各楽器パートへ向けて具体的なフレーズや音符を展開していく。ゼロから全自動で作曲させるだけでなく、ユーザーが用意したMIDIファイルを読み込ませて、既存の曲のコード感を活かしたまま再編曲させることも可能だ。

耳障りな不協和音を防ぐため、事後学習にはGRPO強化学習とCLaMP 3音声報酬を導入した。推論時にも不協和音を抑制するサンプリング手法が組み込まれており、オーケストラ特有の濁った衝突音を抑えている。

公開状況と動作環境

コードと学習スクリプトはGitHubで公開されており、論文は国際学会ISMIR 2026に採択されている。

Hugging Face上では、12層の和声骨格モデル、33層の3Dメインモデル、そしてGRPOで最適化した2種類のモデルの計4つのチェックポイントが提供されている。MIDIから試聴用音声を書き出すレンダリング処理にはMuseScoreを利用する。

スクリプトからはピアノパートを除外して純粋な管弦楽に仕立てる設定や、音程ごとの不協和音調整ログを可視化する機能も用意されている。

なぜ重要か

インディーゲームの制作者や劇伴作家にとって、SymphonyGenは非常に心強いオーケストレーション支援ツールになる。高度な管弦楽法をすべて暗記していなくても、基本コードを入力するだけで重厚な管弦楽の下書きが手に入る。

従来のSymphonyNetやNotaGenと比べても、和声の骨格とパート展開を切り離した設計が極めて実践的だ。作曲者の意図したコード進行を保ちやすく、強化学習によって音の濁りも大幅に軽減されている。

ただし、生成されるのはあくまでMIDIデータであり、付属のMuseScoreによる音出しは簡易モニターにすぎない。商用レベルの劇伴に仕上げるには、出力されたMIDIをDAWに取り込み、高品質な劇伴音源とエクスプレッション調整で仕上げる前提で使うのが現実的だ。

情報源 (2)

  1. [1]
    github.com(新しいタブで開きます)原文github.com
  2. [2]
    youtube.com(新しいタブで開きます)報道youtube.com

毎日のAIピックアップ