歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> 關於Unix >> SoundBlasterAWE32/64HOWTO如何在Linux設定聲卡

SoundBlasterAWE32/64HOWTO如何在Linux設定聲卡

日期:2017/3/6 15:40:33   编辑:關於Unix
作者: Marcus Brinkmann [email protected] 譯者: 謝昆中 HSIEH Kun-Chung, ( [email protected] ) v1.2版, 1998年 1月11日 -------------------------------------------------------------------------------- 本文件在敘述如 作者: Marcus Brinkmann < [email protected]>
譯者: 謝昆中 HSIEH Kun-Chung, ( [email protected] )

v1.2版, 1998年 1月11日 


--------------------------------------------------------------------------------
本文件在敘述如何安裝及建構 Sound Blaster 32 (SB AWE 32, SB AWE 64) 音效卡以及使用由 Takashi Iwai 所寫的 AWE Sound Driver Extension的 Creative Labs音效卡。它還包含一些給 SB AWE 系統所用特殊的工具以及撥放器。我使用的是Debian GNU/Linux 系統,但是其他的任何一種 Linux 供應商版本皆可以運作。 
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

1. 簡介

這是 Sound Blaster AWE HOWTO,它給你有關於如何發揮你的 Sound Blaster 32的詳細資訊,包含 Wave Table synthesis。這份文件含蓋所有的 SB 卡,包含 SB 32。 

在 DOS 或 Windows 的世界□, Sound Blaster 系統已是個家喻戶曉的名稱,而且有很多的 Linux 使用者也想要在 Linux 下使用他們。不幸的是, Creative Labs 只提供在 Windows 以及 DOS 下的音效驅動程式,所以在 Linux 下安裝 SB 卡變成不是件小事了。這份文件試著來敘述我們如何在 Linux 的環境下使用 SB AWE 系列。 


1.1 感謝 

這份文件中我所□集的資訊來自於 AWE Driver FAQ 以及 ISA PnP FAQ。請看 Sources 這些文件的作者以及位置。謝謝所有的作者,才能有今天 SB AWE 的支援。 

有很多基本工作已由 Hannu Savolainen做好了,他開發了與 Linux 核心程式相隨的音效驅動程式。謝謝您。 

我想謝謝 Nicola Bernardelli 他測試了 AWE64 的相關功能。沒有他,有很多的錯誤可能還存留而未被發現。 

謝謝 SGML Tools 這份套件,這份 HOWTO 文件可以有很多種文件格式,而且只需使用一種格式就可以來做轉換。 


1.2 改版歷史 



版本 1.0
首版 

版本 1.1
修改拼字後(謝謝 Curt!),增訂給 isapnp的需求,現在可以經由 sunsite 以及它的映射站取得 

版本 1.2
法文版已經出爐了!,只做少許的修正,修訂了很多拼字 (感謝 ispell) 




1.3 本文件的新版本 

最新的版本可以在我的首頁□找到 Sound Blaster AWE HOWTO。 

這份文件的新版本會被上載到許多 FTP 站上,包含 ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/mini。 

這份文件的超本文版以及其他的 Linux HOWTO 文件都可在許多的 WWW 站□找到,像 http://sunsite.unc.edu/LDP/。許多的 Linux CD-ROM 供應商版□也都會有 HOWTO 文件,通常是放在 /usr/doc 目錄下。 

感謝 Arnaud Launay [email protected],這份文件的法文版才能誕生! 最新的版本可以由 http 或 anonymous ftp取得。 

如果你要翻譯這份文件到你的語言,請讓我知道,我會加入一份它的參考連結。 

譯注:這份文件的中文版可在 http://www.linux.org.tw/LCDP/下取得。 


1.4 回應 

我仰賴你,各位讀者,來讓這份 HOWTO 變得有用。如果你有任何的建議,更正或指教請讓我知道 [email protected],我會將它整合到下一版本□。 

我特別歡迎關於其他有外的 Linux 供應版本的啟動程序 (啟動命令手稿..等)例如 Red Hat 或 SuSE Linux。 

