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 关於可载入式核心程式模组的一般常识

有些设备驱动程式可以被做成模组,而不必将它们编译到核心程式□头。 你可以 在 Kernel HOWTO 及 Module HOWTO □找到关於模组的资讯。(请看 Additional Information).

如果你有 PnP 卡,你 必须 将音效卡支援成一个可载入式核心驱动程式模组。 也就是说,你不能将音效驱动程式建立在核心程式□头,而将它做作一个模组,这样 就能在核心程式执行时被载入。这是因为核心程式会在你的 ISA PnP 卡被建构前就 被安装了,而你的音效驱动程式必须在 ISA PnP 建构後才会被载入。

音效核心程式模组可以使用 insmod soundmodprobe -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 核心程式开始,也许你想升级你 所使用的旧的模心程式树)。


Next Previous Contents