Publicité
Publicité

Contenu connexe

Plus de Kitamura Laboratory(20)

Publicité

ギタータブ譜からのギターリフ抽出アルゴリズム

  1. ギタータブ譜からの ギターリフ抽出アルゴリズム Guitar Riff Extraction Algorithm from Guitar Tablatures 香川高等専門学校電気情報工学科卒業研究最終発表会 セッション:2023/3/1 9:15~9:30 唐渡昂希(北村研究室)
  2. 2 • ギターリフとは – その曲のシンボルとなるメロディのこと – 何度も繰り返されるメロディであることが特徴 ギターリフ A B C D A B C D https://www.youtube.com/watch?v=zUwEIt9ez7M
  3. 3 • ギターリフの歴史を解析し,新たなギターリフを生成する – 条件付き変分自己符号化器 [Kingma+,2014] を用いて 年代という条件の下でギターリフの特徴量解析を行う 最終的な研究の目的 特徴量空間 Encoder Decoder 発売年 発売年
  4. 4 • 深層学習には大量の学習データが必要 • ギターリフのデータセットが存在しない • ギタータブ譜のデータセットは存在する – DadaGP [Sarmento+,2021] • 25,000曲のギター譜面を 提供するデータセット 目的を達成する上で生じる問題 ギターリフのデータセットを作成するために ギタータブ譜からギターリフだけを抽出する DadaGP形式のデータ
  5. 5 • ギターリフの特徴 「ギターリフは何度も繰り返される」 – 冒頭の「Smoke on the Water」はギターリフが6回繰り返される • あるメロディが繰り返されているかどうかを 認識するために,2つのメロディ間に類似度を定めたい • ギタータブ譜を行列に変換し,コサイン類似度によって 2つのメロディ間に類似度を定める 抽出の概要 コサイン類似度
  6. 6 • フレットを押さえたとき1になる変数 • 弦を弾いたときに1になる変数 ギタータブ譜を表す行列 フレット行列 ピッキング行列 ベクトル化 時間 ベクトル化 第6弦 弦番号 フレット番号 第1弦 時間 時間 第1フレット 第2フレット
  7. 7 • 類似度の求め方 • フレットに関する類似度の例 – は 小節目から始まる 小節のメロディと 小節目から 始まる 小節のメロディの行列 に関する類似度 ギタータブ譜の類似度 ベクトル化 ベクトル化
  8. 8 • 抽出を行う上で必要なこと – 抽出するメロディの「開始位置」を決定する – 開始位置からの「長さ」を決定する • 小節基準反復メロディ抽出法(Measure-based Repeated Melody Extraction: MRME)法 – 「開始位置」及び「長さ」を推定 • コサイン類似度基準反復メロディ抽出法(Cosine- similarity-based Repeated Melody Extraction: CRME)法 – 「開始位置」のみを推定 – 「長さ」は既知とする ギターリフ抽出
  9. 9 • Step 1 – 抽出するメロディの開始位置を定める – ピッキングに関する類似度が 以上ならば 類似するメロディがあるとして,ギターリフの開始位置を決定 MRME法
  10. 10 • Step 2 – 抽出するメロディの長さを決定 – フレット行列を用いて8小節のメロディを比較し類似度が 以上 ならば長さを8小節とする – 以上の類似度が存在しない場合,4小節ごとに類似度を計る – 更に 以上の類似度が存在しない場合,2小節ごとに類似度を 計る MRME法 3 4 5 6 7 8 9 10 11 12
  11. 11 • 開始位置のみを決定(ギターリフの長さ は既知とする) – 小節の長さのメロディを比較 – 小節の区切り位置を無視 – フレットとピッキングの両方の情報を用いて類似度を測る CRME法
  12. 12 • 各手法が持つパラメータを変化させ,ギターリフの抽出精 度を調べる – ギターリフの正解位置は次の文献またはサイトに記載されてい る59曲を使用 • Free Guitar Riffs • 30 Guitar Riffs Are Fun To Play & Sound Awesome • GREATEST ROCK GUITAR RIFFS • 59曲の中身の一例 – AC/DC 「Back in Black」 – Aerosmith 「Walk This Way」 – Deep Purple 「Smoke on the Water」 – Led Zeppelin 「Whole Lotta Love」 – Nirvana 「Smells Like Teen Spirit」 など ギターリフ抽出実験
  13. 13 • Step 1 – 開始位置を定めるときに用いたパラメータ • Step 2 – 開始位置からの長さを定めるときに用いたパラメータ MRME法のパラメータ 3 4 5 6 7 8 9 10 11 12
  14. 14 • 最大正解率77.9% – は開始位置を決定するためのパラメータ – は小節数を決定するためのパラメータ 実験結果(MRME法)
  15. 15 • 最大正解率79.7% – は開始位置を決定するためのパラメータ 実験結果(CRME法)
  16. 16 • 各手法が持つパラメータを変化させ,各手法が59曲のう ちギターリフを正しく抽出できる曲数を調べた • MRME法,CRME法が抽出失敗となるパターン – ギターリフの前にリフではない繰り返しメロディが存在する場合 – ギターリフが繰り返されない場合 – ギターリフが転調する場合 実験結果
  17. 17 • 目的:ギターリフの生成及び歴史解析を行うためにギ ターリフのデータセットを作成する • 手法:ギターリフが何度も繰り返されるメロディであること を用いて,繰り返されるメロディを抽出する • 実験:ギタータブ譜からギターリフを抽出できるかを実験 • 結果:最大で79.7%の正解率が得られた まとめ ご清聴ありがとうございました

