最新AI論文をキャッチアップ

【Mustango】音楽のドメイン知識を活用した音楽生成モデル

【Mustango】音楽のドメイン知識を活用した音楽生成モデル

Audio and Speech Processing

3つの要点
✔️ 音楽ドメイン知識を活用したText-to-Musicモデル「Mustango」を提案
✔️ MuNetと呼ばれる音楽に特化したUNetを導入

✔️ 音楽知識を活用して拡張した5.2万以上のデータを利用

Mustango: Toward Controllable Text-to-Music Generation
written by Jan MelechovskyZixun GuoDeepanway GhosalNavonil MajumderDorien HerremansSoujanya Poria
(Submitted on 16 Mar 2024)
Comments: NAACL 2024

Subjects: Audio and Speech Processing (eess.AS)

code:  

本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。

Mustango:ドメイン知識を活用した音楽生成モデル

本論文の内容は、音楽のドメイン知識を活用したText-to-Musicモデル『Mustango』の開発というもの。音楽ドメイン知識を活用し、テキスト指示から音楽を生成することで、より高品質な音楽生成を可能にしています。

本研究の実験において、Mustangのテキストガイダンスによる音楽生成の性能は、他のモデルを大きく上回ることを示しています。

そして、Mustangoは音楽理論に基づく革新的な生成モデルであり、創作活動の幅を広げる可能性があとのこと。

Mustangoのモデル構造

近年、拡散モデルの発展により、Text-to-Music生成モデルの性能は大きく向上しています。

しかし、既存のモデルでは、生成される音楽のテンポやコード進行、調などの音楽的な側面を細かく制御することについて、全くと言っていいほど考慮されていません。

本研究では、音楽的側面を考慮して音楽生成できるモデルとして、Mustangoが提案されています。具体的には、一般的なテキスト指示だけでなく、以下のような音楽的要素を含むテキストプロンプトを想定しています。

  • コード進行
  • ビート
  • テンポ
  • 調

Mustangoのモデル構造は、以下の通りです。

基本構造としては、Latent Diffusion Modelをベースとしており、音声波形→メルスペクトログラム→潜在表現(VAEにより圧縮)のように変換し、その潜在表現に対して拡散モデルを適用しています。また、本研究では、UNetを音楽生成に特化させた「MuNet」を、拡散モデルに採用しています。

具体的には、MuNetによってデノイジングした後、潜在表現→メルスペクトログラム(VAEにより再構成)→音声波形(HiFi GANによって再構成)のように変換し音楽を生成。

MuNetの条件付け

先述の通り、MuNetはUNetを音楽に特化させた拡散モデルです。本研究では、デノイジングの役割を担っています。MuNetへの条件付けは、以下の手順で行われます。

  1. テキストエンコーダ(FLAN-T5)を用いて、入力テキストから埋め込みを取得
  2. ビートエンコーダとコードエンコーダを用いて、ビートとコードの特徴を抽出
  3. テキスト埋め込み、ビート特徴、コード特徴を順にクロスアテンションで統合

ビートエンコーダ(DeBERTa Large)によって、テキストプロンプトからビートカウントとビート間隔をエンコードします

また、コードエンコーダ(FLAN-T5 Large)によって、テキストプロンプトとビート情報からコード進行をエンコードします。

大規模データセット「MusicBench」の構築

テキスト指示からの音楽生成を行う分野において、「テキスト-音楽」のペアデータセットが少ないという問題も指摘されています。例えば、近年の音楽生成分野において、ベンチマークとして頻繫に用いられるデータセット「MusicCaps」には、およそ5000件ほどしか含まれていません。

そうしたデータ不足が、音楽生成モデルのさらなる性能向上への足かせとなっているのです。

本研究では、そうしたデータ不足を補うために、先述のMusicCapsをベースとした独自のデータ拡張手法によって、大規模なデータセット「MusicBench」を構築しています。

具体的には、MusicCapsのうち5,479サンプルをもとに、以下の手順でMusicBenchを構築しています。

  1. MusicCapsをTrainAとTestAに分割
  2. TrainAとTestAの音楽データから、ビート、コード、キー、テンポの情報を抽出
  3. TrainAとTestAのキャプションに、ステップ2の音楽的特徴を表す文章を追加し、TrainBとTestBを作成
  4. TrainBのキャプションをChatGPTで言い換えて、TrainCを作成
  5. TrainAから音質の低いサンプルを除外し、3,413サンプルを抽出
  6. ステップ5の音楽データに対し、ピッチ、テンポ、音量を変化させるデータ拡張を行い、37,000サンプルを生成
  7. ステップ6のサンプルに対し、ランダムに0〜4つのキャプション文を追加
  8. ステップ7のキャプションをChatGPTで言い換え
  9. TrainA, TrainB, TrainC, ステップ5~8で拡張したデータを結合

以上の手順により、最終的な学習データ52,768サンプルを含む(MusicCapsの11倍)大規模データセットMusicBenchが構築されました。

