Linux amidi音樂聆聽的實現(xiàn)步驟
對于Windows用戶來說,聽midi從來不是什么問題,幾乎所有主流的媒體播放器都可以直接支持midi文件的讀取和合成。那是因為windows自帶了midi合成器的緣故,雖然效果不怎么樣(很多人甚至因此而以為midi音樂的效果也就是這樣了……),但至少能聽。而且XP中所自帶的Roland 合成器的效果也還聽得過去。
在Linux下,想聽Linux amidi就沒那么方便了,因為缺乏Linux amidi的相關(guān)知識,很多人甚至都不知道自己需要的是什么,到底是合成器?還是播放器?又或者是midi編輯軟件?
盡管Linux系統(tǒng)幾乎都沒有自帶midi合成器/采樣器,但是在Linux下要播放midi音樂其實也不難,因為在Linux下不僅同樣有著許多專業(yè)級的midi合成器軟件,也有兩個著名的大眾級軟件:Timidity和FluidSynth。
Timidity 通常指的是Timidity++,是一個相當出色且易用的合成器/采樣器/播放器,還具有幾種不錯的播放界面以及簡單的配置文件。由于它甚至已經(jīng)自帶了一個比較簡陋的音色庫,安裝好后就已經(jīng)可以直接播放了。相關(guān)的配置方法在網(wǎng)上已經(jīng)有很多,隨便google一下就可以找到一大把,這里就不再詳述了。
FluidSynth從名字就可以看出,這是一個單純的合成器/采樣器,我們還需要另外安裝播放器來播放midi音樂。雖然不如timidity那么簡單,但是fluidsynth在資源占用上要比timidity要少,即使是低配置的機器也不容易出現(xiàn)卡的情況。
首先,我使用的ubuntu linux上默認并沒有加載序列器模塊(用lsmod命令查看),這樣幾乎所有的midi相關(guān)程序都是無法正常運行的??梢允褂靡韵旅钍謩蛹虞d:
sudo modprobe snd-seq-oss
需要每次啟動自動加載的話,只需修改文件/etc/modules,在其中加入snd_seq_oss一行即可。
現(xiàn)在,我們需要安裝FluidSynth及其GUI配置前端QSynth了。安裝完成后,啟動qsynth
左邊的按鈕是引擎控制按鈕,右邊的則是功能選擇按鈕。左邊的旋鈕是主音量增益,中間的旋鈕控制回響音效,右邊的旋鈕控制混響音效。
由于fluidsynth并沒有自帶音色庫(Soundfont),我們需要另外下載。目前比較常用的有國內(nèi)的“短歌行”62M音色庫和Fluid R2或R3版音色庫。后者適合內(nèi)存容量比較大的機器使用。
將下載回來的文件解壓后(可能需要額外的音色庫解壓軟件)得到sf2格式的音色庫文件,放在不含中文名字的路徑下。
現(xiàn)在需要用qsynth來配置引擎及加載音色庫了。點擊左下角的[setup...]按鈕,MIDI標簽頁中,確保勾選了Enable Midi Input并選擇了合適的驅(qū)動(一般alsa-seq即可),否則后面會找不到midi輸入接口。在Audio標簽頁中,根據(jù)個人情況選擇音頻驅(qū)動即可,推薦使用jack,用alsa也是可以的。
在Soundfonts中,點擊[open...]來加載sf2音色庫文件。
最后,點擊[OK]并確認重啟Fluidsynth即可。
如果一切正常,各個旋鈕都可以進入可用狀態(tài),這時我們的合成器/采樣器和音色庫就配置完成了。下面來安裝播放器吧,我使用KDE,這里就選用kmid吧。
安裝好kmid后,在主菜單中選擇[設(shè)置]->[MIDI設(shè)置],在midi設(shè)備中選擇帶有"Fluid"的那一項,確定。
現(xiàn)在試著打開一個midi文件,播放看看……哈哈,有聲音了。嗯,qsynth的界面似乎有點煩人,那么點擊面板上的[Options...]按鈕打開設(shè)置面板,勾選Enable system tray icon一項,確定。然后再關(guān)閉消息窗口,關(guān)閉主窗口。現(xiàn)在,qsynth只呆在右下角的系統(tǒng)托盤上了。在播放音樂的時候,這個圖標還會根據(jù)節(jié)奏閃爍噢!
如何?很簡單吧?
不過很遺憾,這種解決方案目前還存在一些小問題,使用時應(yīng)該注意以下幾點:
首先,在我的ubuntu上,播放midi經(jīng)常導(dǎo)致系統(tǒng)死鎖,原因暫時不明;
其次,選擇fluidsynth對alsa輸出時,可能會造成cpu占用率一直100%的現(xiàn)象,這是fluidsynth的一個bug,解決方法是:1.使用Jack輸出;2.在Setup->Audio標簽頁中,把Audio Device一項填上hw:0,不過這樣就聽不到其他程序的聲音了……
【編輯推薦】