Notes de l'éditeur

  1. [0:10]
  2. [1:20]まず,タイトルにあるギタータブ譜とギターリフについて説明します. ギタータブ譜はスライドに示す,各弦のどこを押さえるかが記載された楽譜のことです. そしてギターリフとは,その曲のシンボルとなるメロディのことです. いまから,Deep purpleのSmoke on the water のギターリフを聞いていただきます. 大衆音楽,特にロック音楽におけるほとんどの曲は,今聞いていただいたように,曲の冒頭で,短いメロディがなんども繰り返されています. これによって,この曲といえばあのメロディだよね,という印象付けを行ています.その印象付けを行うメロディこそがギターリフです. そして,今までに,様々なアーティストが様々なかっこいいギターリフを生み出しています
  3. [2:20]次に,最終的な研究の目的についてお話しします.それは,ギターリフの歴史を解析し,新しいギターリフを生成することです. ここで用いられるのが,条件付き変分自己符号化器というもので,特徴量解析を行うことが出来る,一種の深層ニューラルネットワークになっています. これを用いて,年代という条件の下でギターリフの特徴量解析を行います. これによって,何が期待できるかというと,例えば,1970年代を感じるギターリフを生成したり,複数の年代の特徴を合わせ持つ新しいギターリフを生成したり,他にも,特徴量空間の分布からこのアーティストはこのアーティストに影響を受けたんだな,という解釈をすることで,ギターリフの歴史をたどる一つの手がかりになったり,などが挙げられます.
  4. [2:50] がしかし,この目的を達成する上で,一つ問題があります. 深層学習には大量の学習データ,つまり,この研究においては大量のギターリフが必要になりますが,ギターリフのデータセットが存在しません. ただし,1曲丸々のギタータブ譜のデータセットは存在します. そこで,この発表ではギターリフのデータセットを作成するために, ギタータブ譜から,ギターリフだけを抽出するアルゴリズムを作成し,そのアルゴリズムの性能を評価しましたという話をします.
  5. [3:20] 提案するアルゴリズムは,ギターリフが曲の中で何度も繰り返される,という特徴を用いたものになってます. まず,繰り返されたメロディが存在するかどうかを認識するために,2つのメロディが似ているかどうかを定義したいんですね. そこで,今から,ギタータブ譜を行列に変換し,その行列の成分によって2つのメロディ間に類似度を定める,という話をします.
  6. [4:10] まず,ギタータブ譜を行列に変換します. ギタータブ譜から抽出する情報は2つ,「いつ,どの弦の,どのフレットを押さえるかという情報」,そして,「いつ,どの弦をはじくかという情報」です. まず,ある弦のあるフレットを押さえた時に1になる変数 C stf ,弦をはじいたタイミングで1になる変数 P st をスライド真ん中に示すように,弦とフレットの数だけ用意します. そして,この変数をそれぞれ1本のベクトルに変換し,時間ごとに行列に並べることで,「いつどこを押さえたかを表すフレット行列 C 」そして「いつどの弦を弾いたかを表すピッキング行列 P 」を構成します. そしてこの行列 C と P を使って類似度を測ります!
  7. [5:00] ある2つのメロディにおける押さえ方が似ているかどうかは,そのフレット行列のメロディに該当する時刻の成分を,再び1本のベクトルに変換し,コサイン類似度によって似ているかどうかを測っています. ここでピッキング行列を用いれば,同様に,ピッキング方法,弦の弾き方が似ているか,という類似度を定義することもできます. ここでは,冒頭の smoke on the water のフレット,つまり抑え方に関する類似度を見てみます. 1小節目,2小節目はコサイン類似度によれば,0.48ほど似ているらしいです. 1小節目,3小節目は我々が見ても似ていることが分かります.異なるのは最後の8文音符2個だけで,この時の類似度は0.87です. 1小節目,4小節目は似ていないらしいです.類似度は0.19です.
  8. [5:45] 類似度が定義できたので,実際にギターリフを抽出します. ギターリフを抽出する上で,結局何をしなければならないのか,それは,抽出するメロディの「開始位置」と「長さ」,この2つを決定することです. 提案手法1つ目は開始位置,長さの両方を推定する小節基準反復メロディ抽出法,通称MRME法です. この手法は2つを推定します. 提案手法2つ目はコサイン類似度基準反復メロディ抽出法,通称CRME法です. これは長さを既知として開始位置だけを推定します じゃあMRME法から説明していきます.
  9. [6:40]MRME法ではまず抽出するメロディの開始位置を決定します. どのように決定するかというと,1小節ごとに,ピッキングに関する類似度を測り λ 以上の類似度が存在するかによって定めています. この λ ,あと,以降に出てくるギリシャ文字ってのは,0から1の値をとりうるパラメータになってます. まず,スライドに示すように1小節目とその他の小節でピッキングに関する類似度を測ります.この時点でλ 以上の類似度があれば開始位置を第1小節とします. なければ,今度は2小節目とその他で類似度をはかり λ 以上となるか,それでもなければ3小節目...って感じです. ここでは3小節目が開始位置であるとして次に進みます.
  10. [7:20]開始位置が決まった後,抽出するメロディの長さを決定します. 定め方は,まず,8小節ごとに,今度はフレットに関する類似度を測り,その類似度が μ 以上かどうかによって定めています. ここで μ 以上の類似度があれば長さを8小節とします. μ 以上の類似度がなければ今度は4小節ごとに類似度を測り μ 以上となるか,それでもなければ2小節ごと,の類似度を確認していきます. 以上がMRME法のギターリフ抽出となってます. 次に,もう一つの提案手法であるCRME法について説明します.
  11. [8:00] CRME法はギターリフの長さ L を既知とし,開始位置だけを決定します. 開始位置を求める際,L小節のメロディの類似度を測り,ν 以上のものが存在するものを探索します. このとき,スライドに示すように,小節の区切り位置を無視して探索を行います. 更に,行列C,Pを結合した新たな行列Mによって,フレットとピッキングの情報の両方を用いて類似度を測ります. [8;20] スライドに示すのは,1小節目から始まる長さ L 小節に類似したメロディが他に存在するか,を探索しています. ここで閾値 ν を超えるものがあれば開始位置を1小節目とします. 無ければ今度は,2小節目から始まる長さ L 小節のメロディを探索します. 第一小節を開始位置とするかどうかは,スライドに示すように,一小節目から始まる長さ L 小節のメロディに類似するものがあるかどうかです. このとき,MRME法と異なり,小節の区切り位置を無視して探索を行います. さらに,探索の際に行列 C それから P を結合した新たな行列 M によって,ピッキング,フレットの情報を用いて探索を行うところです! もし閾値 ν 以上のメロディが存在した場合は,開始位置を第一小節とします. 類似度 ν 以上のメロディが存在しない場合は,2小節目から始まるメロディを用いて探索を行っていきます.
  12. [8;20]次に,登場したギリシャ文字の値を変化させ,2つの手法がどの程度の精度でギターリフ抽出を行えるかを実験します. ギターリフの正解値はスライドにあるサイトまたは参考文献にあるものを使用します. この正解値と同じメロディを抽出できるか59曲を対象に実験を行いました.
  13. [8:30]MRME法は開始位置を決定する際に用いるパラメータ λ , 長さを決定する際に用いられるパラメータ μ が存在しました. それを変化させた結果,
  14. [8:40]がこのグラフです.横軸が λ,凡例が μ,縦軸が正解率を表しており,最大正解率が77,9%という結果が得られました.
  15. [9:00]次にCRME法.開始位置を決定するためのパラメータ ν を事変化させた結果,最大抽出率の結果はMRMEを超える79.7%でした.
  16. [9:20]結局,リフの長さの情報を与えても与えなくても使用した59曲では最大正解率は8割弱が限界でした. 残りの2割は,次はスライドに示すパターンが原因であり,このギターリフを抽出することが今後の課題となっています.
  17. [9:40]
  18. まずは,開始位置,長さ,の両方を推定するMRME法について,紹介します. スライドに示すのがMRME法のフローチャートです. このフローチャートは大きく2つにわけることができて,開始位置を推定するセクションA,小節の長さを推定するセクションBがあります.
  19. [8:00] それは,スライドに示す6小節の長さのギターリフですね.MRME法は8,4,2小節だけのギターリフを探索しているので,絶対に抽出失敗となります. 更に,今スライドに示している赤い領域は,同じメロディなんですけれども, この楽曲においてはギターリフが繰り返されるごとに,小節の区切り位置が異なってるんですね. これはMRME法では絶対に抽出できません. そこで,このギターリフを抽出するためにCRME法を提案します.
  20. まず,NRME法で用いられるNMFについて簡単に説明します. NMFは与えられた非負値観測行列を二つの行列の積に分解するアルゴリズムです. このとき,行列WにはXを構成する基底ベクトルが集まり,Hにはそのベクトルの係数があつまる,と解釈することができます. つまり,Xに頻出する列ベクトルはNMFによってよく復元されるという特徴があるんですね.
  21. NRME法では,まず,各列にメロディの情報を持つ行列を構成します. その後,NMFによって分解されたWHを求め,誤差を表す行列Dを構成します. ギターリフが何度も繰り返されている仮定から,このYという行列にはギターリフに該当するベクトルが 最も復元された列がギターリフの開始位置としています.
  22. 3つの手法がどの程度の精度でギターリフ抽出を行えるかを実験します. ギターリフの正解値は参考文献または,サイトにあるものを使用します. この正解値と同じメロディを抽出できるか59曲を対象に実験を行いました. 結果は,MRMEが,CRMEが,NRMEが,,という結果になりました. MRMEが,,,良い結果が得られた.うれしいです.
  23. 私の研究において必要となる,変分自己符号化器について説明します. これは,特徴量解析を行うことができる深層ニューラルネットワークです. スライドに示すのは,0から9の手書き数字の特徴量を学習したのち,各特徴量を再び画像に復元したものです. ここで注目すべきは,「この画像」です. これは,「7」と「9」の2つの特徴量を合わせ持つ,学習データにはない,新たな画像なんですね. つまり,変分自己符号化器は特徴量を組み合わせた新たなデータを生成することが出来るんです.
Publicité