如果你將這份文件出版到 CD-ROM 或其他形式,如果可以給我一份免費樣品我會很感激你。請你將他寄到我的郵政地址。還有,您可考慮捐錢給 Linux 文件計畫來協助我們為 Linux 做免費的文件。請您連絡 Linux HOWTO 連絡人 Tim Bynum [email protected]。 


1.5 散布政策 

版本 1997 Marcus Brinkmann 

這個 HOWTO 是份免費文件;你可以在免費軟體基本會 (Free Software Foundation) 的 GNU 一般公用執照的條件(第二版或更新的版本)下來提供或修改它。 

這份文件的散布是希望它能能有用處,但 不做任何保證( 甚至任何暗示的保證) 可銷售的 或 適合特別目地的。詳情請看 GNU 一般公用執照。 

你可以寫信到 Free Software Foundation, 來取得一份 GNU 一般公用執照。 地址 Inc., 675 Mass Ave, Cambridge, MA 02139 USA。 




--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

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'。也就是說,這些卡必須由作業系統來建構,這需要在啟動系統時做一個初始化的程序。一般來說,至少有三種不同的方法可以達成這個: 


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



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

有些設備驅動程式可以被做成模組,而不必將它們編譯到核心程式□頭。 你可以在 Kernel HOWTO 及 Module HOWTO □找到關於模組的資訊。(請看 Additional Information). 

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

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

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

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



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

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

如你所想,你必須重編譯核心程式。下面我會給你幾個提示。現在,我們來談談核心原始程式 □對音效的支援。 在核心程式□有個免費 (精簡版) 的 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 核心程式開始,也許你想升級你所使用的舊的模心程式樹)。 




--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

3. 如何安裝 SB AWE 音效支援


3.1 你需要的東東 

在 Linux 下使用 SB AWE 需要下列東東哦: 


一個可使用的 Linux 系統 (例如 Debian GNU/Linux 版), 
一個 SB AWE 32 或相容卡 (如 SB32, SB32 PnP, SB AWE64, ...), 
Linux 核心程式的原始程式,包含音效驅動程式 OSS/Free (正常都會附,請查看 /usr/src/Linux/drivers/sound/Readme), 
還有 AWE 32 sound driver extensions. 
如果你有個 PnP 卡,你還需要: 


isapnptools 軟體套件。 
請看有關於如何取得這些程式的章節 Sources。 

如果你有 Debian GNU/Linux 系統,那你需要 kernel-source-, awe-drv 套件,也許還需要 isapnptools這個,雖然並不需要但你可能想要一些 awe-* 套件,我強烈建議你采用 kernel-package 會更容易編譯及安裝核心程式。 



3.2 開始吧 ! 

假設你已經正確地安裝好音效卡到你的電腦的主機板上而且也在 DOS 以及 Windows環境上試過了。 

然後,如果它是一張 PnP 卡的話我們必須在開機啟動時初始化一下。請按照原始檔套件的文件所說地去編譯以及安裝 isapnptools (或只需使用 Debian 的二進位碼套件),然後以 root 的身份執行 


# pnpdump > /etc/isapnp.conf


這樣會產生一個為你的 PnP 卡量身訂做的建構,但它會把所有的設備都注解起來。請再小心地修改這個檔案,如果可能的話並比較 DMA頻道、IO、插斷等等的設定是否與它在 DOS 或 WINDOW 環境下不一樣 (在 Win95 □,要看被介面卡所使用的資源可在 設備管理員下的 資源 看)。如果你遇到問題,請小心地讀一下和isapnptools 放一起的文件。 

請注意: isapnptools 常無法偵測 SB AWE Wave Table 設備的三個 I/O 埠。請查明你的 isapnp.conf 內的 WaveTable 項目 against the example at the end of this HOWTO. 如果需要的話調整一下 I/O base 位址。 


