GTTM分析器「PyGTTM」の試作,及び,ディープラーニングを用いた精度向上の試み

>100 Views

October 07, 24

スライド概要

日本大学文理学部情報科学科 山川 卒業論文発表会資料

profile-image

日本大学 文理学部 情報科学科 北原研究室。 「Technology Makes Music More Fun」を合言葉に、音楽をはじめとするエンターテインメントの高度化に資する技術の研究開発を行っています。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

 GTTM分析器「PyGTTM」の試作,及び, ディープラーニングを用いた精度向上の試み 北原研究室 B4 山川峻 2/9 1

2.

 背景・目的 楽曲を聞いた時,その曲の年代や何のジャンルかってことがわかる時がある.そこには, 楽曲中のメロディの構造に何らかの特徴があるのではないか. • そこで,メロディの構造何らかの方法で抽出できれば,それを用いて楽曲間で構造を比較することで 特徴を見つけることができるであろう. • 現状,メロディの構造を比較するような研究は多くはないので他とは違った特徴を見つけること ができるかもしれない. • また,年代ごと比較することで年代を追うごとにどのようにメロディが変化したかがわかると思う. • 昔から今まででどのように変化していったかがわかれば,未来の音楽の構造を予測することも可 能だろう. 2

3.

 背景・目的 • 音楽の構造を把握するための手法の一つとして,音楽理論のGenerative Theory of Tonal Music(GTTM)を用いることができる. • GTTMとは,聴取者の音楽の認知過程から曲中の音符の重要度を階層的な構造で表す ことを目的とした理論である. • 本研究の目的は,メロディの構造を取り出す第一段階として,GTTMの分析器 「PyGTTM」を実装することで,GTTMを様々な研究に活用できるようにすることであ る. • 既存研究の自動分析器,ATTAをpython上で再現し追実験を行う. • その拡張であるdeepGTTMを参考に,性能の向上を検討する. 3

4.

GTTMについて 入力 分析器 入力から特徴量に変換 楽曲を複数の音の塊に分ける 特徴量からルールを適用 適用ルールから判定 判定部分で構造を形成 楽曲中の強拍となる部分を推定する タイムスパン木 出力 重要度に基づいて木構造を形成する

5.

 GTTM 例 タイムスパン木 グルーピング構造 拍節構造 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ 5 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・

6.

 PyGTTMの実装 • GTTM分析器のAutomatic Timespan Tree Analyzer(ATTA)をpythonで実装する. • PyGTTMのシステムはATTAに基づいているが,GTTM は人によって解釈が分かれる部分があり,不確かな部分 に関しては我々の解釈で実装している. • そのため,PyGTTMとATTAで分析結果が異なることが 考えられるため,これらの分析結果の比較実験を行う. 6

7.

ATTA グルーピング構造分析器 音の間隔が大きい部分(GPR2) 音高の差が大きい部分(GPR3a) 境界のなりやすさ グルーピング構造

8.

 比較実験 • 実験は,公開されているGTTMデータベース中の150曲を用いて,グルーピング構造, 拍節構造,タイムスパン木の比較を行なっていく. • GTTMデータベースにはクラシックの曲に対して,専門家が作った各構造が格納されて おり,これらを正解データとして,分析器の分析結果と比べ,その精度をATTAと PyGTTMで比較する.正解データとの一致率は以下のようにしている. DB PyGTTM 分析結果 楽曲 ATTA P:適合率,R:再現率 正解データ 8 分析結果 正解データ 比 較

9.

 実験結果 • 実験結果は,以下のようになり,グルーピング構造分析ではATTAよりも高いF値を出 したが,拍節構造分析とタイムスパン分析では低い値となった. • 予想した通り,ATTAとはかなり精度が違っている.これは前述した通りそれぞれの分 析の解釈が違うためだと考えられる. > < 9 <

10.

 実験結果 • 下図は2.「子守唄」の構造を取り出したものだが, 赤丸の部分に適用したルールを記述している. • 赤丸の部分ではGPR3aが適用されているかが違っ ている.3aは前後と比べ音高の差が大きい部分に適 応されるルールだが,ATTAでは適用されている. 1音符 = 1音符 <? ? ATTA 10 同じ >? ? 差が大きい? PyGTTM >

11.

 実験結果 • 結果的には,ATTAと違う分析結果が出てしまうが,階層構造の分析器としては,ある 一定の精度で構造を取り出すことができた. 11

12.

 ATTAの拡張に関して • しかし,木の精度はあまり実用的でない,このまま構造として利用は難しいだろう. • それはATTAにも同じことがいえ,浜中らはより精度をあげる拡張として,ディープラー ニングを利用した,「deep GTTM」を考案している. • PyGTTMでも同じように,ディープラーニングを利用した精度向上を試している. 12

13.

deepGTTM deepGTTM手法 音符の情報から,ルールの可否を計算 適用 ルール 境界の なりやすさ 音符情報から,どのルールが適用されるか学習 適用 ルール 適用されたルールに対して, 境界となる部分を学習.

14.

 ディープラーニングを用いた拡張 ネットワーク 発音時刻 消音時刻 ピッチ ベロシティ • 学習データにj-pop等の5000曲,DB 適用 ルール の300曲を使用している. • 全体的にかなりF値が低い. 適合率 再現率 F値 • 学習のさせ方や学習データは要検討 deepGTTM 0.814 0.784 0.799 • CNNは比較的,分析結果の学習を行う ことができた. DBN 0.075 0.595 0.134 MLP 0.039 0.379 0.072 CNN 0.190 0.650 0.294 14

15.

 まとめ • GTTMの階層構造を自動で獲得するシステム「PyGTTM」の実装を行い,ある程度の 精度で構造を取り出すことができた.しかし,木の精度は実用的ではなかった. • 精度を上げる拡張として,ディープラーニングを利用した手法を試し,結果的にCNNに よる学習が有力であろうとわかった. • 今後は,PyGTTMの精度向上を目的とした,ディープラーニングの拡張を目指している. 15

16.

 ご静聴ありがとうございました 16