GM軟體音源 in Windows 7 64bit

MT-32有非官方的DOSBox支援可以模擬, 那一般的GM呢? 目前在64bit上目前沒有可以正常安裝的軟體音源器, 而微軟內建的音色檔(gm.dls)又無法滿足, 一般來說有三種方法可以在64bit上解決:

1. 修改gm.dls, 難度不高, 但要修改到系統原本的檔案, 總是有點擔心是否對系統有影響.
2. 強制安裝XP時代的軟體音源器, 雖然有部分軟體可以順利安裝, 但是否對系統有什麼影響不知道.
3. 利用虛擬MIDI裝置, 讓MIDI在應用程式內做傳遞, 簡單來說, 就是把DOSBox的MIDI輸出, 導入到其他軟體音源播放器中播放.

我想第三種方式應該是對系統影響最小的, 虛擬MIDI裝置, 目前有64bit版的LoopMIDI可以使用, 軟體音源播放器可以用TiMidity++, 也能在64bit系統上使用, 唯一可能的影響就是電腦速度能不能快速處理而不延遲了, 因此以下就重點介紹第三種方法的使用方式.

免費的虛擬MIDI裝置(支援64bit):
LoopMIDI(推薦使用, 個人使用無限制, 目前還沒遇到問題) : http://www.tobias-erichsen.de/loopMIDI.html
LoopBe1 (個人使用無限制, 但只有能有一個虛擬裝置, 搭配DOSBox有些遊戲會發生問題):http://nerds.de/en/loopbe1.html

安裝都很簡單, Loopbe1安裝完就能使用, LoopMIDI安裝完後記得新增一個裝置, 若想知道有沒有新增裝置成功, XP直接控制台內的"聲音及音訊裝置"就可看到, Windows 7無法直接觀看, 但可以透過下面工具觀看.

virtualKeys(小工具, 並可測試輸出, 不影響系統設定) : http://www.tobias-erichsen.de/virtualKeys.html
Putzlowitschs Vista MIDI-Mapper(可更改系統內定MIDI設定, 請小心使用) : http://akkordwechsel.de/15-windows-vista-und-der-midi-mapper/



軟體音源播放器:
TiMidity++ (免安裝, 沒註明是否支援64bit, 但使用起來沒問題, 音色檔需額外下載) : http://timidity.sourceforge.net/

音色檔案(支援副檔名.sf2, 選擇其中一個下載就可以了):
RealFont(推薦使用, 但要用sfArk轉成sf2格式使用) : http://pages.infinit.net/mikev/realfont.htm 這裡是已經轉好sf2可直接使用的檔案 http://www.multiupload.com/SPJODO688I
All in One XG GM GS Sound Font : http://www.kmlinux.tk/html/dev-party/aiomdsf/517.html
Shan's Soundfont : http://www.geocities.jp/shansoundfont/

放上同一個MIDI檔案的聲音比較, 你可以自行下載, 裡面有一個MIDI檔案和三個wav檔, 您可以先播放MIDI檔案, 聽聽看您現在電腦的效果, 再播放我用這三種音色錄製的wav檔案, 聽看看哪種比較適合.
http://www.multiupload.com/NI13GPX8OS

sfArk轉sf2的程式:
sfArk SoundFont Compression : http://www.melodymachine.com/sfark.htm

TiMidity++解壓縮後有兩個檔案是未來可能要使用的
timw32g.exe: 播放器介面, 直接後可以用來播放midi檔案, 聽聽音色是否滿意, 也可以用來把MIDI轉成wav檔案
twsyng.exe: 位於twsynth目錄下, 可以當成沒有播放器介面的背景播放器, 所以設定會多出一頁Synthesizer設定, 用來指定MIDI port, 可接收虛擬裝置所發送的MIDI訊號


我個人的檔案路徑配置如下:
TiMidity++: C:\TiMidity\
RealFont: C:\TiMidity\songfonts\RealFont\
All in One XG GM GS Sound Fon: C:\TiMidity\songfonts\Allin1\
Shan's Soundfont: C:\TiMidity\songfonts\Shan

我個人的音色配置檔TIMIDITY.CFG (內容簡單, 請根據搭配的音色檔案自行修改) http://www.multiupload.com/X1ZHEQ08AI

我的TiMidity++各種設定如下圖(紅色字體較重要, 其他不改也可以):

D-Fend Reloaded內的設定



最後在遊戲內的設定中, 音樂選擇用GM(General MIDI), 應該就沒問題了, 若想要確認, 可以在有音樂背景時, 把Timidity++關閉, 如果背景音樂不再播放, 就代表目前的設定輸出沒問題.


推薦閱讀: 軟體音源器歷史介紹(大陸用語較多) http://hi.baidu.com/quantoubao/blog/item/fdf09f372ff4ec360a55a925.html