Next Previous Contents

2. 在你開始之前

2.1 簡介

這份文件試著幫助你在 Linux 系統上安裝以及使用 Creative Labs 的 Sound Blaster AWE 32 或 Sound Blaster AWE 64 。我所用的系統是 Debian GNU/Linux 系統,在一台Intel i586 電腦平台上,它應該可在其他的 Linux 供應商版以及其他支援 Linux 音效驅動程式的平台上, (如果有不同處,我會把它們提出來)。

記得要仔細閱讀 Linux Sound HOWTO (請看 Additional Information章節)。我只是補充 Sount HOWTO 不足的地方而已, 有些資訊我會請你再去閱讀 Sound HOWTO,這兒不再贅述。

2.2 關於 SB AWE 卡的一般常識

SB AWE 32 音效卡提供了陽春的音效設備、標準 OPL-2/OPL-3 合成器、 MPU-401 MIDI 埠以及有 32 voices 的 EMU 8000 Wave Table 合成器。 (想進一步了解這些術語的 意思請看Linux Sound HOWTO)。這份文件的目標是要協助你使用及發揮這些功能。

SB AWE 64 除了相容於 SB AWE 32 之外,還增加了一個連Creative Labs 公司都特別 感到驕傲的 Wave Guide 合成器。 Linux 使用者所面臨的一個問題是, 新增加的 32 模擬聲音是由軟體所產生再經由陽春的聲波設備來輸出的。因為 Creative Labs 以為 在 Linux 的驅動程式上並沒有市場可言,所以才只提供 Windows 3.1 及 Windows 95 的驅動程式而已。

這意味著,從 Linux 使用者的觀點看來,SB AWE 32 和 SB AWE 64 大家都曉得, 下面開始除非兩者有不同處的比較外,我將以 SB AWE 來代表兩者。

2.3 關於 Plug & Play 卡卡的一般常識

最近配合 Intel 平台的介面卡都是 ISA PnP 卡,簡稱為 ``Plug and Play''。 也就是說,這些卡必須由作業系統來建構,這需要在啟動系統時做一個初始化的程序。 一般來說,至少有三種不同的方法可以達成這個:

  1. 你有 PnP Bios,意指你的 BIOS 會自動察覺 PnP 卡並且建構它們。如果你以為你有 PnP BIOS 所以你可以發揮你的 SB AWE PnP 的長才的話,很不幸的,門都沒有。 就算 BIOS 有支援 PnP 卡,它也只能初始化時將你的音效卡所使用埠及位址做個小設定而已。 也許你可以撥放一些基本的音波資料,但無法撥放 MIDI 音效,這是個例子。因此, 有無 PnP Bios 都無所謂,由你自己決定。
  2. 你有個支援 PnP 卡的作業系統。目前穩定的 Linux 核心程式 (2.0.x) 還不這個樣子, 因此,我們得等未來的新版本,它們將支援 PnP 設備。
  3. 你有個特別的程式會在啟動系統時執行,它會初始化你的 PnP 卡。我們就是這麼辦到的。

在 Linux �堻戔`被使用來初始化 PnP 卡的程式是 ``isapnptools'' (請看 Sources 以及 Getting Started)。它們提供了可預測的方式來建構你的機器�堛漫狾� ISA PnP 卡,並不僅只音效卡而已哦。

2.4 關於可載入式核心程式模組的一般常識

有些設備驅動程式可以被做成模組,而不必將它們編譯到核心程式�媕Y。 你可以 在 Kernel HOWTO 及 Module HOWTO �塈鋮嚆鰫騧珩晡爾穈T。(請看 Additional Information).

如果你有 PnP 卡,你 必須 將音效卡支援成一個可載入式核心驅動程式模組。 也就是說,你不能將音效驅動程式建立在核心程式�媕Y,而將它做作一個模組,這樣 就能在核心程式執行時被載入。這是因為核心程式會在你的 ISA PnP 卡被建構前就 被安裝了,而你的音效驅動程式必須在 ISA PnP 建構後才會被載入。

音效核心程式模組可以使用 insmod sound 或 modprobe -a sound 或在你的 Linux 系統�堛漪蛫麊滷珧囥R令手稿的方式來啟動。 (在 Debian,增加一行包含 sound 到 /etc/modules的命令就夠了)。 接下來,執行 kerneld,它是一個可以安裝或移除核心程式模組的精靈。

記得 kerneld 並不是在 AWE 音效驅動程式模組上最好的解決方案,因為核心程式載入這個 模組也要花時間,特別是如果你要使用 Wave Table 命成器來載入大的 Sound Font bank 時, 你就必須在每一次插入模組時再載入一次。 因為 核心程式 會在設定內定值後約一分鐘將不需要的 模組給移除,所以以手動方式或在啟動時將音效模組插入可能會較好些。 還有,這麼做還可以預防 核心程式 在進入空閒下來時移除它。你可以 在同時間�奡﹞J音效模組並且使用 核心程式 。兩種方法不會互相排斥,但是 模心程式 就不再管音效模組了。

特別是你的混音器若是在移除或重安裝模組時會受到干擾的話特別有效。 這部份的解決方案可在 Mixing章節�塈鋮魽C (它在敘述如何在音效模組被插入時自動啟動你的混音器。)。然而,它要 核心程式 花時間來載入模組,來載入 sound font bank 並啟動你的混音器, 因為這樣以及其他的理由,最好在啟動系統時即安裝音效模組,不要讓 核心程式 移除它。

2.5 關於核心程式音效驅動程式的一般常識

你可以在核心程式中安裝音效支援成內建的或是個可載入式模組。如果是 PnP 卡,你必須 將音效支援安裝成模組,因為 PnP 卡需要在模組被安裝前使用 isapnptoo來初始它。

如你所想,你必須重編譯核心程式。下面我會給你幾個提示。現在,我們來談談核心原始程式 �媢麰筑蘆漱銧屆C 在核心程式�埵陪荍K費 (精簡版) 的 OSS (USS) 音效驅動程式版本, 最新的 (3.5.4) 版並不完成支援 SB AWE ,但是支援部份 SB 16 。所以,你可以使用它 你就可使用單純的聲音設備以及 OPL-2/OPL-3 合成器。但你卻無法使用 Wave Table合成器來 撥放 midi 檔。

如果你要使用 Wave Table 設備,你可以從 4Front Technologies 買個商業版的音效驅動程式 (如果有人可以跟我確認它真的可以的話 ),或是用 Takashi Iwai的 AWE 32 Sound Driver Extension 來修補你的核心程式。前面那部份並不在本文件所談的範圍, 我假設你想使用後者。

這個 AWE32 Sound Driver Extension (請看 Sources這章節) 在 GNU 版權下提供讓 SB AWE 卡的 EMU 8000 wave 合成器變成可用的工具。

而 awedrv 軟體已經被包含到新的核心原始程式樹�� (從一些 2.1.x 核心程式開始,也許你想升級你 所使用的舊的模心程式樹)。


Next Previous Contents