使用midi介面製作類比電鋼琴

來源:互聯網
上載者:User

既然是做電腦音樂,一些電腦知識是必不可少的,對二進位熟悉的程式員可以跳過這一部分。

常用十六進位與十進位對照表

   

並非是記住這些,而是對這些常用的數有所熟悉,在看別人的程式的時候不要不知道這些數是做什麼的就行了。

MIDI檔案有很多資訊構成的指令。一些資訊,只由1位元組構成,有些有些有2個位元組,還有一些由3個位元組構成,還有由很多位元組構成。

所有的資訊有一點是共同的,那就是第一個位元組的資訊是狀態。狀態位元組的0x80到0xef是可以在16個MIDI通道的任何一個出現的資訊。正因為如此,這些是所謂的聲音資訊。這些狀態位元組有8位位元,可以把8個二進位位分成兩個
4位,即一個高位和一個低位 。例如,一個狀態位元組的0x92可細分成9 (高位 )和2 (低位 ) 。高位告訴你是什麼類型的MIDI資訊,低位說明資訊操作的MIDI通道序號。以下是所有可能的高位值,每個代表的聲音資訊類型:下面具體解釋一下上面的術語(參考百度百科)停止發聲類別:聲音
目的
指出要應該停止的音。
0x80到0x8f而低位是MIDI通道。
資料
後續兩個資料位元組。
第一個資料是音符號碼。有128個音符,對MIDI裝置,編號為0至127(其中,中央C是60號)。
第二個資料位元組是速度,一個從0到127的值。這表明,應該多麼迅速地停止發聲(其中127是最快的)。

開始發聲
類別:聲音
目的
指出要發出的聲音。
狀態位元組
0x90到0x9f而低位是MIDI通道。
資料
後續兩個資料位元組
注意
在理論上,每個音符最終應由各自的停止發聲資訊終了。

輪指
類別:聲音
目的
對已經發出的聲音連續再彈。
狀態位元組
0xa0到0xaf而低位是MIDI通道。
資料
後續兩個資料位元組。
第一個資料是音符代號。有128可能的音符,對MIDI裝置,編號為0至127個(其中中央C音符代號是60)。
第二個資料位元組是音量的值,從0到127(其中127是強音) 。
注意

控制器改變
類別:聲音
目的
設定了一個特定控制器的值。狀態位元組
0xb0 ,到0xbf而低位是MIDI通道。
資料
後續兩個資料位元組。
第一個資料是控制器的號碼( 0到127)。
第二個資料位元組的值是控制器應設定的值,從0到127 。

改變音色
類別:聲音
狀態位元組
0xc0,到0xcf而低位是MIDI通道。
資料
一個資料位元組。這是樂器編號,從0到127 。
注意
對MIDI音色 ,定義了一套標準,以便更加相容。這個規範是所謂的通用MIDI標準。

通道演奏壓力
類別:聲音
狀態位元組
0xd0到0xdf而低位是MIDI通道。
資料
一個資料位元組,值從0到127 (其中127是最響) 。

音高
類別:聲音
狀態位元組
0xe0到0xef而低位是MIDI通道。
資料
後續兩個資料位元組。這兩個位元組應結合在一起,形成一個14位值。

系統專用資訊
類別:系統公用
目的
用來傳送一些資料,這是具體到一個MIDI裝置。此外, sysex可能被用來傳遞資訊,就是特定的裝置。
狀態位元組
開始於0xf0 。結束於0xf7。
資料
可以有任何數量的資料位元組。知道如何控制midi器件後還需要一些表格來支援這些命令。1.音色表格:http://blog.csdn.net/jia_zhengshen/article/details/8777194 音色表格主要是介紹個中樂器的代碼。例如鋼琴,吉他,槍聲等的代號。2控制器表格:http://blog.csdn.net/jia_zhengshen/article/details/8777836  這個主要是用來調節音量,調節平衡控制的等等。在調節音樂的優美程度很有用。3.midi音符代碼錶:http://blog.csdn.net/jia_zhengshen/article/details/8778457   可以確定要演奏的是鋼琴還是吉他了,可以調節音量了,還差什麼呢?你的鋼琴不會就一個鍵吧!猜對了,這張表就是選擇你按下的是哪個音符的,當然了,如果想知道按下的是哪個鍵還得參考琴鍵的分布了。連結地址為http://blog.csdn.net/jia_zhengshen/article/details/8778637。至此,如果你完整的讀完了我的博文,你就可以自己製作個在電腦上類比的鋼琴了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.