12/20
tony 從midi檔案中抓出每小節的音符組成完成
比如說
舉例來說:
M1 = 1 1 5 5 6 6 5 5 à N1 = [ 1 5 6 ]
M2 = 1 5 3 6 5 6 6 7 à N2 = [ 1 3 5 6 7 ]
M3 = 5 4 4 6 2 2 5 5 à N3 = [ 2 4 5 6 ]
M4 = 1 5 6 6 6 5 1 1 à N4 = [ 1 5 6 ]
Mx 代表不同的小節,Nx代表其音符組合,所以處理過之後,變可以知道這首歌的音符組成。
Jeff data training and DP
就是我會吃兩個矩陣
一個叫做observ[i][j]代表當某小節的音符組成是xxx時 是某和弦的機率
第一維會吃所有在某小節可能組成的音符 像是[1,3,5]、[1,2]第二維會吃所有的和弦數
出來會是一個像這樣的東西
某小節的音符組成 [1,3,5] [1,2] [1,4] . . .和弦 C [ 20% 50% ] C# [ 30% . ] D [ 10% . ] D# [ . . ] . [ . . ] . [ . ] . [ . ]
每行加起來會是一 裡頭的%是機率
第二個矩陣transit[i][j]
要計算若前一小節為X和絃的話,那下一節和絃為Y和絃的機率將為何。
格式如下:
和弦 C C# D D# .和弦 C [ 20% 50% ] C# [ 30% . ] D [ 10% . ] D# [ . . ] . [ . . ] . [ . ] . [ . ]
代表某和弦到另一和弦的機率 每"列"加起來會是一
這樣有問題嗎 看的懂嗎 看不懂趕快問我喔!
第一個矩陣不一定是方陣喔 因為和絃數跟小節內音符組成數不一定一樣但第二個一定是方陣 因為和弦數=和絃數
所以要注意一下啦
但因為矩陣都是數字編號
所以你可能要給我一個對應表
像是observ的第一維的對應表:0: [1,3,5]1: [1,2]...
第二維對應表:0: C1: C#2: D3: D#...
沒有留言:
張貼留言