注意: 根據e isapnp-faq,有時候 isapnp 會無法得知邏輯設備的數目。如果你遭遇到像下面的錯誤訊息: 


Error oclearcase/" target="_blank" >ccurred executing request 'LD 2' on or around line...

那試看看加入 (VERIFYLD N) 到 isapnp.conf的上頭。你必須使用至少是 1.10 版的才能這麽做。如果你無法使用 1.10 或是更新的版本。你也可以自已直接手動改邏輯設備的數量。請情請參考 isapnp-faq 。如果還是無法克服,請和我連絡 (應該有人也會對 isapnp 有興趣吧,我想)。 

小心: 請確認最後那行是 (WAITFORKEY),有時候較舊的 pnpdump 版本會刪除它。 

在文件的後面有一個isapnp.conf 給單個 PnP 音效卡用的樣本。 (請看章節 Sample isapnp.conf)。 

如果你是用 Debian 系統就不用再做任何的其他調整。 /etc/init.d/boot 加上下面的命令手稿下,你就可以在開機時啟動isapnp 


--------------------------------------------------------------------------------

# Configure the isa plug and play boards before loading
# modules. Need to do this before loading modules to get
# a chance of configuring and starting PnP boards before
# the drivers mess all this up.
#
if [ -x /etc/init.d/isapnp ]
then
  /etc/init.d/isapnp start
fi


--------------------------------------------------------------------------------
where /etc/init.d/isapnp is 
--------------------------------------------------------------------------------

#! /bin/sh
# /etc/init.d/isapnp: configure Plug and Play boards
test -x /sbin/isapnp || exit 0
/sbin/isapnp /etc/isapnp.conf
exit 0


--------------------------------------------------------------------------------

如果你有其他的 Linux 供應商版本,你就要自已來了。我也不知道怎麽做 (有誰願意提供更多的資訊嗎?)。只要記得 isapnp 必須在所有模組被載入 之前 就被載入了 (請看下面)。 



3.3 編譯核心程式 

在編譯核心程式之前,你必須有 AWE Driver Extension 套件來給音效驅動程式使用。就算你的核心原始程式目錄□已經有 awedrv 延伸套件了 (請檢查 /drivers/sound/lowlevel/ 看看),你可能想要升級 awedrv 軟體。依照安裝在 awedrv 原始目錄□的指示。簡單地說,你必須執行一個修補核心原始程式的安裝命令手稿。 

請小心你已經在執行完安裝命令手稿後已經升級了核心原始程式了。這個命令手稿只是在檢查看看一些特定檔案是否已經有了,如果有了,它不會有任何需要的修補動作。你升級核心原始程式後在執行命令手稿前會被建議將 drivers/sound/lowlevel/awe_wav.c 檔案移除。 

接下來你必須建構核心程式來支援音效。我希望你知道怎麽來編譯核心程式;詳情請參考 Sound HOWTO 以及 Kernel HOWTO。到核心原始程式的目錄□, (例如 /usr/src/linux) 然後執行 


# make config

或是 make menuconfig 或 make xconfig。然後用標准的方式來建構你的核心程式。 利用這個機會來做個體積又小又強而有力的核心程式,特別是為你的系統量身訂做的。記得在回答 Enable loadable module support 是選 Y,如果你想把音效驅動程式安裝成可載入式模組的話 (如果你用的是 PnP 卡的話就 必須這麽做) ,但我知道你也會這麽做吧! 

你會在有個地方被問到是否需要音效卡支援。如果你沒有 PnP卡的話你可以自由回答 Y 或 M ,如果你要做成模組的話而且是 PnP卡,必須 回答 M。你必須將 PnP 音效卡的支援編譯成一個模組,因為在模組被載入前 PnP 卡必須先初始化。 

下列的問題你應該回答 Y,其馀回答 N: 



--------------------------------------------------------------------------------

