音響班
天野太一 荻野永和 元滿丈寛
天野太一 荻野永和 元滿丈寛
音響班は主に、ゲームのシーンに合ったBGMの選択、コード進行の自動生成を課題として活動しています。
課題の実現のために、様々なゲームのサウンドトラックの楽曲を収集・分析し、その実行結果からシーンに合ったBGMの選択を行うアルゴリズムを、昨年度のものから改良しました。また、世に出ている多くの楽曲のコード進行データを収集し、それを基にコード進行を自動生成するプログラムを作成しました。
音響班は創造性というテーマに対し、人間と機械が共に創作活動を行うことで新たなアイデアや可能性を生み出すことを目指します。
シーンに合ったBGMを選択するために、昨年度のデータに加え、今年度はゲーム、アニメのBGMからデータを収集しました。
また、コード進行自動生成のために、楽曲のコードを解析するプログラムを作成し、それらをデータとして収集しました。
収集したデータから感情特徴量と音響特徴量を分析・抽出しました。
感情特徴量の分析
感情特徴量は分析する作品を、前期で分類した以下のHevnerの8つの印象語群を用いて分析しました。
表1. Hevnerの8つの印象語群を用いて分類した具体的な感情量
音響特徴量の分析
音響特徴量の分析ではlibrosaを用いてBPM、スペクトル重心、クロマベクトルを分析対象の音源から抽出しました。
・BPM : 曲の速さ、一分間あたりの拍数
・スペクトル重心 : 音の暗さ・明るさを可視化したもの
・クロマベクトル : 12音階ごとの音の強さを可視化したもの
下記の表2は音響特徴量を実際に抽出し、one-hotベクトル化したものです。
表2. 実際に抽出した音響特徴量のデータ
今年のシナリオ班は泣ける物語を自動生成するという目標を掲げていたため、我々音響班も感動する音楽の選択を一つの目標とし活動しました。具体的には、昨年度のニューラルネットワークのプログラムを改良し、分析したデータを学習データとして用いてシナリオ班から受け取ったテキストデータを『感動する(e1)』『感動しない(e0)』に分岐させ、それぞれで音楽を選択させるプログラムを作成しました。プログラムの詳細は下の図1に示します。
図1. ニューラルネットワークのプログラムの詳細
収集したコード進行をもとに、2階マルコフ連鎖を用いてコード進行を自動生成しました。
生成したコード進行をもとに、自分たちでBGMを作成しました。
図2. Dスケールで実際に生成したテキストデータ
・オープニングのBGM
実際に生成したコード進行(Dスケールで生成)
GM7 → Gm6 → F#m7 → Bm7 → Em7 → A7sus4 → F#m7 → Bm7 → GM7 → F#m7/B → Bm7 → A → G → D → Asus4 → A
作成した音源
・フィールドのBGM
実際に生成したコード進行(Bmスケールで生成)
Dm → Bb → F → C → C#dim → Dm → BbM7 → C → Dm → F → Bb → Dm/A → Em7-5 → A7 → Dm → C/E → F → C
作成した音源
・ラスボス戦のBGM
実際に生成したコード進行(Bmスケールで生成)
Bm → F#7/A# → Bm7/A → Em79 → A7 → DM7 → B7sus4 → Bm7 → B7sus2 → Bm7 → Em7 → Asus4 → Dsus4 → D → G → Gm
Bm7 → GM7 → A → F#m7 → Bm7 → A/C# → D → B7/D# → Em7 → F#m7 → A/G → F#sus4 → F#7 → GM7 C#m7/F#
作成した音源
感動するシーンのデータをもっと増やす
コード進行の生成の精度向上
学会発表予定