安裝 90 年代的 Roland YAMAHA 軟體音源器到 Windows 10 上,聆聽 MIDI 音樂還可以搭配 DOSBox 玩懷舊遊戲





進入 2021 年,不知道有多少人像我一樣還會去玩 90 年代的遊戲,甚至為了這些遊戲當年最好的音樂表現,所以想盡辦法弄來當年的音源器呢?只是要弄一台音源器回來雖然已經不貴,但是外觀老舊不說,裡面的零件是否就像風中殘燭般的隨時會損壞也不知道,所以我想要把這幾年觀看國外大神們使用的一些方法,整理給大家參考,目的就是讓大家在現在 Windows 10 x64 的環境下能夠順利的使用各種軟體音源來重現當年的音樂,並且方便搭配 DOSBox 這樣的 DOS 遊戲最佳化環境去體驗那些需要 MIDI 來幫忙的遊戲。

看影片快速瞭解我想要帶來的體驗效果

本文不算是短,快速從頭拉到尾速讀一遍大概也不知道在幹嘛,所以,不妨先來看看影片。如果影片看完有興趣,再繼續往下看囉!也請不吝對影片按讚、分享、訂閱、開啟小鈴鐺~幫我衝一下 YouTube 頻道的訂閱人數吧!我發現新目標就是要一千人後才有機會在影片角落加上文章連結啊!

 

目前適用於DOS遊戲的軟體音源器

以下介紹三款目前能夠安裝在 Windows 10 下的軟體音源,而且他們都是適合 DOS 遊戲使用的。

Munt VSTi

Roland MT-32 於 1987 年上市,MT-32/CM-32L 在 DOS 遊戲史上的地位不用我多說,但 Roland 官方從未有任何正式的軟體音源或模擬器,所以網路上的 MT-32/CM-32L 模擬器是靠各方大神用逆向工程做出來的模擬器,經過這麼多年的發展改進,現在以 Munt 為首的模擬效果應該可以說是很完美了:

munt

只是這次我們會專注在 Munt 的 VSTi 分支版本。

如果你對上圖這個 MT-32 Emulator 有興趣,請自行下載安裝,本文就不多著墨了。它會在你的系統中產生一個可獨立使用的虛擬 MIDI 裝置,並且它是唯一能夠完整顯示 MT-32 面板訊息的模擬器。

Roland SoundCanvas VA

1996 年 Roland 推出了令人驚喜的 VSC-55 軟體音源,可惜模擬效果只能說是差強人意,所幸這幾年 Roland 一直都有推陳出新,現在 Windows 10 直接就有原廠的 Roland SoundCanvas VA 可以用,是能夠重現 Roland SC-55 這類 General MIDI / Roland GS 的最佳軟體音源了,而且畢竟是原廠出品,品質掛保證。

前幾年還有 Roland SoundCanvas for iOS,可惜這款 APP 已經收攤歇業了!不然拿台中古的 iPhone 或 iPad 安裝起來是可以做為 Windows 的外接音源器來使用。而且 iOS 版的費用比 Windows 版的 SoundCanvas VA 要便宜不少,對有需要使用的人來說其實很值得購買。

YAMAHA S-YXG50 VSTi

1997 年 YAMAHA S-YXG50 橫空出世,推出時搭配的音色檔只有 2MB 的容量,對應的硬體機種  (MU10 / DB50XG 等) 是 4MB 的容量,可想而知 S-YXG50 的音色是有較多失真的,聽起來與硬體音源有著明顯差距。之後在 2001 年改版,這時候內附了 4MB 的音色檔,聽起來也就與對應的硬體音源完全一致了。2003 年以這個版本的 S-YXG50 推出了 VSTi 試用版,每次聽 30 秒就會刻意靜音,至今都未曾推出過正式版。最後各路軟體大神紛紛幫 S-YXG50 VSTi 予以各種續命延壽的手段,所以現在 S-YXG50 VSTi 可以順利在 Windows 10 下使用,包括了對試用版的破解、波形表的事先解密可加速載入速度等。

軟體下載處

Munt VSTiMunt VSTi 官網下載處,並且需要額外下載 BIOS(CONTROL) 與音色檔(PCM),下載點(Google Drive)

下載後不需要安裝,裡面會有 x86 與 x64 兩種版本的 .DLL 檔,不能當作獨立軟體音源使用,需搭配 VSTi 環境才能發出聲音。

Roland SoundCanvas VARoland Cloud台灣 Roland 官網

