2006/04/12

如何在 Linux 上面使用 software midi

前言



下面的文件是介紹如何在 Linux 上面使用 software midi,

以 Gentoo Linux 做為介紹平台,如有說明失誤遺漏,

還請直接反應給筆者。

參考連結



http://www.gentoo.org/doc/zh_tw/alsa-guide.xml#alsa-utilities

筆者介紹



(¯(∞)¯) 最近剛從 B2D Debian 轉玩 Gentoo

下面的內容 Debian User 在 "emerge" 可以試著使用 "apt-get install" 代換

"emerge -s " 可以使用 "apt-cache search" 代換

內容



在 Linux 上面要玩 midi ,當然還是得先把音效卡打開啊。

打開音效卡的方法:



1. 玩 Kernel 開 option :

/* 我的 Kernel 是 2.6.15-gentoo-r1 */

genkernel all --menuconfig

(required: genkernel, gentoo-source)

Device Driver -> Sound -> Sound Card Support (*)

Advanced Linux Sound Architechure (m)

Open Sound System ( )

/* 應該是這樣,不過我失敗了,所以這邊還得再確認一下。 */

2. 用 alsa-driver (這應該是比較輕鬆的方法,但跟上面的方法是互斥

emerge alsa-driver

alsaconf (一路 enter 到底)

Linux 上面要玩 midi 要有 sequencer 的裝置。



sequencer 可以有硬體的,跟 software 摸擬的。

剛好我的是 AC97 這塊晶片,(可以用 lspci 來看)

00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM
(ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)

就是這麼剛好,沒有硬體支援。 ╯-____-)╯~�╩����╩�~

/* 如果有的話,可以使用 playmidi , muse 等程式來 playmidi */

那... 怎麼辦呢? 總不能就這樣放棄吧?

還有 software 可以模擬咩:

我用的是 timidity++ 這個軟體,

emerge -s timidity

可以找出 timidity 相關的套件,後面兩個是 timidity 的音色檔。

[ Results for search key : timidity ]
[ Applications found : 3 ]

* media-sound/timidity++
License: GPL-2

* media-sound/timidity-eawpatches
License: as-is

* media-sound/timidity-shompatches
License: as-is

/* Great, 我現在才看到音色檔不是 GPL... */

接著裝起來,再指定一下音色就可以使用了,

操作如下:

emerge timidity++ imidity-eawpatches timidity-shompatches

/*
[ebuild R ] media-sound/timidity++-2.13.2 +X +alsa +arts -emacs +esd
+gtk -jack +motif -nas +oss -portaudio -slang -tcltk +vorbis 0 kB
*/

指定音色檔



rm -fr ~/.timidity (刪掉過去的 config 比較快)

timidity-update -g -s shompatches


嘗試正常播放 MIDI



google "007.mid"

找到: http://www.hihi.com/midi/007.mid

借用一下來測試:

timidity 007.mid

應該看到

timidity 007.MID

Requested buffer size 32768, fragment size 8192
ALSA pcm 'default' set buffer size 60208, period size 7524 bytes
Playing 007.MID
MIDI file: 007.MID
Format: 1 Tracks: 21 Divisions: 192
Sequence: untitled
Track name: 1st Alto
Track name: 2nd Alto
Track name: 1st Tenor
Track name: 2nd Tenor
Track name: Baritone
Track name: 1st Trumpet
Track name: 2nd Trumpet
Track name: 3rd Trumpet
Track name: 4th Trumpet
Track name: 1st Trombone
Track name: 2nd Trombone
Track name: 3rd Trombone
Track name: 4th Trombone
Track name: Guitar
Track name: Bass
Track name: Piano-Left
Track name: Piano-Right
Track name: Prim. Drums
Track name: Sec. Drums
Track name: Opt. Hi-Hat
/* \(^▽^)/ 有聲音了 ~~ */
Terminated sig=0x02 (我按 ctrl + c 來停止播放)

安裝 Mozilla/Firefox plugin



需要 mozplugger

emerge mozplugger

找到它的 mozplugger.so 再做連結到 firefox/mozilla 底下

ln -s /opt/netscape/nsbrowser/plugins/mozplugger.so /usr/local/firefox/plugins/mozplugger.so

重開 firefox 後,到 firefox 確認一下:

Edit -> Downloads -> Download & Actions -> View & Edit Actions

看一下有沒有 mozplugger

有的話就萬歲了~~ 沒有的話可以先確認一下 mozplugger.so 有沒有正確 ln 到。

安裝 xmms-midi 可以使用 xmms 來播放



這個蠻簡單的,就先 emerge xmms-midi 再在 xmms 的

Option -> Preference -> Audio I/O Plugins 裡頭查看一下有沒有

"Timidity Player 0.01 [libmid.so] "的存在,就可以知道有沒有正常安裝。

Mplay 播放支援



這個得靠 xmms 來幫忙,才能順利播放 midi

在 configure 時加入 --enable-xmms

(我只加入這個就可以,應該是因為我的 xmms 在 /usr/lib 裡了)


以上肉肉長的介紹,謝謝您的收看。

沒有留言:

[Windows] git-bash 底下的工具

因為工作轉到 Windows 平台上的關係,所以很多工具改到 Windows 上面運作,跟著在 TortoiseGit 底下使用 git-bash 來維護自己的專案原始碼。結果就是裝了前面提過的 auto-hotkey 使用熱鍵來提昇自己的平台操作速度; 但除了 hotkey...