📄

Moûsai: Latent Diffusionモデルでの音楽生成

Entry
Moûsai: Latent Diffusionモデルでの音楽生成
Simple Title
Schneider, Flavio, Zhijing Jin, and Bernhard Schölkopf. 2023. “Moûsai: Text-to-Music Generation with Long-Context Latent Diffusion.” arXiv [cs.CL] . arXiv. http://arxiv.org/abs/2301.11757.
Description
Latent Diffusionのアーキテクチャを利用して、テキストから音楽を生成するモデル
Type
Paper
Year
2023
Posted at
January 30, 2023
Tags
musicsound
image

Overview

  • Stable Diffusionで有名になった Latent Diffusionモデルを用いた音の合成を用いた音楽生成
  • 一般的なGPUでリアルタイムよりも高速で48kHzステレオで生成可能

Abstract

The recent surge in popularity of diffusion mod-els for image generation has brought new atten-tion to the potential of these models in other ar-eas of media synthesis. One area that has yet tobe fully explored is the application of diffusionmodels to music generation. Music generationrequires to handle multiple aspects, including thetemporal dimension, long-term structure, multi-ple layers of overlapping sounds, and nuances thatonly trained listeners can detect. In our work, weinvestigate the potential of diffusion models fortext-conditional music generation. We develop acascading latent diffusion approach that can gen-erate multiple minutes of high-quality stereo mu-sic at 48kHz from textual descriptions. For eachmodel, we make an effort to maintain reasonableinference speed, targeting real-time on a singleconsumer GPU. In addition to trained models, weprovide a collection of open-source libraries withthe hope of facilitating future work in the field.1

Motivation

  • 最近diffusionモデルを使ったtext-to-speechのモデルはいくつか提案されているがまだ音楽に適用したものは少ない
  • 音楽に適用するにあたっての課題
    1. 長時間の依存関係
    2. 聞くに耐えうる音質
    3. 生成される音楽の多様性
    4. コントロールのしやすさ
  • Diffusionモデルをカスケードすることで一気に解決
    • 長時間の音楽を48kHzでステレオで生成
    • 普通のGPUでリアルタイムで動く!
    • 学習はA100で1週間ほど

既存研究との比較
既存研究との比較

Architecture

  • 今回の実装のためにU-Netの改良版を提案. より効率的に動く.
  • モデル2ステップに分かれている
    1. 最初のステージ: エンコーディング
      1. オーディオをスペクトログラムに変換、元のサウンドデータの1/64の潜在空間に圧縮
      2. 元のサウンドにランダムにノイズを乗せたものから、U-Netを使ってノイズを取り除く. U-Netはa.の潜在ベクトルとどのくらいノイズを乗せたかという入力で条件付けされる.
    2. 二番目のステージ: Latent Text-to-Audio Diffusion
      1. 1.のエンコーディングで得られたlatentにノイズを乗せる.
      2. 元の音を表現するテキストを学習済みの言語モデル(T5)に入力して得られたembeddingとノイズのレベルで条件付けして、U-Netでこのノイズを取り除くように学習する

最初のステージ
最初のステージ
二番目のステージ
二番目のステージ

Results

  • 学習に使ったデータセット
    • 2500時間の音楽を集めた (詳細は不明)
    • 対応するテキストは曲のタイトル、アーティスト名、アルバムタイトル, ジャンル、リリースされた年などのメタデータを利用
    • エンコーダは5.5秒ずつ、Latent Text-to-Audio Diffusionの方は44秒ごとのチャンクで学習
    • 44秒ごとに切った後で、テキストに 1 of N, 2 of N, 3 of N… N of Nとテキストをくっつけて学習
  • 学習: A100で一週間
データセットの中のテキストの例
データセットの中のテキストの例

  • 生成された音楽のサンプル
Audio Generation with Diffusion

  • 考察
    • Riffusionなどに比較してちゃんと長時間の依存関係を保った音を生成できてる!
    • 大体Diffusionは10ステップくらいで十分な音質 → 数を増やせばもう少し良くなる(が当然時間はかかる)
    • テキストに“1 of 4”をつけるとイントロっぽく、逆に”4 of 4”などとつけるとエンディングっぽくなる
ジャンルを指定して正しく生成されるかの比較
ジャンルを指定して正しく生成されるかの比較

Further Thoughts

論文を読んで考えた個人的感想

  • (Deluxe Edition) というのが Trending on Artstation的なマジックプロンプトになっているのが面白い。学習データに由来しているのだと思うが、サンプリングCDのサイトなどからスクレイプしたのか?
  • MusicLMのメモでも書いたように、ほんとにテキストが良いインタラクションの方法なのか。この論文の著者はオーディオでのコンディショニングなどの可能性も示唆している。
  • コードがオープンソースで公開されてるのはすばらしい
  • 著者の修士研究として公開されたものらしい。彼の修士論文が最近のaudio generation系の研究がまとまっていてめちゃくちゃいい。にしてもこのレベルで修士論文書けたらよかったなぁ….

Links

  • 生成例
Audio Generation with Diffusion

  • ソースコード