截至 2021.09.28,台灣官網仍然可以下載得到 SoundCanvas VA 的獨立試用檔,不過我建議走現在 Roland 希望的路線:透過 Roland Cloud Manager 來下載並且付費註冊成正式版。Roland Cloud Manager 本身免費,是裡面一大堆的軟體音源要你買斷(Lifetime)或者月租。以 SoundCanvas VA 來說付費購買後會是這樣的畫面:

Roland Cloud Manager SoundCanvas VA

安裝後會有 x86 與 x64 兩種版本的 .DLL 檔,以 Windows 環境來說會分別在 C:\Program Files (x86)\Roland\Sound Canvas VA\SOUND Canvas VA.dll 與 C:\Program Files\Roland\Sound Canvas VA\SOUND Canvas VA.dll,不能當作獨立軟體音源使用,需搭配 VSTi 環境才能發出聲音。

未付費註冊的 Roland SoundCanvas VA 每次僅能使用 10 分鐘,做為試用版足夠了。若喜歡且需要長時間使用就請付費 69 美金註冊囉!這已經有降價了,我幾年前是用 125 美金購買的呀!註冊後可透過 Roland Account 管理頁面可以隨時 刪除/註冊 最多 5 台電腦。

YAMAHA S-YXG50 VSTi民間修改過的版本下載處

下載後不需要安裝,只會得到一個 .DLL 檔,不能當作獨立軟體音源使用,需搭配 VSTi 環境才能發出聲音。

我想要介紹的運作模式

有了上述的軟體音源器,大家一定有注意到需要 VSTi (Virtual Studio Technology Instrument) 環境,這是 1996 年由 steinberg 提出的數位樂器介面,在 Windows 與 MacOS 上都有,後來逐漸成為主流至今。VSTi 的軟體音源器不能直接使用,而是要透過支援 VSTi 的軟體環境去套用,所以要生出 VSTi 環境來使用這些軟體音源就是接下來要處理的事情,在此隆重介紹這個必備的軟體就是 Soundfont Midi Player (點此前往官網下載 x86 版,原因後述),以下簡稱 Midi Player。

這款軟體的名字蠻路人的,所以上網搜尋 midi player 會找到一大堆不是他的網頁。為什麼要這款軟體呢?除了因為它原生就支援 VSTi 的軟體音源外,故名思義,它也支援 Soundfont 音色,本身還是一個 MIDI 播放器,更神奇的是透過它,可以讓 VSTi 音源間接的成為可獨立使用的軟體音源器,也就可以被 DOSBox 調用,是不是很強大!

而且,搭配 Midi Player 的配置組態可以個別存檔的特性,就能夠在 Midi Player 內快速的於下面 5 種模式切換:

Roland CM-32L (Munt VSTi)
Roland MT-32 (Munt VSTi)
Roland SoundCanvas VA
YAMAHA S-YXG50 VSTi
Soundfont

如果你不願意花錢購買貴貴的 Roland SoundCanvas VA 的話,Midi Player 的網頁也提供了一個品質相當不錯、播放效果某些時候還挺像 Roland GS/GM 音源器的 34MB 版 soundfont 檔,掛載上去也是可以部分解決想要聽到 General MIDI 聲音的需求。

結論:以 Midi Player 來當做 MIDI 音源器的基地,可以快速切換各種 VSTi 的軟體音源,還可以調用 Soundfont 音色庫,全部都在 Midi Player 中做切換,這樣集中管理會方便很多。

如果你是想要聆聽 MIDI 檔…

下載安裝上述軟體音源器,再安裝 Midi Player 後進行適當的配置,最後用 Midi Player 來播放 .mid 檔案就很完美了。

如果你是想要玩 DOSBox 時可以有 MIDI 音樂…

那麼除了要先做到上述可以聆聽 MIDI 檔的環境,再加上安裝一個 loopMIDI 的虛擬 MIDI In 裝置後,DOSBox 就可以與 Midi Player 對接播放了。

環境準備與配置

以下稍微講解這些軟體的配置步驟,我不會做 step by step 的一步一步教學,只會講解一個大概,我相信會對這些有興趣的朋友應該都已經有一定程度的 Windows 操作能力了。

DOSBox-loopMIDI-Soundfont-Midi-Player

注意:Soundfont Midi Player 與所有的 VSTi 都要使用 x86 版本!

