2.3K Views
February 07, 25
スライド概要
2024年度卒業研究発表 名越崇晃
日本大学 文理学部 情報科学科 北原研究室。 「Technology Makes Music More Fun」を合言葉に、音楽をはじめとするエンターテインメントの高度化に資する技術の研究開発を行っています。
拍節関係を取り入れた 旋律生成モデルに 関する研究 5420063 名越 崇晃
旋律生成モデルとは • 音楽の基本要素である旋律(メロディ)を自動で生成するAIモデル 続きを生成する 入力
旋律生成の需要 即興演奏 演奏者と一緒に 演奏する 作曲支援 作曲者のニーズに合った 旋律を作成する
Attentionを使ったモデルの例 Transformerは、Vaswani et al. (2017) によって提案された ニューラルネットワークアーキテクチャであり、Self-Attentionを用いることで長期的な依 存関係を効果的に学習可能。 テキスト生成 GPT, など 画像生成 DALL-E, など 音楽生成 Suno, など
旋律生成への応用方法 様々なアプローチがあるが、ここではMIDIに焦点を当てる • MusicTransformer(Huang et al., 2019) [音高, 長さ, タイムシフト, 音高 …]
現状のモデルの課題 問題1 問題2 テンポ変化が 引き起こす データの冗長性 1小節の定義不足
テンポ変化が引き起こすデータの冗長性 テンポ:120 2小節 [noteOn_72, shift1s, noteOff_72, noteOn_74, shift1s, noteOff_74, noteOn_72, shift2s, noteOff_72 ] テンポ:240 [noteOn_72, shift0.5s, noteOff_72, noteOn_74, shift0.5s, noteOff_74, noteOn_72, shift1s, noteOff_72 ]
テンポ変化が引き起こすデータの冗長性 • テンポの違いによって、同じリズムを刻んでいてもシーケンスが異なるデータとして 扱われてしまう点 タイムシフト(時刻)をそのままトークンにしてしまっているため 大量のデータセットが必要
1小節の定義不足 = 4分音符 音楽において1小節の長さは必ず厳守する必要がある。 異なると違う拍子になってしまうため
1小節の定義不足 • 現状のモデルだとタイムシフトでしか時系列を表現できていない 1小節の定義が曖昧になってしまっているのではないか いくら損失が低下しても正しい拍節で生成できない 場合がある
現状のモデルの課題 問題1 問題2 テンポ変化が 引き起こす データの冗長性 1小節の定義不足
提案するモデル 本研究で提案するモデル名をMORTM(Metric-Oriented Rhythmic Transformer for Melodic generation)と呼ぶ SRC 続きを生成したい旋律を 入力 MORTM TGT 一小節先までの続きを 生成
提案手法1 • トークナイザー 問題1の解決策として、1 小節を 64 分割し発音時刻の代わりに 相対的な値にする。(ティック) 小節の節目を表す特殊トークン<SME>の導入により、 1小節を強調している。 ※src : 入力シーケンス tgt : 出力シーケンス
提案手法1 • アーキテクチャ Self-Attentionには 相対位置エンコーディングを 適用
提案手法2 • リズム制約損失関数 音符の配置が指定されたティック内に収まるように制約を加える損失関数を提案 • L_CE : 従来のクロスエントロピー損失 • L_theory,i : 第 i 小節におけるリズム制約的損失 • N : 1 シーケンス内の小節数(8 小節) • cw と rw : エポックごとに変化する重み.
パラメータ • MORTMは以下のようなパラメータで機械学習を行った • 埋め込み次元数 : 768 • エンコーダー・デコーダーレイヤー数 : 15 • ヘッド数 : 12 • フィードフォワード層 : 3072 • 学習率 : NOAMスケジューラー (約 1e – 9 ~ 1e-4) 学習損失 検証損失 学習損失と検証損失の推移
音高予測実験 P_x:ノートナンバーx • 複数回生成を行い、各音の高さの確率分布を可視化する 縦軸:確率 横軸:トークン(確率の高い順)
音高予測実験 P_x:ノートナンバーx • 複数回生成を行い、各音の高さの確率分布を可視化する 図.Fmスケールの音高予測実験の結果 上からAb3, Db4, Bb3となっている。(Fmスケール内である)
音高予測実験 P_x:ノートナンバーx • 複数回生成を行い、各音の高さの確率分布を可視化する 図.Dmスケールの音高予測実験の結果 上からG4, A4, C5,となっている。(Dmスケール内である)
音高予測実験 考察 全てのスケールに対し、適切な音高予測を出したことから、 スケールを理解していると考察する。
旋律生成実験 リズム制約損失関数の効果を検証 SRCを4小節与える 譜面に可視化 1小節を64ティックで表現できているかを観察
旋律生成実験 結果1 リズム制約有 結果2 リズム制約無し
旋律生成実験 エラー(率/回数):1小節で表現できるティック数を超えてしまった確率又は回数 考察 完璧とは言えないが、40%エラー率を抑えることができため、 効果があったと考察する。
今後の展望 コード進行の適用 多旋律の生成への応用は 可能かの実験 • コード進行を考慮して いなかったため、旋律 の生成の自由度が高い と感じたため。 • 今回は単旋律での実験 であったが、 多旋律だとどうなるの かの追加検証が必要