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
52
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
100
初等確率論の基礎
kajyuuen
1
150
Deep Markov Model を数式で追う (+ Pyroでの追試)
kajyuuen
0
740
完全なアノテーションが得られない状況下での固有表現抽出
kajyuuen
3
3.2k
SecHack365 北海道会 LT
kajyuuen
0
420
専門用語抽出手法の研究と 抽出アプリケーションの開発
kajyuuen
1
1.1k
Other Decks in Research
See All in Research
出生抑制策と少子化
morimasao16
0
280
SSII2024 [OS1] 研究紹介100連発(オープンニング)
ssii
PRO
0
420
マルチモーダル学習ライブラリ Heronと⾃動運転への応⽤
yuyamaguchi
1
980
AIを前提とした体験の実現に向けて/toward_ai_based_experiences
monochromegane
1
430
SSII2024 [OS2] 大規模言語モデルとVision & Languageのこれから
ssii
PRO
5
1.3k
SSII2024 [SS1] 拡散モデルの今 〜 2024年の研究動向 〜
ssii
PRO
2
1.9k
動物倫理学ことはじめ:人間以外の動物との倫理的な付き合い方を考える
takeshit_m
0
350
DiscordにおけるキャラクターIPを活用したUGCコンテンツ生成サービスの ラピッドプロトタイピング ~国際ハッカソンでの事例研究
o_ob
0
150
MLtraq: Track your AI experiments at hyperspeed
micheda
1
170
「Goトレ」のご紹介
smartfukushilab1
0
210
DroidKaigi CfP分析
yukihiromori
0
110
機械学習を用いたポケモン対戦選出予測
fufufukakaka
1
560
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Principles of Awesome APIs and How to Build Them.
keavy
124
16k
The Illustrated Children's Guide to Kubernetes
chrisshort
39
47k
Code Review Best Practice
trishagee
58
16k
The Invisible Side of Design
smashingmag
294
50k
GraphQLとの向き合い方2022年版
quramy
36
13k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
129
32k
Designing with Data
zakiwarfel
96
5k
Fashionably flexible responsive web design (full day workshop)
malarkey
399
65k
Build The Right Thing And Hit Your Dates
maggiecrowley
28
2.2k
How GitHub (no longer) Works
holman
305
140k
Building a Scalable Design System with Sketch
lauravandoore
458
32k
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)