Sound Blaster (SB, SBPro, SB16, clones) support (CONFIG_SB) [Y/n/?]
Generic OPL2/OPL3 FM synthesizer support (CONFIG_ADLIB) [Y/n/?]
/dev/dsp and /dev/audio support (CONFIG_AUDIO) [Y/n/?]
MIDI interface support (CONFIG_MIDI) [Y/n/?]
FM synthesizer (YM3812/OPL-3) support (CONFIG_YM3812) [Y/n/?]
lowlevel sound driver support [Y/n/?]
AWE32 support (CONFIG_AWE32_SYNTH) [Y/n/?]


--------------------------------------------------------------------------------

只有後面的是給 Wave Table 合成器用的。其馀是 OSS/Free 音效驅動程式給 SB 16 的選項。 

除此之外,你必須建構音效卡 I/O 埠。可參考 isapnp.conf 檔會給你一些提示,如果你有這個檔的話。對我來說,下面的內定值就夠了。請注意:核心程式建構命令手稿的內定值也有可能是錯的 (特別是 SBC_IRQ 和 SB_MPU_BASE 的值對大部份的卡來說好像都錯了)。 



--------------------------------------------------------------------------------

I/O base for SB Check from manual of the card (SBC_BASE) [220]
Sound Blaster IRQ Check from manual of the card (SBC_IRQ) [5]
Sound Blaster DMA 0, 1 or 3 (SBC_DMA) [1]
Sound Blaster 16 bit DMA (_REQUIRED_for SB16, Jazz16, SMW) 5, 6 or 7
(use 1 for 8 bit cards) (SB_DMA2) [5]
MPU401 I/O base of SB16, Jazz16 and ES1688 Check from manual of the card
(SB_MPU_BASE) [330]
SB MPU401 IRQ (Jazz16, SM Wave and ES1688) Use -1 with SB16 (SB_MPU_IRQ) [-1]


--------------------------------------------------------------------------------

好了,現在重新編譯核心程式,Debian 的使用者要用 kernel-package指令。這個套件讓我們編譯核心程式就像安裝 debian 的套件一樣容易哦。請看 /usr/doc/kernel-package/□的文件。這□有個提示: 


# make-kpkg clean
# make-kpkg -revision custom.1.0 kernel_image

然後 dpkg -i /usr/src/kernel-image-2.0.29_custom.1.0_i386.deb. 

如果你的是其他的 Linux 供應商版本,請依照標准的方式來編譯新的核心程式。不要忘了 make modules 以及 make modules_install。詳情請看 Sound HOWTO 或 Kernel HOWTO。 



3.4 重開機 

安裝完新核心程式後,你應該重新開機 (請記得你要有個可用的開機磁片在手上)。交叉著你的手指頭等一下。 

如果你有個 PnP 卡,請確認在開機啟動命令手稿□或是手動地執行 isapnp (像上面所提的一樣): 


# /sbin/isapnp /etc/isapnp.conf
Board 1 has Identity 74 00 00 e3 10 48 00 8c 0e:  CTL0048 Serial No 58128
[checksum 74]

現在你可以安裝音效驅動程式了,如果你已把它編譯成一個模組: 


# modprobe -a sound
AWE32 Sound Driver v0.3.3e (DRAM 2048k)