VSTi 是調用 .DLL 檔,前後程式都必須是一致的環境,而 YAMAHA S-YXG50 只有 x86 版,所以為了遷就它,雖然其他程式與 VSTi 都有 x64 版,但請都不要去使用喔!

Roland SoundCanvas VA 與 Midi Player 都需要安裝後才能使用,請參考前面提供的官網去下載回來,按照預設安裝好即可。其他所有的 VSTi 以及 MT-32/CM-32L 的 CONTROL / PCM音色 檔都不需要安裝,為了方便解說與使用,我全部都放在一起,參考如下:

MIDI-VSTi

如果你覺得到處下載還要抽絲剝繭的把這些檔案湊在一起很麻煩,那麼能夠看到這裡的人就有福了,因為我要偷偷的供應懶人包檔…我已經將這三個框框中的檔案全部打包在一起,點此下載,你只要把這些檔案放在你硬碟中的某個資料夾下,你自己方便取用即可。

請先安裝好 Midi Player 再進行以下步驟。

Soundfont 配置

這個是最單純的。

midiplayer

在上圖步驟3把你自己多年珍藏的 Soundfont 音色檔,或者前面提到的 34MB 版的 Soundfont 音色檔掛上去,就完成設定了,這樣 Midi Player 就可以正常的播放一般 General MIDI 的音樂,大部分的情況下都還蠻好聽的。

回到 Midi Player 主畫面,再點選左上角☰,這次選擇 Configuration Presets:

midiplayer

我們要將目前的 Soundfont 整個配置儲存下來,以後就可以方便切換了,名字您自訂就好,我則是用了 34MB SoundFont 這樣的名稱。

midiplayer

Munt VSTi – Roland CM-32L 配置 (推薦)

midiplayer

上圖中,先勾選 Soundfonts/VST 然後就 OK,回到 Midi Player 主畫面後點選左上角的按鈕:

midiplayer

按照上圖順序點選到 VST Instrument 畫面打開以下視窗,點選 File 然後選擇之前下載回來的 Munt VSTi x86 主檔 MuntVsti.dll,注意不要選成另外那兩個 mt32 開頭的檔案了,但是他們必須與 MuntVsti.dll 放在同一個資料夾下:

midiplayer

回到 VST Instrument 視窗,點選▶啟動 Munt:

midiplayer

會出現 Munt 的控制面板,此時請點選 Munt/ROM Setup 按鈕,並且配置 Control ROM 與 PCM ROM:

midiplayer

注意:上述配置 Control 與 PCM 檔案的視窗很容易被 VST Instrument 的視窗給遮住,造成假性的無法操作現象,建議此時可以按下 ALT-TAB 來快速脫困,視窗就正常了。

點選 OK 回來後有看到 Munt 出現綠色那行字就表示配置成功了,最後請按下 Save 鍵:

midiplayer

隨便你取什麼名字都好,這個 save 的作用是儲存下來你剛才配置的 CONTROL 與 PCM,搭配一開始就要你勾選的 Autoload at Startup 和 Autoload Last Used Settings File 的這兩個選項後,就做好了將來可以快速切換音源器種累的準備了。

midiplayer

最後回到 Midi Player 主畫面,再點選左上角☰,選擇 Configuration Presets 將目前的組態儲存起來:

midiplayer_config_cm32l

Munt VSTi – Roland MT-32 配置 (非必要)

看到前面 CM-32L 的配置,依樣畫葫蘆就可以配置出 MT-32,只是 MT-32 有兩個 control ROM,任選其中一個就可以:

midiplayer_munt

點選 OK 回來後有看到 Munt 出現綠色那行字就表示配置成功了,最後請按下 Save 鍵:

回到 Munt 控制面板可以看到綠色一行字寫著 MT-32 Control 這樣的字就沒問題了。

midiplayer_munt

記得上圖中的右上角要按下 Save 把組態儲存起來,方便以後快速切換用。

midiplayer_munt

最後回到 Midi Player 主畫面,再點選左上角☰,選擇 Configuration Presets 將目前的組態儲存起來:

midiplayer_config_mt32

Roland SoundCanvas VA 配置

請參考前面 MT-32 的配置步驟,直到要選擇 VSTi DLL 檔時,要切換到 SoundCanvas VA 安裝的 x86 版路徑:

C:\Program Files (x86)\Vstplugins\Roland\Sound Canvas VA\SOUND Canvas VA.dll

midiplayer soundcanvas va

