Slide 1

Slide 1 text

[AI音楽セッション ] 奇跡の1曲をあなたに。 きだぱん。 ゲームソリューション部 [⾃由研究発表] クラスメソッド社員による怒涛のLT⼤会、11連発 Part 2

Slide 2

Slide 2 text

自己紹介 https://dev.classmethod.jp/author/kidapan/ きだぱん。 (@kidapan_potato) クラスメソッド株式会社 ゲームソリューション部  エンジニア フェレットのみるくちゃん (2歳) 楽器経歴:ピアノ、サックス、クラリネット、オタマトーン 好きなコード進行:Cm7 - F7 - B♭maj7 - E♭maj7 - Am7- D7 - Gm 好きなお菓子:塩バニラフィナンシェ

Slide 3

Slide 3 text

DevelopersIO 2023 https://dev.classmethod.jp/articles/developersio2023-ai-music-composition-session/ SpecialThanks:ひらき(@k_hirasan)さん 


Slide 4

Slide 4 text

AWS DeepComposer

Slide 5

Slide 5 text

AWS DeepComposer 2025 年 9 月 18 日でサポート終了

Slide 6

Slide 6 text

そもそも、AIに「⾳楽」をどう教え る?

Slide 7

Slide 7 text

1 0 モデル作成のステップ ②データセット準備 ABC記譜法 JSONL形式への整形 ③モデル学習 ファイン チューニング ④音楽生成 ① 楽曲データの収集

Slide 8

Slide 8 text

⼈間とAIの "理解" の違い 8 ⼈間は⾳符やメロディを感覚的に理解する。

Slide 9

Slide 9 text

⾳間とAIの "理解" の違い 9 ⾳間は⾳符やメロディを感覚的に理解する。 AI(コンピュータ)は数値データ しか扱えない。

Slide 10

Slide 10 text

⼈間とAIの "理解" の違い 10 「⾳楽」をAIが理解できる 「数値やテキストの列」に 変換する必要がある!

Slide 11

Slide 11 text

⾳楽を "⾔葉" に変換する「ABC記譜法」 楽譜情報をテキスト形式で表現する⼿法。 ⾳楽を⾃然⾔語のようにAIに学習させることができます。 https://www.logical-arts.jp/archives/1909

Slide 12

Slide 12 text

楽曲にするデータ ジャズの教則本「ジャズ・スタンダード・バイブル」など から何曲か持ってくる。 ※個人の趣味で選びました 採譜したデータを収集。 https://www.osamukoichi.net/20240422-2/

Slide 13

Slide 13 text

⾳楽を "⾔葉" に変換する「ABC記譜法」 楽譜情報をテキスト形式で表現する⼿法。」 ⾳楽を⾃然⾔語のようにAIに学習させることができます。 楽譜 ABC記譜法 (テキスト) X:1 (曲番号) T:Sample Tune (タイトル) K:C (キー) CD E F | G A B c (⾳符) 今回はこのABC記譜法を使って、Jazzの名曲をAIに教えます。

Slide 14

Slide 14 text

⾳楽⽣成には様々な⼊出⼒のパターンがあります。 6 AI⾳楽⽣成の様々なアプローチ ・メロディ → 伴奏 ・コード進行 → メロディ ・雰囲気( "明るい感じ ") → 曲全体 ・メロディ → メロディの続き ← 今回はコレ! 特定のスタイル( Jazz)でメロディの続きを生成させます!

Slide 15

Slide 15 text

では、 どうやって Jazz 風を教えるのか 7

Slide 16

Slide 16 text

Amazon Bedrockには、既存のAIモデルを特定のタスクに適応させる2つの⽅法があ ります。 8 どっちだろうか ① Continued Pre-training (継続的事前学習 ) ● 目的 知識を広げる(専門用語、社内文書など) ② Fine-tuning (ファインチューニング ) ● 目的: 振る舞いやスタイルを真似る(特定の文体、会話形式など)

Slide 17

Slide 17 text

Amazon Bedrockには、既存のAIモデルを特定のタスクに適応させる2つの⽅法があ ります。 8 Fine-tuning ① Continued Pre-training (継続的事前学習 ) ● 目的 知識を広げる(専門用語、社内文書など) ② Fine-tuning (ファインチューニング ) ● 目的: 振る舞いやスタイルを真似る(特定の文体、会話形式など)

Slide 18

Slide 18 text

学習⽤のJSONL形式に整形しました。 例:実際の学習データ (1⾏分) { "prompt": "X:21\nT:Confirmation\nM:4/4\nL:1/8\nK:F\n", "completion": "|:F^F GABc d^cde fg^ga|baga gfed ^cdef gagf|..." } prompt : AIへの⼊⼒(曲名やキーなどのお題) completion : AIが学習すべき正解(実際のメロディ) このペアを約10-15曲分⽤意しました。 1 1 Jazz の魂をAIに宿す データセット作成

Slide 19

Slide 19 text

使⽤モデル: Amazon Titan Text 学習データ: 前のページで作成したJSONファイル 実⾏環境: Amazon Bedrock Console コンソール画⾯から学習データを指定し、エポック数などのハイパーパラメータを設定 1 2 Bedrockでのモデル学習

Slide 20

Slide 20 text

演奏手法を教えてください

Slide 21

Slide 21 text

 X:1  T:Composition by AI  M:4/4  L:1/8  K:F お題 (Prompt) 「Fのキーで、4分の4拍⼦の曲を作って!」という指⽰です。 さあ、AIはどんなメロディを奏でるのでしょうか …? 1 3 AIに"アドリブ"をさせてみる 学習済みのカスタムモデルに対し、お題(prompt)だけを与えて、 続きのメロディ(completion)を生成させます。

Slide 22

Slide 22 text

Let’s Play! ※寂しかったのでDrumなどを少し加えました

Slide 23

Slide 23 text

1 5 感想 優れた点( Good Points) 半音階のアプローチや、ビバップ特有の8分音符の連続フレーズが上手く表現されてい た。音楽として破綻していない自然なメロディーが生成されており、キー(調性)を外さな い安定感もあった。 課題・改善点( Improvements) 一方で、「タメ」や「ノリ」といった人間的なニュアンスはまだ見られません。時折、フレーズ の着地点が唐突に感じられることはあった。より多くのデータを学習させることで、さらに 複雑な音楽表現も可能になるかもしれません。

Slide 24

Slide 24 text

まとめ!

Slide 25

Slide 25 text

1 7 本⽇のまとめ 1. AIに⾳楽を教えるには、「エンコーディング」が重要。  ⾳楽をAIが扱えるテキスト形式(ABC記譜法など)に変換することが全ての始まり。 2. Amazon Bedrockの「Fine-tuning」で、特定のスタイルを学習させられる。  汎⽤モデルを、⾃分の⽬的に合わせて驚くほど簡単に"特化"させることが可能。 3. AIと⾳楽のコラボレーションには、無限の可能性がある!  作曲のアシスタント、⾳楽教育、新しい⾳楽ジャンルの創出など…。

Slide 26

Slide 26 text

音楽、 やろうぜ!

Slide 27

Slide 27 text

ご清聴ありがとうございました ! きだぱん。 ゲームソリューション部 Let’s Music!!!