PAPER

2020.02.12 Up

Posted by Atsuya Kobayashi

歌詞からメロディを生成 – Conditional LSTM-GAN for Melody Generation from Lyrics

歌詞からメロディを生成 – Conditional LSTM-GAN for Melody Generation from Lyrics

Conditional LSTM-GAN for Melody Generation from Lyricsは2019年夏にarXivに投稿されたNII(国立情報学研究所)の研究で,LSTM-GANで歌詞のテキストデータからのMIDIの生成を行うものです。

Gyazo

歌詞のデータは単語から音節 (シラブル)に切り分けられ,各音節に対してMIDIノートが割り振られます。休符があった場合はその直後のデータにRestとして加えられる。各単位は楽曲の4分音符を1とした時の相対的な長さで,よって生成されるデータはxi={xi_MIDI, xi_duration, xi_rest}の3次元の系列となり,楽曲の長さはこのdurationとrestの合計となる。(再生される時の長さはその時のBPMに依存する)

楽曲のデータ

楽曲サンプルの各次元の分布(音程・長さ・休符の長さ)は以下のようになっています。

Gyazo

この分布からランダムにデータをサンプリングした後に,指定されたスケールに対して補正をかける生成プロセスをベースラインの生成モデルとして定義しています。

モデルのアーキテクチャ

LSTMを用いて系列データのエンコード・デコードを行います。

Gyazo

Gyazo

入力データに単語レベルと音節レベルの両方の埋め込みベクトルを用いることで表現力の向上を図っており,全歌詞データに対しての単語レベルと音節レベルのSkip-Gramモデルをそれぞれ学習し,それぞれ10次元のベクトル化。それらをConcatして20次元のconditionとしています。

Skip-Gramの学習のパラメータは,(context window=7, SGD, 学習率はη=0.03からエポック毎に減少, α=0.75でnegative sampling)となります。

Gyazo

Gyazo

8:1:1でデータを分割し,SGD(η=0.01から減少)で学習を回します。

生成されたMIDIの評価

1, 51, 351エポック学習したタイミングで生成されたMIDIに対し,ボランティア被験者によるMIDIパターンの音楽的要素の評価を行います。

  1. how about the entire melody?
  2. how about the rhythm?
  3. does the melody fit the lyrics well?

それに加え,定量的な基準も策定し,評価を行います。

  • MIDI numbers span : 最高音と最低音の差
  • 3-MIDI number repetitions : 3連続音のパターンの繰り返しの数
  • 2-MIDI number repetitions : 2連続音のパターンの繰り返しの数
  • Number of unique MIDI numbers : ノートの種類
  • Number of notes without rest : 休符を挟まないノートの数
  • Average rest value within a song : 平均した休符の長さ
  • Song length : すべてのノート・休符の長さの合計

上記の特徴に対して,テストデータ・本モデル・ベースライン の比較を行うことで,生成モデルの精度の評価を行います。

Gyazo

学習の効果の測定

各エポックでの生成データの評価 : 学習が進むにつれ,音数も増え,より「楽曲らしく」なっていると言えます。

Gyazo

さらに,学習を進めるにつれて表現も自然なものに近づくことが,楽譜から確認できます。

Gyazo

また,ベースラインモデルよりも生成されたパターンの音楽的要素はテストデータに近い分布となっていることが確認できます。

Gyazo

ボランティアからの評価もベースラインモデルより高い。

Gyazo

歌詞によるConditioningの効果の検証

Gyazo

異なった歌詞では異なった分布からMIDIのノートが選ばれており,異なったスケール,曲調のMIDIパターンが生成されていることが確認できます。これにより,歌詞から抽出された意味的な情報を元にMIDIを生成していることが分かります。

Gyazo

また,ランダムにした場合に生成されるデータの分布が大きく異なることから,音楽的な表現が単語列/音節列から獲得されていることが示されています。

まとめ

Conditional LSTM-GAN for Melody Generation from Lyricsでは単に系列変換によるメロディの生成だけではなく,生成されるメロディの定性的・定量的な評価基準を明確に決め,それらの分析と「歌詞情報に基づいて生成されているかどうか」の評価を的確に行っています。また,本研究では歌詞 – MIDIのペアデータの作成まで行っており,テキスト – 音楽変換に関する研究に大きな貢献をされています。