Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Fundamentals of Music Processing (Chapter 5)
Search
Koga Kobayashi
December 12, 2019
Research
0
54
Fundamentals of Music Processing (Chapter 5)
Koga Kobayashi
December 12, 2019
Tweet
Share
More Decks by Koga Kobayashi
See All by Koga Kobayashi
基礎数学の公式
kajyuuen
1
110
初等確率論の基礎
kajyuuen
1
160
Deep Markov Model を数式で追う (+ Pyroでの追試)
kajyuuen
0
820
完全なアノテーションが得られない状況下での固有表現抽出
kajyuuen
3
3.3k
SecHack365 北海道会 LT
kajyuuen
0
460
専門用語抽出手法の研究と 抽出アプリケーションの開発
kajyuuen
1
1.2k
Other Decks in Research
See All in Research
機械学習でヒトの行動を変える
hiromu1996
1
380
2024/10/30 産総研AIセミナー発表資料
keisuke198619
1
380
Weekly AI Agents News! 9月号 論文のアーカイブ
masatoto
1
150
20241115都市交通決起集会 趣旨説明・熊本事例紹介
trafficbrain
0
700
データサイエンティストをめぐる環境の違い 2024年版〈一般ビジネスパーソン調査の国際比較〉
datascientistsociety
PRO
0
780
ミニ四駆AI用制御装置の事例紹介
aks3g
0
180
Neural Fieldの紹介
nnchiba
1
400
メタヒューリスティクスに基づく汎用線形整数計画ソルバーの開発
snowberryfield
3
620
Tietovuoto Social Design Agency (SDA) -trollitehtaasta
hponka
0
3k
秘伝:脆弱性診断をうまく活用してセキュリティを確保するには
okdt
PRO
4
770
ソフトウェア研究における脅威モデリング
laysakura
0
930
文化が形作る音楽推薦の消費と、その逆
kuri8ive
0
200
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
88
5.7k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
Optimising Largest Contentful Paint
csswizardry
33
3k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Making the Leap to Tech Lead
cromwellryan
133
9k
Navigating Team Friction
lara
183
15k
Music & Morning Musume
bryan
46
6.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
How STYLIGHT went responsive
nonsquared
95
5.2k
Transcript
Fundamentals of Music Processing Chapter 5: Chord Recognition খྛ
ᕣՏ εϥΠυʹؚ·ΕΔਤFundamentals of Music ProcessingΑΓҾ༻
Chapter 5: Chord Recognition Chord(Ի) • 3ͭҎ্ͷҟͳΔԻූ͔Βߏ͞ΕΔԻͷ͜ͱ Harmony() • ෳͷԻ͔ΒͳΔܥྻɺԻਐߦ
FM7 G7 Em7 Am Harmony
Chapter 5: Chord Recognition Chord Recognition(Իೝࣝ) • Ի͔ΒԻਐߦΛೝࣝ͢Δٕज़ ԻָϑΝΠϧ͔ΒίʔυේΛࣗಈͰ࡞ग़དྷΔ Իೝ͕ࣝ͏·͍͘͘ͱ…
Chapter 5.3: HMM-Based Chord Recognition Chapter 5.1~5.2 • ಛྔ͔ΒԻΛ͋Δఔਪఆग़དྷΔ ͔͠͠ɺ͜ΕԻҰͭҰ͔ͭ͠ݟ͍ͯͳ͍
Α͘ग़ΔԻܨ͕Γͷڧ͍Իʹண͍ͨ͠ ྫ: I–IV–V–Iਐߦ • FGසग़͠ɺ͍͖ͳΓFmʹߦ͘͜ͱ΄΅ແ͍ HMM(ӅΕϚϧίϑϞσϧ)Λར༻ͯ͠ԻਪఆΛߦ͏
Chapter 5.3: HMM-Based Chord Recognition Ի: , ঢ়ଶ: (for )
ͱͨ͠ͱ͖ɺϚϧίϑੑΛԾఆ͢Δͱ Ͱ͋Δ֬ A := {α1 , α2 , ⋯, αI } s i ∈ [1 : I] sn+1 = αj P[sn+1 = αj |sn = αi , sn−1 = αk , ⋯] = P[sn+1 = αj |P[sn+1 = αj |sn ] ͜͜Ͱ ΛҎԼͷΑ͏ʹఆٛ͢Δɻ(for ) aij i, j ∈ [1 : I] ͜Εঢ়ଶ͕ ͔Β ʹભҠ͢Δ֬ͱߟ͑Δ͜ͱ͕ग़དྷΔ αi αj aij := P[sn+1 = αj |sn = αi ] ∈ [0,1] ·ͣɺϚϧίϑ࿈Λར༻ͨ͠Ի༧ଌʹ͍ͭͯઆ໌͢Δ
Chapter 5.3: HMM-Based Chord Recognition ۩ମྫ; , ͷͱ͖ I =
3 A := {α1 = C, α2 = G, α3 = F} ·ͨ࠷ॳͷঢ়ଶ͕ Ͱ͋Δ֬ΛҎԼͷΑ͏ʹఆٛ͢Δ αi ci := P[s1 = αi ] ∈ [0,1]
Chapter 5.3: HMM-Based Chord Recognition , , ͷͱ͖ ঢ়ଶܥྻ: ʹ͍ͭͯߟ͑Δ
I = 3 A := {α1 = C, α2 = G, α3 = F} C = (c1 , c2 , c3 )T = (0.6,0.2,0.3)T S = (C, C, C, G, G, F, F, C, C) ࠷ॳͷঢ়ଶ͕ Ͱ͋Δ֬ΛҎԼͷΑ͏ʹఆٛ͠ɺ αi ci := P[s1 = αi ] ∈ [0,1] ۩ମྫ
Chapter 5.3: HMM-Based Chord Recognition ભҠ͕֬ҎԼͷͱ͖ ͷΑ͏ͳԻਐߦ͕ى͖Δ֬ S S =
(C, C, C, G, G, F, F, C, C) = c1 ⋅ a11 ⋅ a11 ⋅ a12 ⋅ a22 ⋅ a23 ⋅ a33 ⋅ a31 ⋅ a11 ≈ 1.29 ⋅ 10−4
Chapter 5.3: HMM-Based Chord Recognition ઌఔঢ়ଶܥྻ Λ༻͍ͯɺԻਐߦͷ֬Λܭࢉ͕ͨ͠ ࣮ੈքͰऔΓ͏Δͯ͢ͷ ʹ͍ͭͯܭࢉෆՄೳ S
S ྫ: 10छྨͷԻɺ20͔ͭΒߏ͞ΕΔۂͷ߹ ύλʔϯͷ֬Λܭࢉ͢Δඞཁ͕͋Δ 1020 ͦ͜Ͱ෦ͷঢ়ଶͰͳ͘ɺಛϕΫτϧΛ༻͍ͯ ԻਐߦΛٻΊΔํ๏ͱͯ͠HMMΛར༻͢Δɻ
Chapter 5.3: HMM-Based Chord Recognition
Chapter 5.3: HMM-Based Chord Recognition
Chapter 5.3: HMM-Based Chord Recognition Input: Իσʔλ͔Β؍ଌͨ͠ܥྻ ͔Β ϞσϧΛར༻͠ɺ؍ଌܥྻ Λ࡞ɻ
O = (o1 , ⋯, oN ) B = (β1 , ⋯, βN ) ؍ଌܥྻ ؍ଌγϯϘϧ ͔Βߏ͞ΕΔ B = (β1 , ⋯, βN ) ℬ = {β1 , ⋯, βk } (for k ∈ [1 : K])
Chapter 5.3: HMM-Based Chord Recognition
Chapter 5.3: HMM-Based Chord Recognition Viterbi: ؍ଌܥྻ ͱ ॳظঢ়ଶͷ֬
ੜ֬ͱભҠ͔֬Β༗άϥϑΛ࡞ B = (β1 , ⋯, βN ) C = (c1 , c2 , c3 )T = (0.6,0.2,0.3)T ੜ֬ ભҠ֬
Chapter 5.3: HMM-Based Chord Recognition ੜ֬ ભҠ֬ ॳظঢ়ଶͷ֬ ੜ͞Εͨ༗άϥϑ
Chapter 5.3: HMM-Based Chord Recognition ViterbiΞϧΰϦζϜʹΑͬͯ ࠷Β͍͠ܦ࿏ʹ͍ͭͯܭࢉΛߦ͏
Chapter 5.3: HMM-Based Chord Recognition ੜ͞Εͨ༗άϥϑ ViterbiΞϧΰϦζϜͰ֤ҐஔͰɺ ֤ԻʹͨͲΓண͘·Ͱͷ࠷దίετͱ ͦͷલʹࢸΔ·ͰͷϙΠϯλΛ֮͑ͳ͕ΒܭࢉΛߦ͏
Chapter 5.3: HMM-Based Chord Recognition ੜ͞Εͨ༗άϥϑ ViterbiΞϧΰϦζϜͰ֤ҐஔͰɺ ֤ԻʹͨͲΓண͘·Ͱͷ࠷దίετͱ ͦͷલʹࢸΔ·ͰͷϙΠϯλΛ֮͑ͳ͕ΒܭࢉΛߦ͏
Chapter 5.3: HMM-Based Chord Recognition ੜ͞Εͨ༗άϥϑ ViterbiΞϧΰϦζϜͰ֤ҐஔͰɺ ֤ԻʹͨͲΓண͘·Ͱͷ࠷దίετͱ ͦͷલʹࢸΔ·ͰͷϙΠϯλΛ֮͑ͳ͕ΒܭࢉΛߦ͏
Chapter 5.3: HMM-Based Chord Recognition ੜ͞Εͨ༗άϥϑ ViterbiΞϧΰϦζϜͰ֤ҐஔͰɺ ֤ԻʹͨͲΓண͘·Ͱͷ࠷దίετͱ ͦͷલʹࢸΔ·ͰͷϙΠϯλΛ֮͑ͳ͕ΒܭࢉΛߦ͏
Chapter 5.3: HMM-Based Chord Recognition ੜ͞Εͨ༗άϥϑ ViterbiΞϧΰϦζϜͰ֤ҐஔͰɺ ֤ԻʹͨͲΓண͘·Ͱͷ࠷దίετͱ ͦͷલʹࢸΔ·ͰͷϙΠϯλΛ֮͑ͳ͕ΒܭࢉΛߦ͏
Chapter 5.3: HMM-Based Chord Recognition ੜ͞Εͨ༗άϥϑ ViterbiΞϧΰϦζϜͰ֤ҐஔͰɺ ֤ԻʹͨͲΓண͘·Ͱͷ࠷దίετͱ ͦͷલʹࢸΔ·ͰͷϙΠϯλΛ֮͑ͳ͕ΒܭࢉΛߦ͏
Chapter 5.3: HMM-Based Chord Recognition ࠷ޙʹɺͦͷϙΠϯλΛḷΓ࠷Β͍͠ԻਐߦΛ ٻΊΔ A := {α1
= C, α2 = G, α3 = F} ͷͱ͖ ̂ S = (C, C, C, G, G, F)