如果你認為記憶體偵測有誤 (有個人告訴我說他有張 AWE64 卡有 4096k,然而 ``偵測到' 28672k !),請升級 awedrv 軟體或是在 /usr/src/linux/drivers/sound/lowlevel/awe_config.h檔案□指定記憶體,如: 


#define AWE_DEFAULT_MEM_SIZE  4096   /* kbytes */

抱謙,你必須再重新編譯核心程式 (也許編譯這些模組就夠了,但我不確定)。 

如果它成功動作了,你可能希望音效模組能自動載入。你可以使用 kerneld ( 在 1.4章節□有說明為何這是個壞點子) 或是在你的/etc/modules (Debian系統) □頭加上一行包含 sound 或是加上 /sbin/modprobe -a sound 到你的啟動命令手稿□。 



--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

4. 測試安效驅動程式


4.1 /proc/devices, /dev/sndstat 

如果你有內建的音效支援,你會在開機時收到一些有用的資訊。如果你的音效支援是安裝成可載入式模組的,你也可以用下列方式得到一些資訊 (或許要先用 modprobe -r sound 將音效移除)。 


# modprobe -a sound trace_init=1
Sound initialization started

 at 0x220 irq 5 dma 1,5
 at 0x330 irq 5 dma 0
 at 0x388
Sound initialization complete
AWE32 Sound Driver v0.3.3e (DRAM 2048k)

如果你有 /proc 虛擬檔案系統,你可以用下列方法看到第二個設備 


# cat /proc/devices
Character devices:
[...]
14 sound
[...]

接下來請認認你在 /dev/ 下有個已正確安裝的設備。詳情請看 Sound HOWTO 。然後執行 /dev/sndstat 可查詢音效模組的狀態。 


# cat /dev/sndstat
Sound Driver:3.5.4-960630 (Sat Oct 11 19:35:14 CEST 1997 root,
Linux flora 2.0.29 #1 Sat Oct 11 19:12:56 CEST 1997 i586 unknown)
Kernel: Linux flora 2.0.29 #1 Sat Oct 11 19:36:23 CEST 1997 i586
Config options: 0

Installed drivers:
Type 1: OPL-2/OPL-3 FM
Type 2: Sound Blaster
Type 7: SB MPU-401

Card config:
Sound Blaster at 0x220 irq 5 drq 1,5
SB MPU-401 at 0x330 irq 5 drq 0
OPL-2/OPL-3 FM at 0x388 drq 0

Audio devices:
0: Sound Blaster 16 (4.13)

Synth devices:
0: Yamaha OPL-3
1: AWE32 Driver v0.3.3e (DRAM 2048k)

Midi devices:
0: Sound Blaster 16

Timers:
0: System clock

Mixers:
0: Sound Blaster
1: AWE32 Equalizer

如果你沒有像這樣的輸出,也許在你的建構□有問題,繼續找看看哪兒不能動,再回來 Getting Started,檢查每一項。 



4.2 輸出- Raw Audio Device 

去取得一個 .au 檔 (Sun workstation) 或樣本檔案,然後這樣做: 


# cat bell.au > /dev/audio

resp. 


# cat sample > /dev/dsp

你會應該可以由 Audio Device 0: Sound Blaster 16 (4.3)聽到這個檔案的內容。 



4.3 輸出 - OPL-2/OPL-3 Synthesis 

如果你要使用 OPL-2/OPL-3 FM 合成器在你的音效卡上撥放 MIDI檔案,請試看看 playmidi 這個程式(請看附錄 B)。使用方法如下 


# playmidi -f dance.mid


或是 



# playmidi -4 dance.mid

前場會給你 OPL-2,後場會給你 OPL-3 MIDI 音樂。 如果你覺得這些聲音聽來很遜,不要怪 playmidi,那是因為 FM 合成器聽起來很差啦。 

您可以想像一下你只有一個 OSS/Free 音效驅動程式:那就是你所能得到的 MIDI音樂的品質了。 (與軟體合成不同)。幸運的是,你有 SB AWE,你還可以使用 Wave Table 以及 AWE Sound Driver Extension了。 



4.4 輸出 - Wave Table Synthesis 

在 AWE Driver Extension □有個很特別的工具程式 (awesfx) 可用來使用 EMU 8000 Wave Table 合成器。首先,你必須從你的音效卡□載入 Sound Font Bank -就算你想使用 ROM 的取樣 ! 你可以從你的 Windows 的安裝中取得這個檔 -尋找附加檔名為 *.sfb 或 *.sf2的檔案。 

ROM 取樣可以使用 SYNTHGM.SBK來載入, 真實的取樣放在 SYNTHGS.SBK 及 SYNTHMT.SBK 以及 SAMPLE.SBK□。你也可以從 ftp或 www 來取得其他的 Sound Font Banksvia ,可以試試 Creative Labs 的 EMU 的網頁, 有個 Chaos 取樣,他們真的很棒 (請檢查 AWE 驅動程式網站)。 

試看看載入標准的 GM (ROM) set ,使用 


# sfxload -i synthgm.sbk

然後撥放個伴隨著你的 SB AWE 的 midi 檔案: 


# drvmidi dance.mid



4.5 混音 

取得你最喜歡的混音器程式並執行它。在同一時間撥放一個音效取樣以及兩個 MIDI 檔樣本,然後試試混音器的設定。 撥一會兒,很容易的。以下有他們被稱呼的設備列表: 


Yamaha OPL-3
Synth 或 FM 

AWE32 Driver
Synth 或 FM (有人知道混音器是 a mixer were the last two are separated from each other?) 

Sound Blaster 16 (4.13)
PCM 或 DSP 

PC Speaker (still alive)
Spkr 

還有一些與 CD ROM 相關的混音器,可能連接著音效卡的有 Master Volume, Bass, Treble 和不同輸入軌道的錄音高低。 你可以指定哪些軌道應該被錄音下來。 


4.6 輸入-使用Raw Audio Device來取樣 

你可以錄下不同的音源:相連的 CD ROM、與 mic 相連的麥克風,以及與 line in 相連接的任何音源。將混音器設定在適當的位置。撥放一個聲音並將它錄音成一個檔案,再由 Raw Audio Device來讀取,例如: 


# cdplay
# dd bs=8k count=5 music.au
5+0 records in
5+0 records out
# cat music.au >/dev/dsp

從輸入設備來錄音以及撥放 5 秒的聲音。 


4.7 MIDI 埠 

抱謙,目前還沒有關於 MIDI 埠的資訊! 



--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

5. AWE 驅動程式軟體


5.1 sfxload 

你可以使用 sfxload 工具來載入音效卡上的 DRAM 取樣到。記得你只能在每個 bank □載入一個取樣,內定為 bank 0。因此,在 sfxload synthgs.sbk 之後,在你的音效卡上唯一的取樣就是 GS 取樣。如果你要載入其他的 Sound Font Bank,請使用 -b 選項,例如: 


# sfxload synthgs.sbk
# sfxload -b1 sample.sbk
# drvmidi sfx.mid

也可以安裝模組來自動載入內定的 Sound Font Bank。只需加上這一行 


post-install sound /usr/bin/sfxload synthgm.sbk

到你的 /etc/conf.modules 檔案□ 

詳情請看關於 sfxload 的文件 


5.2 drvmidi 

使用 drvmidi 程式,你可以使用你的 AWE 驅動程式來演奏 MIDI 檔案。只要在命令後面加上你的 midi 檔名即可: 


# drvmidi waltz.mid

詳情請看關於 drvmidi 的文件 



--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

6. 附錄


6.1 附加資訊 


Linux Sound HOWTO
作者: Jeff Tranter, < [email protected]> 

最新版: v1.17, 1997年 8月 4日 

請好好閱讀一下 Sound HOWTO (可從 sunsite.unc.edu 以及其他站取得)。它有很好的資訊關於編譯核心程式來支援音效,並解釋很多音效設備以及應用程式等等。 

I understand this HOWTO as an addition to the Sound HOWTO. 


Linux Sound Playing HOWTO
作者: Yoo C. Chung, < [email protected]> 

最新版: v1.4, 1997 年 5月 13日 

你應該也閱讀 Sound Playing HOWTO。它會告訴你很多各種聲音格式以及演奏他們的應用程式。 


AWE 驅動程式 FAQ
作者: Takashi Iwai < [email protected]> 

來源: http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/awedrv/awedrv-faq.html

如果你在安裝 AWE 驅動程式時、或是使用你的 Sound Blaster 卡的 Wave Table 合成器,那就看這兒了。 


ISA PnP FAQ 常問集
作者: Peter Fox < [email protected]> 

來源: http://www.roestock.demon.co.uk/isapnptools/isapnpfaq.html

如果你要安裝 ISA PnP 卡,那就要看你自己了。 



6.2 來源 



isapnptools
作者: Peter Fox < [email protected]> 

最近版本: 1.11 

來源: http://www.roestock.demon.co.uk/isapnptools/index.html

如果你要報告修補、臭蟲或是議言,請在主題欄□面加上 'isapnp' ,並郵寄到 [email protected] 


awedrv
作者: Takashi Iwai < [email protected]> 

最新版本: 0.4.2c 

來源: http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/awedrv/


Linux kernel
作者: Linus Torvald and many other 

最新版本: 在此刻,你可以用 2.0.29 

來源: 到處都可以取得 Linux :) 


OSS/Free
作者: Hannu Savolainen (Please check http://www.4front-tech.com/usslite before mailing me). 

最新版本: 我有 3.5.5-beta1 版 

來源: 和 Linux 核心原始程式套件一起 

資訊: http://www.4front-tech.com/usslite or European mirror. 



6.3 □本 isapnp.conf 

由 pnpdump 所建立的 ISA PnP 建構檔,你的 PnP 卡唯一出現的項目輸出如下,有一張卡被偵測出 (音效卡),並有四個邏輯設備: 


LD 0: Audio Device 
LD 1: IDE Device 
LD 2: WaveTable Device 
LD 3: Gameport Device 
我解除 LD 1 的建構,因為我沒有在音效卡的 IDE 埠上接著 CD ROM。如果你的 SB 沒有 IDE 埠,那麽 LD 1 就是 Gameport 設備,而 LD 3 就不會出現了。 

請參考 Getting started 這個章節□有更多的資訊 (很重要!)。 



--------------------------------------------------------------------------------

# $Id: pnpdump.c,v 1.9 1997/06/10 21:37:32 fox Exp $
# This is free software, see the sources for details.
# This software has NO WARRANTY, use at your OWN RISK
#
# For details of this file format, see isapnp.conf(5)
#
# For latest information on isapnp and pnpdump see:
# http://www.roestock.demon.co.uk/isapnptools/
#
# Compiler flags: -DREALTIME -DNEEDSETSCHEDULER

(READPORT 0x0203)
(ISOLATE)
(IDENTIFY *)

# Try the following if you get error messages like
# Error occurred executing request 'LD 2' on or around line...

#(VERIFYLD N)

# ANSI string -->Creative SB32 PnP<--

(CONFIGURE CTL0048/58128 (LD 0
#     ANSI string -->Audio<--

  (INT 0 (IRQ 5 (MODE +E)))
  (DMA 0 (CHANNEL 1))
  (DMA 1 (CHANNEL 5))
  (IO 0 (BASE 0x0220))
  (IO 1 (BASE 0x0330))
  (IO 2 (BASE 0x0388))

  (ACT Y)
))

(CONFIGURE CTL0048/58128 (LD 1
#     ANSI string -->IDE<--

# (INT 0 (IRQ 10 (MODE +E)))
# (IO 0 (BASE 0x0168))
# (IO 1 (BASE 0x036e))

# (ACT Y)
))

(CONFIGURE CTL0048/58128 (LD 2
#     ANSI string -->WaveTable<--

  (IO 0 (BASE 0x0620))
  (IO 1 (BASE 0x0A20))
  (IO 2 (BASE 0x0E20))

  (ACT Y)
))

(CONFIGURE CTL0048/58128 (LD 3
#     ANSI string -->Game<--

  (IO 0 (BASE 0x0200))
  (ACT Y)
))

# Returns all cards to the "Wait for Key" state
(WAITFORKEY)


--------------------------------------------------------------------------------


譯者按: 若您發現本文件內容有翻譯不順暢或錯誤的地方,請您來信告訴我,以做更正,謝謝。 [email protected]。譯注:這份文件的中文版可在 http://www.linux.org.tw/LCDP/下取得。 


--------------------------------------------------------------------------------

Copyright © Linux教程網 All Rights Reserved