无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

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

分享到微博請遵守國家法律
乡城县| 聊城市| 星子县| 临高县| 岳阳市| 陇南市| 吉林市| 囊谦县| 本溪市| 枝江市| 赤壁市| 修水县| 桦南县| 天津市| 福海县| 南木林县| 井陉县| 西藏| 左贡县| 万山特区| 邯郸县| 同仁县| 石屏县| 湘乡市| 吉水县| 汽车| 沅江市| 朝阳市| 托克逊县| 吴堡县| 江门市| 北宁市| 察雅县| 广宗县| 全州县| 灯塔市| 启东市| 巴中市| 肃宁县| 临清市| 宁阳县|