Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【muana_vol6】歌詞をコード進行に変換する機械学習モデル

F7e017b767d1705b085ffb86ee30df22?s=47 sera1250
October 28, 2021

 【muana_vol6】歌詞をコード進行に変換する機械学習モデル

F7e017b767d1705b085ffb86ee30df22?s=128

sera1250

October 28, 2021
Tweet

Transcript

  1. 歌詞をコード進行に変換する 機械学習モデル 2021/10/27 @sera1250 Music×Analytics Meetup Vol.6

  2. 自己紹介 ◆ @sera1250 ◆ 仕事 ◆ 某企業でデータサイエンティスト NLP、画像 AI楽器開発に携わったり ◆

    音楽 ◆ Neko Hackerで編曲/ギター ◆ 趣味で音楽×AI ◆ 好きな音楽… メタル、邦ロック、エレクトロ、ゲームBGM 2
  3. 「言葉」を音楽に変換したい 3 ◆ 言葉から音楽を作りたい ◆ 普段何気なく使う「言葉」から音楽を作れたらおもしろそう… 日記、ツイート、週報… ◆ 言葉と音楽の関係 ◆

    この世界の多くの音楽には歌詞が存在 ◆ 明るい歌詞⇔明るい音楽 切ない歌詞⇔切ない音楽 (もちろん例外も ◆ ではまず歌詞を入力としてみるのはどうだろう?
  4. ◆ コード進行 ◆ 楽曲における音のまとまりの遷移:楽曲・フレーズの印象を大きく左右する ◆ 言葉をなんとなく音楽として表現するのには向いてそう ◆ 歌詞とコード進行の関係 ◆ 明るい歌詞⇔明るい進行、切ない歌詞⇔切ない進行

    ◆ 一意に決まるものではない→そこが面白そう コード進行を出力するのはどう? 4
  5. データ収集 ◆ 既存の楽曲の歌詞とコード進行の関係を学習できれば、 言葉をコード進行に変換するモデルができるはず ◆ ギター弾き語り楽譜サイトを(恐れ入りながら)スクレイピングし、 約16,000曲、約450,000行の歌詞を取得 収集データ一例 5

  6. モデルの選定 ◆ Attention付きSeq2Seq ◆ 機械翻訳等で使用されるモデル ◆ 歌詞・コード進行ともにSequentialな情報 ◆ 歌詞→コード進行の変換を学習 歌詞

    Seq2Seq コード進行 たとえ, 世界, が, 終わる, 日, も G#m, C#, D#m https://jalammar.github.io/visualizing-neural-machine-translation-mechanics-of-seq2seq-models-with-attention/ 英語→フランス語への機械翻訳 6
  7. 学習 1,000円 7

  8. 変換① ◆ 入力:「あした地球がこなごなになって」 ◆ でんぱ組.inc – あした地球がこなごなになっても ◆ 原曲とは違うコード進行 ◆

    最後のF7が少し切ない 8
  9. 変換② ◆ 入力: 「いつも一緒にいた君はもう隣にはいない」 ◆ 架空の悲しい歌詞を入力してみる ◆ 思いのほか悲しい印象ではなく、切り取られた進行のような結果に 9

  10. 変換③ ◆ 入力: 「ねえ君の世界にわたしが魔法をかけるから」 ◆ Neko Hacker – Sweet Dreams

    ◆ 聞きなじみのあるコード進行 ◆ 原曲とほぼ同じコード進行に変換 10
  11. 変換④ ◆ 入力: 「ゴジラを間違えコブラと呼ぶ奴」 ◆ ZAZYのネタ ◆ なんだかコミカルな進行 11

  12. 変換⑤ ◆ 入力: 「Music×Analytics Meetup Vol.6」 ◆ テーマとなるコード進行を生成しようとましたが残念な結果に ◆ 今回sentence

    pieceを使用してtokenizeを行ったため、 英語の入力は今後の課題 12
  13. まとめ ◆まとめ ◆ 歌詞→コード進行変換をAttention付Seq2Seqで学習 ◆ 弾き語りサイトのデータを使用 ◆ なんとも言えない結果になった ◆所感 ◆

    割と多様なコードに変換することができた ◆ 中にはほぼ原曲に近いコード進行に変換できたケースもあった ◆ 切ない歌詞だと切なくなるというわけでもない ◆ Attentionによる解釈性はあまり期待できない 13
  14. 今後の展望 ◆ モデルの改良 ◆ キーの統一 ◆ キーを取得しているものの、転調等が含まれうまく統一できていない(転調もしてほしいし…) ◆ 学習時にキーの情報も入力する? ◆

    モデル学習のアイデア ◆ キー、男女、感情等を考慮して学習できれば結果を少しコントロールできそう? ◆ 生成のアイデア ◆ 長さ(4分、2分…)も扱えるようにしたい ◆ 複数行の歌詞を考慮できるようにしたい ◆ 評価方法の検討 ◆ 定量的な評価、定性的な評価…(そもそも正解とは…?) ◆ AIを用いた楽曲制作 ◆ 引き出し拡張に役立つ? 14
  15. ご清聴ありがとうございました!! (懇親会よろしくお願いします) 15