ちなみに、ChatGPTを用いた言い換えでは、以下のようなプロンプトを用いているとのこと。

音楽の特徴抽出モデル

上記のステップ2では、音楽データからビート、ダウンビート、コード、キー、テンポの4つの音楽特徴を抽出し、既存のテキストプロンプトに追記しています。

その際、ビートとダウンビートに関する特徴抽出では、BeatNetというモデルが用いられています。

テンポ(BPM)に関しては、ビート間の時間間隔の逆数を平均して推定しているとのこと。

コード進行に関する特徴は、Chordinoというモデルを用いて抽出し、キーはEssentiaのKeyExtractorアルゴリズムを使用して抽出しているとのこと。

音楽データとテキストデータへの拡張手法

上記のステップ6では、音楽データに対し、ピッチ、テンポ、音量を変化させるデータ拡張を行っています。その際、先述の3つの音楽特徴を、以下の方法で変化させているとのこと。

  • PyRubberbandを使用して、音楽のピッチを±3半音の範囲でシフト
  • テンポを±5〜25%の範囲で変更
  • 音量を徐々に変化させる(クレッシェンドとデクレッシェンドの両方)

この時、拡張した音楽データに付随するテキストプロンプトに関しても、拡張後の音楽データに合わせてキャプショニングしているとのこと。

本手法の有効性

Mustangoによって生成された音楽の品質や、データセットMusicBenchの有効性を検証するために、客観的指標における評価と、主観的指標における評価が行われています。

客観的指標における評価

客観的指標における評価では、Fréchet Distance (FD)、Fréchet Audio Distance (FAD)、KL divergenceを用いて、生成音楽の品質を評価しています。

評価に関しては、TestA、TestB、FMACapsのテストデータが用いられています。

結果は以下の通りです。

MusicCapsで学習したTangoモデルが他のモデルよりも劣っていることから、MusicBenchの有効性が示されています。また、MusicBenchでファインチューニングされたTangoとMustangoの事前学習済みモデルは、FDとKLでは同等の性能でしたが、MustangoはFADで大幅に性能を上げているのが分かります。

さらに、MustangoはMusicGenとAudioLDM2を、全てのテストセットにおいて、FADとKLで上回っています。

本評価に加えて、テンポ、キー、コード、ビートなど、音楽特徴に関する9つのメトリクスを定義し、生成音楽がテキストの指示通りにそれら音楽特徴を表現できているかも評価されています。

評価に関しては、TestB、FMACapsのテストデータが用いられています。

結果は以下の通りです。

TestBでは、Tempoに関してMusicGen以外のモデルは同等の性能、Beatに関してもモデル間で同様の性能であることが分かります。

Keyに関しては、MusicBenchで学習したモデルがMusicCapsで学習したモデルを大きく上回ています。その中でも、MustangoはTestBで他の全てのモデルを上回り、FMACapsで2位です。

Chordに関して、Mustangoは他の全てのモデルを大きく上回っています。

この結果より、Mustangoはコード進行の制御に最も有効なモデルであることが分かります。

主観的指標における評価

主観的評価では、一般リスナーと専門家(5年以上の音楽教育を受けている人)によるアンケートを実施しています。

第1ラウンドでは、MustangoとTangoの比較、第2ラウンドではMustangoとMusicGen、AudioLDM2での比較を行っています。

結果は以下の通りです。

第1ラウンドでは、MusicCapsで学習したTangoは、全ての指標でMusicBenchで学習したモデルに劣っていることから、MusicBenchの有効性が示されています。

また、全体を通して、多くの指標において、Mustangoが最も良い性能を発揮していることが分かります。

まとめ

本記事では、音楽ドメイン知識を活用した音楽生成AIの「Mustango」に関する研究をご紹介しました。

本研究の限界点の1つとして、計算リソースの制約により、現在のMustangoでは最大10秒の音楽しか生成できない点が挙げられています。

また、現在のMustangoは、主に西洋音楽の形式にのみ対応しており、それ以外の文化圏の音楽を生成する能力は低いそうです。

そこで、今後の研究として、「より長い時間の音楽の生成」と「非西洋音楽への対応など、より多様な音楽ジャンルへの適用」を計画しているとのこと。

個人的な意見

Mustangoは多くの指標でSOTAを達成しているとはいえ、まだまだ性能面で他のモデルに劣っている点もあるなという印象でした。

とはいえ、本研究で構築されたデータセットのMusicBenchに関しては、有効性が示されているようなので、今後の研究でもベンチマークとして大いに利用できるでしょう。

その点についても、音楽生成分野におけるデータ不足の解消に向けて、大きな進歩を遂げたと思います。

  • メルマガ登録(ver
  • ライター
  • エンジニア_大募集!!

記事の内容等について改善箇所などございましたら、
お問い合わせフォームよりAI-SCHOLAR編集部の方にご連絡を頂けますと幸いです。
どうぞよろしくお願いします。

お問い合わせする