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

歡迎光臨散文網(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文件的評論 (共 條)

分享到微博請遵守國家法律
玉门市| 武安市| 贡嘎县| 崇礼县| 绿春县| 长顺县| 龙泉市| 广东省| 谷城县| 新竹县| 罗定市| 旺苍县| 丰原市| 山东| 大连市| 青神县| 贵定县| 桐城市| 黔东| 栖霞市| 成武县| 佛山市| 嘉兴市| 兴仁县| 石家庄市| 定陶县| 诸城市| 云霄县| 蒙山县| 开化县| 丹阳市| 曲沃县| 石景山区| 佛坪县| 法库县| 城固县| 海丰县| 谢通门县| 土默特右旗| 万山特区| 吴堡县|