Play Sound using Virtual MIDI Piano Keyboard

其實主要步驟只要照著 Compdigitec Labs 的這篇 Virtual MIDI Keyboard In Ubuntu 作即可.

不過實際上在我的系統上有些微的不同. 因為對整個 Sound System 不熟悉, 沒有辦法理解是怎麼回事, 姑且記下來當作 "這樣設定也可以" 看吧.

先記一下安裝的部份, 共需要 ( Package Name 以 Mandriva 2010.1 上的為準 ) :

1. qjackctl ( JACK Audio Connection Kit )
2. zynaddsubfx ( ZynAddSubFx )
3. vmpk ( Virtual MIDI Piano Keyboard )

其中 vmpk 是要作為虛擬 MIDI 鍵盤的主介面. 雖然後來發現 ZynAddSubFx 也有虛擬鍵盤介面, 但是變更 Keyboard Map 設定跟其他各種設定上, 感覺 vmpk 比 ZynAddSubFx 來的方便.

而 qjackctl 是 Connection 控制器, 負責把 vmpk 作為前端介面, 輸出的 MIDI 資料導引到 ZynAddSubFx, 再到實體的音效硬體/音效卡作播出. 因為 vmpk 本身其實就是單純的虛擬鍵盤子系統, 因此到實際播出前需要 Synthesizer 幫忙處理合成. ZynAddSubFx 在這裡就當作 Synthesizer 使用.

接著作 limits.conf 設定,

sudo su -c 'echo @audio - rtprio 99 >> /etc/security/limits.conf'
sudo su -c 'echo @audio - memlock 250000 >> /etc/security/limits.conf'
sudo su -c 'echo @audio - nice -10 >> /etc/security/limits.conf'

把系統 reboot 後重新開啟 qjackctl, 並利用 "Start" 按鈕開啟 JACK server ( jackd ). 這時候如果遇到開啟失敗的訊息, 請利用 Messages 按鈕看錯誤訊息. 如果是 server 啟動失敗, 請把 ALSA 重新啟動試試看. ( alsa command 的位置可能根據系統有所不同 )

sudo su -c '/etc/init.d/alsa force-reload'

啟動沒問題的話, 開啟 ZynaddSubFx 以及 vmpk, 然後利用 Connect 按鈕設定上面說的, 從 vmpk 到 ZynaddSubFx 再到音效裝置的 Connections.

照 Compdigitec Labs 的文章中之示範, 音效卡代號應該會出現在 ALSA 分頁中, 但是我的沒有 ^^b, 所以先只有把 vmpk 的 Output 接到 ZynaddSubFx. 接上的方法很簡單, 用滑鼠把 vmpk Output 拉到 ZynaddSubFx 上放開即可.


而 ZynaddSubFx 到音效裝置間的連結, 則是改在 Audio 頁面中搞定. 其中 playback 1 是左聲道, playback2 是右聲道, 其他的在我系統中無作用.


這樣設定完就 OK 了~, 把視窗 Focus 移到 vmpk 上面, 對應的鍵盤按下去就可以看到琴鍵變化, 以及發出 MIDI 音效. 在 ZynaddSubFx 視窗中也會有對應的變化.


其實當焦點移到 ZynaddSubFx 上也是可以有同樣的反應. 不過如上所述 vmpk 較占優勢的理由, 本篇還是以 vmpk 作為 Front-End 為主.

6 意見:

jean zheng 提到...

Dear selain. 你的blog 是用什麼tool 來寫的呢? 只是好奇 想知道貼圖容不容易 因為我最近有找到一個 但是不適合小nb(tool bar 畫面太多) 所以想問你 說不定它像vim一樣會有windows版本

seLain 提到...
作者已經移除這則留言。
seLain 提到...

是小毛阿, 我還以為是誰 = =

我只有使用 blogger 的後台直接撰寫而已, 沒有使用額外的編輯器 (偶爾用 Kompozer 協助修正一些 HTML 編排). 事實上我試過一些支援 blogger 的編輯器, 但是都不是很順手, 加上我慣用 Linux Desktop, 只支援 Windows 的也不合用. 目前這個 blog 還只需要簡單的文字上色跟置圖, 倒也還過得去就是. 您有好的工具也請推薦一下 :)

林柏瑋 提到...

請問您是如何開啟Zynth的? 我下載後解壓縮到檔案夾,裡頭只有那個dll,可以請您告訴我要用哪個程式開嗎? 我試過把副檔名改成.exe,結果執行它時,它說這不是正確的Win32應用程式......開啟Jack Connection Kit的時候也常有錯誤出現...它的錯誤訊息是06:55:55.029 Patchbay deactivated.
06:55:55.029 Statistics reset.
06:55:55.039 Startup script...
06:55:55.039 artsshell -q terminate
06:55:55.490 Startup script terminated with exit status=1.
06:55:55.490 JACK is starting...
06:55:55.490 jackd.exe -R -dalsa -dhw:0 -r48000 -p1024 -n3
06:55:55.510 JACK was started with PID=18244160.
06:55:55.560 JACK was stopped with exit status=-1.
06:55:55.560 Post-shutdown script...
06:55:55.560 killall jackd
06:55:55.560 JACK has crashed.
06:55:56.010 Post-shutdown script terminated with exit status=1.
06:55:57.743 Could not connect to JACK server as client. - Overall operation failed. - Server communication error. Please check the messages window for more info.
可以煩請您告訴敝人問題出在哪裡嗎?
VMPK倒是很容易用...... 煩請先見指教,十分感謝!

seLain 提到...

先暫回一下...因為我的使用環境不是 Windows, 沒有遇到你這問題. 手邊沒有立即有 Windows 機器可以測試, 晚點有空再幫你試試看...

daijongaddis 提到...

Play Casinos Near Me | JtmHub
Here's where you can find the 나주 출장샵 best slots, table games and video poker machines. 안성 출장안마 The best casino 원주 출장마사지 sites include Realtime Gaming, 군산 출장안마 PlayMGM 군포 출장마사지 and

Designed by Posicionamiento Web | Modified by seLain | Bloggerized by GosuBlogger | Blue Business Blogger