五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Python的字典用法 音符所占百分比 (如何用Python編寫音樂)

2021-01-23 17:25 作者:GXTon_阿通  | 我要投稿

這是一個(gè)新的坑,我打算用Python編寫一個(gè)midi生成程序,不知道自己能夠堅(jiān)持多久,看一下有沒有人看吧.目前打算是用"遺傳算法"生成midi.

今天打算講解如何利用字典,來實(shí)現(xiàn)音符出現(xiàn)概率的統(tǒng)計(jì).

也就是一首曲子中,某個(gè)音符出現(xiàn)的百分比.

這部分打算用字典實(shí)現(xiàn).


字典是Python中的一個(gè)數(shù)據(jù)結(jié)構(gòu).

比如, 一個(gè)人的成績,? 語文:90 數(shù)學(xué):70 英語:60

那么就可以用字典來表示.表示方法如下:

dic={"Chinese":90,"Math":70,"English":60}

如上面這樣,一個(gè)成績的字典dic就建立好了.

"Chinese" "Math" "English" 這些叫做字典的"鍵"

90 70 60這些叫做字典的"值"

通過"鍵"可以訪問"值"

比如dic["English"] 它的結(jié)果就是60;


與上面類似,我們需要知道一個(gè)音符在整首曲子中用到了多少次,或所占的百分比.

也可以用字典實(shí)現(xiàn).

一個(gè)音符在Python程序中,就是一個(gè)數(shù)字而已,一首曲子在Python程序中就是一個(gè)數(shù)字序列.

比如 song=[1,2,3,4,? 1,2,3,4,? 1,2,3,4,? 1] 就可以在Python中代表一首曲子啦.當(dāng)然真是情況可能不會(huì)這么簡單.

目前就用這個(gè)序列做個(gè)實(shí)驗(yàn)吧.

我們要統(tǒng)計(jì)一首曲子song序列中各個(gè)音符:1,2,3,4,分別出現(xiàn)了多少次,然后所占百分比也就可以求出來了.

1,2,3,4就是字典的"鍵"? ,至于字典的"值"就是出現(xiàn)的次數(shù),需要我們統(tǒng)計(jì).

輸出的結(jié)果

我們可以看到,最終

1:4? ?->1這個(gè)音符出現(xiàn)了4次

2:3? ?->2這個(gè)音符出現(xiàn)了3次

3:3? ?->3這個(gè)音符出現(xiàn)了3次

4:3? ?->4這個(gè)音符出現(xiàn)了3次

完全符合我們的預(yù)期,當(dāng)然也可以用其他的方式.(不一定要用字典的...)


這樣輸出來的字典并不是很直觀,于是我想到了用圖片表示它,這里用餅狀圖吧.

溫馨提示一下:如果你想寫一個(gè)大工程,就要有規(guī)劃,上面是數(shù)據(jù)分析,生成字典.可以放到一個(gè).py文件中.畫圖就不屬于數(shù)據(jù)處理了,可以重新建立一個(gè).py文件,用于專門編寫一些生成圖片的函數(shù).(比如餅狀圖,折線圖,曲線圖,柱狀圖...都可以放到繪圖.py文件中,有利于模塊化的管理)


下面我新建立了一個(gè)文件:DY_plot_0.py 名字可以隨便起的.它的作用就是,里面編寫了各種各樣的繪圖函數(shù),然后,某個(gè)時(shí)候要繪圖時(shí),可以調(diào)用這個(gè)文件.

先添加一些頭文件:在DY_plot_0.py文件中.

然后編寫一個(gè)繪制餅狀圖的函數(shù):

然后就可以繪圖了.

然后運(yùn)行一下:

就會(huì)把字典:

1:4? ?->1這個(gè)音符出現(xiàn)了4次

2:3? ?->2這個(gè)音符出現(xiàn)了3次

3:3? ?->3這個(gè)音符出現(xiàn)了3次

4:3? ?->4這個(gè)音符出現(xiàn)了3次

轉(zhuǎn)換成更加直觀的圖片了:

餅狀圖會(huì)自動(dòng)轉(zhuǎn)換成所占百分比

我希望自己能夠堅(jiān)持下去,用Python實(shí)現(xiàn)一個(gè)midi文件,前方路還很遠(yuǎn),只能在假期去做.自己還有很多音樂的知識(shí)不是很懂.希望大家支持 :-)

Python的字典用法 音符所占百分比 (如何用Python編寫音樂)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
贵溪市| 淳安县| 抚顺市| 永春县| 财经| 达州市| 通河县| 成都市| 类乌齐县| 杭锦后旗| 涡阳县| 靖宇县| 高州市| 仁布县| 汽车| 板桥市| 阿图什市| 郑州市| 临沧市| 屯昌县| 唐河县| 综艺| 大悟县| 东山县| 西昌市| 隆德县| 通城县| 普格县| 手游| 佛坪县| 呼玛县| 仙桃市| 林芝县| 赤水市| 盐边县| 金沙县| 石城县| 乌兰察布市| 济阳县| 怀远县| 澄江县|