SoundCanvas VA 預設啟動時都是 SC-8820 模式,點選 OPTION 按鈕將 Map Mode 切換到 SC-55 這樣就能最正確的表現 DOS 遊戲下的音樂。我還喜歡按下 PART 來觀看每個 channel 使用的樂器名稱和因量大小等資訊。

最後回到 Midi Player 主畫面,再點選左上角☰,選擇 Configuration Presets 將目前的組態儲存起來:

midiplayer soundcanvas va

順便一提關於註冊版的相關訊息。如果沒有付費註冊的話,每次僅能使用 SoundCanvas VA 10 分鐘,14 天後會完全無法使用。我自己是真的有付費註冊的合法用戶:

midiplayer soundcanvas va

midiplayer soundcanvas va

YAMAHA S-YXG50 配置

參考前面 MT-32 的配置,依樣畫葫蘆就可以配置出 YAMAHA S-YXG50,也就是選取 syxg50.dll 這個檔案就完成了,參考以下:

midiplayer syxg50

由於 YAMAHA S-YXG50 的 SETUP 裡面沒有什麼東西需要調整,按照預設即可使用,所以其實針對 S-YXG50 來說不需要勾選 Autoload Last Used Settings File,也不用儲存這個狀態。

最後回到 Midi Player 主畫面,再點選左上角☰,選擇 Configuration Presets 將目前的組態儲存起來:

midiplayer config syxg50

用 CM-32L 不就完整涵蓋 MT-32 的功能了嗎?

是的,就發聲能力來說,CM-32L 涵蓋完整的 MT-32,並且多了幾個 MT-32 沒有的特殊音效,有一些遊戲是會用到這些音色,若你是配置成 MT-32 模式就聽不到啦!所以其實只需要配置 CM-32L 模式就夠用了,無須多準備一個 MT-32 模式。

我是為了講解的完整性,所以多介紹了 MT-32 的配置,

為什麼有的音源器配置需要在不同的地方各儲存一次組態?

在 Midi Player 左上角☰點選出來的 Configuration Preset,這裡儲存的組態是:Midi Player 要使用哪一個 SoundFont 音色檔,或者是哪一個 VSTi 模組。我介紹了 5 種組態,就會有 5 個存檔。將來就是用這裡快速切換不同的音源模組,如果你有更多的 SoundFont 想要快速切換掛載,也是利用此處來儲存不同的 SoundFont 配置。

在 VSTi instrument 畫面右上角的 save,則是針對 Munt VSTi 中因為還需要額外配置 CONTROL ROM 與 PCM ROM,以及 SoundCanvas VA 每次啟用後自動切換到 SC-55 模式,所以這裡記錄的是這個 VSTi 模組的額外配置。像是 YAMAHA S-YXG50 沒有什麼需要調整的地方,所以可以不用再儲存 VSTi 的組態,也就不用勾選 Autoload Last Used Settings File。

使用 Midi Player 聆聽 .MID 檔

方法很簡單,把你手邊的 .MID 檔拖曳到 Midi Player 中放開就可以播放了。

透過 Midi Player 主畫面左上角點選出 Configuration Presets 後可以快速切換不同的音源器,方便你測試不同音源器的效果。

快速切換不同的軟體音源

剛才的步驟中都有提醒要幫每一個配置做儲存,這樣就能利用 Configuration Presets… 這裡快速切換。

但,還可以有更快的切換法嗎?例如,我想要在桌面上建立捷徑,每一個捷徑點下去就是直接以某個軟體音源器搭配 Midi Player 一起啟動,這可以做到嗎?有的喔!到你安裝 Midi Player 的路徑下,找 Preset 資料夾,可以發現剛才步驟中的存檔都在這裡,接著把這些檔名的尾碼添加三位數字的序號,例如這樣:

Midi Player Presets

然後可以先用命令列測試一下效果,例如:

midiplayer /preset 5

這樣就會在啟動 Midi Player 時一併載入編號5的那個設定檔,以我的環境來說就是會一併啟用 YAMAHA S-YXG50,是不是很方便?

測試沒問題的話你就可以自行製作捷徑來快速啟動軟體音源器了,步驟我就不在這邊說囉!

用 DOSBox 玩懷舊遊戲時也能使用剛才配置的所有音源器

請參考剛才看過的這張圖:

DOSBox loopMIDI Soundfont Midi Player

在前面的教學中,我們完成了上圖中從使用者出發後的左下角路線,現在我們要來完成使用者右邊那條路線。

為什麼要使用 loopMIDI?

