幾年前我對音樂產生了興趣,想自己做一個鋼琴軟件。
研究發現windows提供了播放midi的api,而且midi文件是一般播放器都能播放、結構簡單、易編輯、體積小的格式。
之后我用C#/WinForm做了個軟件。
【MIDI彩虹鋼琴】是【鍵盤鋼琴(128+61+N種樂器、可錄制)】、【midi播放器(可倒播)】、【midi編輯制作(4種方式)】、【自動作曲】於一身的免費軟件。
下載地址:https://pan.baidu.com/s/1ElbdIKthrr1kNprFOOWvug
運行環境:
需要winXP及以上版本的windows操作系統
如果運行不了,就需要下載並安裝.net framework任意版本
1、如果想做一個簡單的鋼琴軟件,可以調用windows目錄C:\Windows\System32\winmm.dll的midiOut系列api,即可發出鋼琴、吉他、笛子、鳥叫聲等一百多種音色,
做得好的話可以播放編輯.mid后綴的文件。
2、C:\Windows\System32\drivers\gm.dls是Windows的軟波表,由Hubbe64MB.sf2轉換而來,可以自己制作或下載其它軟波表,重命名為gm.dls,然后直接替換它,達到替換MIDI音色的目的。
直接安裝XG波表,也可以。
也可以自制簡單音色庫,需要自己去錄制聲音文件,再根據軟件的說明操作,軟件自帶鋼琴和古箏音色庫
3、.mid后綴的文件,雖然大部分播放器都能播放,但很多解析得不完美,導致聽不到主旋律,國外的midi作品比較多是這種情況,
如果你有一些mid文件,應該是很好聽的,但結果很呵呵,那建議你試一下其它更專業的播放器,用我這個軟件也行。
4、我這個軟件主要分享給midi愛好者,軟件自帶使用說明,有問題可以找我,
如果你想知道軟件里面的一些實現,你可以用ILSpy反編譯成源碼,即可看到邏輯,
不直接開源是因為源碼我還要用,我到不想維護時會開源,近期不要期待。
使用方法下期介紹,待續...
下面分享一些寫得比較好的開源的midi播放器
http://www.codeproject.com/Articles/6228/C-MIDI-Toolkit
http://www.codeproject.com/Articles/36313/MIDI-Star
http://www.codeproject.com/Articles/141617/WPF-Midi-Band
下面分享一些比較好的midi網站
http://josh.agarrado.net/music/anime/
下面分享一個比較好的鋼琴曲網站