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
クロマベクトルって何?
Search
fkubota
March 02, 2020
Programming
1
2k
クロマベクトルって何?
クロマベクトルについて社内で発表した
fkubota
March 02, 2020
Tweet
Share
More Decks by fkubota
See All by fkubota
相対性理論の入門の入門
fkubota
0
18
データドリブンな組織の不正検知
fkubota
0
2k
JupyterNotebookでのdebug入門(サンプルは説明欄にあります)
fkubota
6
12k
ルールベース画像処理のススメ
fkubota
17
15k
Kaggle日記について
fkubota
1
2.4k
MoAコンペで気づいたこと
fkubota
1
730
鳥コンペで惨敗した話とコンペの取り組み方
fkubota
1
6.5k
生産性と戦った僕の1年の記録とツールたち
fkubota
6
6.5k
Other Decks in Programming
See All in Programming
SwiftUI Viewの責務分離
elmetal
PRO
2
270
Generating OpenAPI schema from serializers throughout the Rails stack - Kyobashi.rb #5
envek
1
380
第3回関東Kaggler会_AtCoderはKaggleの役に立つ
chettub
3
1.2k
Domain-Driven Transformation
hschwentner
2
1.9k
GoとPHPのインターフェイスの違い
shimabox
2
210
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
8
2.4k
CloudNativePGを布教したい
nnaka2992
0
110
Visual StudioのGitHub Copilotでいろいろやってみる
tomokusaba
1
210
Jakarta EE meets AI
ivargrimstad
0
350
How mixi2 Uses TiDB for SNS Scalability and Performance
kanmo
40
16k
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
260
もう僕は OpenAPI を書きたくない
sgash708
5
1.9k
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
Site-Speed That Sticks
csswizardry
4
410
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
A Philosophy of Restraint
colly
203
16k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Docker and Python
trallard
44
3.3k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
Writing Fast Ruby
sferik
628
61k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
KATA
mclloyd
29
14k
Transcript
クロマベクトル ってなに? fkubota
- 今日は音響特徴量で有名なクロマベクトルについて話しま す。 - あまりいい解説がないので自分で作ることにしました。(理解 の助けになればいいなとおもいます。)
今日 の ゴール 「以下の図を理解する!!」 よく見るよね
まずは 疑問を 列挙しましょう
なんで12個? (ドレミファソラシドは8個だよ?) 抜けてるところがあるけど、 この図は何がしたいの? うーん...
他にも - 音階って何? - 半音て何? - オクターブってなに? - ドレミファソラシドって何? うーん...
C C# D D# E F F# G G# A
A# B まずは 音階について 理解しましよう
音階の種類 平均律 純正律 & - 身近な楽器ではこっちが使わ れてる - 音階の間隔が一定なのが特徴 -
今日はこっちだけ話します - 和音が大事なオーケストラとか はこっち使う - 音階の間隔が一定ではない
平均律の前にオクターブの説明 ド ド 1オクターブあがると音の高さが 二倍になる (ピアノのド--->ドは高さ二倍(1オクターブあがる))
平均律とは 1オクターブを 12等分したもの!!
どういうこと? 図で説明しましょう。 ド ド 例えばド--->ドの1オクターブを12等分します (レ--->レでもなんでもいいです )
12等分と言っても、単純に分割するわけではなく、 隣り合う音の周波数の周波数比が以下のようになるように 分けます 基準の周波数を1として、 ド ド 1オクターブ高い (周波数2倍)
これが平均律で定義された音階!! そして半音、全音の定義は図の通り!! - 隣は半音違い - 2つ隣は全音違い 半音 全音 ドレミファは?
ドレミファソラシド ? 以下のように割り振られてます。 ド ド レ ミ ファ ソ ラ
シ 半音 - なんと、半音違いの関係にあるのは、「ミ」と「ファ」、「シ」と「ド」だけ でした。 - つまり、 - 「ファ」は「ミ」に比べて 2^(1/12) 倍高い - 「レ」は「ド」に比べて 2^(2/12)倍高い 余ったやつらは?
余ったやつらは? ピアノで考えるとわかりやすいです。 ド レ ミ ファ ソ ラ シ ド
ド ド レ ミ ファ ソ ラ シ
「ド」は何Hzなの? - 当然の疑問ですね。 - 国際基準があります。 - ピアノの鍵盤の真ん中付近にある 「ラ」を440Hz とする。 これが国際基準です。
ド レ ミ ファ ソ ラ シ ド 440Hz
「ラ」が決まれば「ド」 も決まる ド ラ 440Hz ド
ド ド レ ミ ファ ソ ラ シ 記号について C
C D E F G A B C# D# F# G# A# イタリア アメリカ
もうわかりましたね?
この図は、 「ドレミファソラシド」 を表しています ド レ ミ ファ ソ ラ シ
ド この図をクロマグラムと いいます
クロマべクトルとは... ある音に 「C C# D D# E F F# G
G# A A# B 」 がどの割合で含まれているのか? をあらわしています。 C C# D D# E F F# G G# A A# B 0.1 0.3 0.5 0.02 0.4 0.1 0.1 0.2 0.1 0.9 0.2 0.1 Aが一番多く含まれている !!
実装タイム!! https://github.com/fkubota/Lightning Talk/tree/master/009_chroma_vector /notebook/01_chromagram.ipynb
次は数式で理解しよう
クロマべクトルの計算方法 https://www.slideshare.net/akinoriito549/ss-23821928 :パワースペクトル :バンドパスフィルタ
少しずつ理解する - 例えばあるスペクトルで ド(261.6 Hz)と ラ(440 Hz) はどちらが多く含まれているか知 りたい。 -
どうする? ほしい周波数にバンドパスフィルタをかけて積分!!
ド(261.6 Hz) ラ(440 Hz) n = ド or ラ バンドパスフィルタを掛けて積分
「ラ」は1種類じゃない ラ ラ ラ ラ ラ 440 880 1760 220
110 オクターブ違いのラがある それぞれの「ラ」で バンドパスフィルタ を用意
「ラ」のバンドパスフィルタ群 n = ラ オクターブごとに バンドパスフィルタを掛けて積分
以上です!!
まだ残る疑問 - ピアノとギターの「ド」はなんで違う音に聞こえるの? - ピアノのド(261.6 Hz)のスペクトル見ると思った感じ と違うんだけど...
次回!! 音色について LTします!!
None