因為在 DOSBox 的模擬環境中需要使用 MIDI (port 330H) 時,背後實際是需要呼叫標準 Windiows MIDI 裝置,但是我們前面在 Midi Player 上努力了這麼多,他們卻都不是一個標準的 Windows MIDI 裝置,無法直接被 DOSBox 調用,甚為可惜。那怎麼辦呢?其實 Midi Player 裡面有一個 MIDI In 的功能,可以接收外部 MIDI 訊號來播放音樂,那麼剩下的問題就是,DOSBox 與 Midi Player 之間還少一個標準的 MIDI 橋樑,這就是 loopMIDI 的作用了。

附帶一提,DOSBox 也具備直接掛載 SoundFont 的能力,但是如此一來就會造成 MIDI 環境切換上的混亂與不便,所以我才想要透過 Midi Player 一統這所有的軟體音源與 SoundFont。

下載安裝配置 loopMIDI

請至 loopMIDI 的官網下載 loopMIDI。(點此下載)

下載安裝好後,Windows 右下角會出現 loopMIDI 的圖案:

loopmidi

按右鍵選擇 Configure loopMIDI:

loopmidi

點選左下角的 + 按鈕就好:

loopmidi

這樣就完成 loopMIDI 的配置了,實際是在 Windows 系統中產生了一個虛擬 MIDI 裝置,這個虛擬裝置就是把 MIDI In 給導向到 MIDI Out,如此就可以對接 DOSBox 與 Midi Player 了。

DOSBox 的配置

執行 DOSBox,在其 DOS 環境內執行:

mixer /listmidi

DOSBox

看一下剛才 loopMIDI 產生的 MIDI 設備代號是什麼。以我的環境為例,我的 loopMIDI Port 是 6 號。

注意1,您的畫面不會與我一樣,您不一定是6號

注意2,上圖中的 MT-32 Synth Emulator 是因為我的環境中還有安裝本文一開始提到的 Munt,我有強調那個模擬器不是本文的重點。您如果沒有安裝 Munt 模擬器的話,就不會在 MIDI 列表中看到 MT-32 Synth Emulator。

接著,打開您的 DOSBox 的 configuration 檔進行編輯。這個檔案的位置隨著您的 DOSBox 版本會有所不同,請自行尋找。

找到 DOSBox 配置文件中的這個段落:

[midi]
#
#
#
mididevice = auto
midiconfig = 
mpu401 = intelligent

把 midiconfig = 這後面打上剛才找到的號碼,以我的環境來說就是改成這樣:

midiconfig = 6

這樣就完成 DOSBox 這邊的配置了。請重開 DOSBox,只要是在遊戲中選用 MIDI 設備,訊號就會傳到 loopMIDI 上了。

Midi Player 的配置

按下 Midi Player 的齒輪圖案來配置:

midiplayer midi in

在 Midi In 段落,將 Active 給勾選起來,並且 Input Port 選擇 loopMIDI Port:

midiplayer midi in

注意:您的環境中應該不會與我的圖完全一樣,我系統上還有接一個實體的 USB MIDI 4×4 的裝置,所以會有那四個選項。

接著一旁的 Channel,請選擇 Don’t follow 或 Follow 都可以,但如果選擇了 Override 就沒聲音啦!

midiplayer midi in

這樣就完成配置,您只要把 Midi Player 開在一旁準備好您要使用的軟體音源,接著打開 DOSBox 在遊戲中選擇 MIDI 音樂輸出,那麼 Midi Player 就會被 DOSBox 拿來做為 MIDI 音樂輸出裝置了。

 



您可能也會喜歡…

2 個回應

  1. jiannlin表示:

    滿滿收穫!尤其是可以使用 MIDIPlayer 播放MIDI音樂,完整的說明及資料的提供,少了許多摸索收集的時間!

  2. 匿名訪客表示:

    非常詳細的說明,又可以回味以前收集的MIDI檔,太棒了!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

:D 
:) 
:( 
:| 
(H) 
:P 
:$ 
:\ 
*-) 
;) 
:-.-: 
:!: 
:S 
:!!: 
[B01] 
[B02] 
[B03] 
[B04] 
[B05] 
[B06] 
[B07] 
[B08] 
[B09] 
[B10] 
[B11] 
[B12] 
[B13] 
[B14] 
[XP] 
:XD 
(Y) 
(N) 
:-O 
:@ 
8o| 
:-# 
(L) 
(U) 
^o) 
|-)