最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

Python生成音樂 之 mido庫讀取midi文件

2021-01-24 12:44 作者:GXTon_阿通  | 我要投稿

midi文件記錄的是一系列的彈奏動作.

比如一首鋼琴曲的midi文件:里面就是記錄了彈奏鋼琴曲的按鍵按下和松開等操作,并且記錄了按鍵按下的時長,聲音大小,樂器種類等參數(shù).

midi文件的后綴是mid:

midi音樂文件

然后midi音樂文件可以用下面的軟件打開,這個軟件是一個免費的軟件:

打開之后的效果:

也可以用下面軟件打開:(這個軟件也是免費的,可以查看曲子的五線譜或者簡譜之類的)

下載midi文件可以用這個網(wǎng)站:(這個網(wǎng)站定期會發(fā)積分,可以下載一些midi文件,也算免費吧)

如果你想用程序去編寫midi文件,最好下載一些簡單的文件,最好是單一的鋼琴曲...

上面是準備條件,下面開始說一下Python3的程序問題:

有點亂,我粘貼一張圖片吧:

其中有一個:enumerate的函數(shù),

它的作用呢就是給一個序列中每個元素都進行編號,可以參考下圖:

運行上面的程序,就會輸出midi文件中每個音軌中包含了什么,也就是輸出音軌中包含的彈奏動作. 運行結(jié)果:

我們找到圖中: 倒數(shù)第四行.(這里實際上是音樂的開始,從倒數(shù)第四行看才有些價值)

從程序中運行的圖片,可以看出,都是一條一條的信息,

每條信息都代表了對鋼琴按鍵的一次操作.

比如:note_on channel=0 note=64 velocity=40 time=0

分別代表了: 按下,0號樂器,音階是64,音量是40,開始時間是0

(這里的時間是相對的,是相對于上一個動作,而不是相對于第一個音符的動作.)

下面是同一首曲子? 程序運行結(jié)果,及,軟件打開后的結(jié)果 進行比對:

可以找到一些規(guī)律:

1,每一個音都有對應的note_on和note_off組合.

2.time時間不是絕對的,是相對的.(是本次動作相對于上一次的動作)

3.如果要同時按下兩個琴鍵,就需要連續(xù)寫兩個note_on,然后連續(xù)寫兩個note_off.

Python生成音樂 之 mido庫讀取midi文件的評論 (共 條)

分享到微博請遵守國家法律
兖州市| 高平市| 东乡族自治县| 磐安县| 扎赉特旗| 凌源市| 汽车| 常德市| 天津市| 类乌齐县| 涪陵区| 汉川市| 二连浩特市| 浮山县| 神农架林区| 宝丰县| 昌乐县| 乐山市| 唐河县| 淮北市| 十堰市| 永定县| 普洱| 砚山县| 交城县| 石景山区| 日喀则市| 龙岩市| 元氏县| 明光市| 宁城县| 永善县| 宝鸡市| 德州市| 昆明市| 临洮县| 安化县| 女性| 平江县| 赤城县| 荥经县|