这一节列出目前 Linux 支援的音效卡及音效介面, 以撰写时最新的 Linux 核心为基准,在本文撰写时是 2.2.4。 这份文件只对包含在标准 Linux 核心码中的音效驱动程式有效。 Linux 上尚有其它的音效驱动程式存在(请看後面关於 选择性的音效驱动程式 一节)
关於 Linux 支援的音效卡以及它的功能的最新消息,请看 Linux 核心原始码中的档案,通常装在/usr/src/linux/Documentation/sound 目录下。
在这份HOWTO里的资讯对Intel平台的Linux有效。
音效卡驱动程式应该也能支援Alpha平台上的多数音效卡。 然而有的卡虽然在 i386 平台上工作得很好,却会和 Alpha 系统上的其它设备位址相冲突。 所以通常没试过的话,没办法得知一片卡到底能不能用。 所以除非亲自尝试过,不然也不能确定一片音效卡能不能用。
有报告称在PowerPC平台上的 Linux 音效驱动程式还无法使用, 不过将来应该会支援。
在MIPS平台的Linux可以将音效驱动程式挂进核心, 有部份MIPS机器有EISA插槽,或者内建的发音硬体。 Linux MIPS group 告诉我,在将来他们很有兴趣加入对音效的支援。
Linux 核心也为 Atari 及 Amiga 平台的 Linux 一个分开的驱动程式, 它运用这些机器内建硬体,实作了和 Intel 平台上 Linux 相容的子集合。
SPARC平台的 Linux 目前在某些机型上已支援音效。 有人和我说在主机板上的音效硬体已可以用,但外部 DSP 音效盒还未支援,因为 Sun 并没有给相关规格资料。
以下音效卡为 Linux 核心驱动程式支援。 其中有些是音效晶片名称而非音效卡名称。 这个列表并不是完整的列表, 因为有很多其它卡是和其中的一些卡相容。 有些厂商隔一段时间就改变设计, 使新音效卡和旧的产生不相容性,但却还用旧的型号,更增加了困扰。
对"相容"一词有些话先说在前: 虽然大多数音效卡号称相容於声霸卡, 但能用Linux的声霸卡驱动程式的卡少之又少。 这些卡如果用 MSS/WSS 或 MAD16 驱动程式通常会更好。 只有真正由 Creative Labs 做的声霸卡(用 Creative 的晶片,如 SoundBlaster16 Vibra),或 MV Jazz16 及 ESS688/1688 的卡才能无问题的用声霸卡驱动程式。 在所谓 "声霸卡相容的16位元 音效卡" 上用声霸卡驱动程式只是浪费时间罢了。
Linux 核心也支援在音效卡上的 SCSI 介面(ProAudioSpectrum 16)及专属光碟机介面 (如声霸卡 Pro)。 请看 Linux SCSI HOWTO 及 CDROM HOWTO 文件以作更深入了解。
(译注: CDROM HOWTO 中文版在 http://www.linux.org.tw/CLDP/CDROM-HOWTO.html)
在音效卡上常见的摇□介面,也有个核心可载入模组支援。
注意这里提到的SCSI,CD-ROM,摇□及音效驱动程式彼此是无关的。
Linux 核心的音效卡驱动程式最早是由 Hannu Savolainen 写的。 Hannu 後来继续开发 Open Sound System,一个由 4Front Technologies 出售,支援多种 Unix 系统的商业版本音效驱动程式。 Red Hat Software 後来资助 Alan Cox 来增强核心音效驱动程式,使它们完全模组化。 很多其他人也协助除错, 以及发展新音效卡的额外驱动程式。 这些修改过的驱动程式由 Red Hat 在他们的 5.0 到 5.2 版发行套件中使用。 目前这些改变已经在 2.0 版整合进标准核心中。 Alan Cox 是现在标准核心音效驱动程式的维护人,虽然 Hannu 每隔些时候仍会带进一些由商业版分割出来的程式码进来。
商业版本的 Open Sound System 驱动程式(由 4Front Technologies 发展)比较起来容易设定,也支援较多的卡,特别是新的音效卡。 它也和对标准核心驱动程式写的应用程式相容。 缺点是您要花钱,也不会得到原始码。 您可在决定要不要买以前先下载免费试用版。 更详细的资讯可在4Front Technologies的网站 http://www.opensound.com取得。
Jaroslav Kysela及其他人为Gravis UltraSound音效卡写了可选的驱动程式。 这个计画後来改名为Advanced Linux Sound Architecture(先进 Linux 音效架构,ALSA),产生了一个他们认为更加一般可用, 且可用来取代核心中的音效驱动程式。 ALSA 驱动程式支援许多常见的音效卡, 而且是全双工,全模组化,和现存核心中的音效架构相容。 ALSA 计画的主要网站在 http://www.alsa-project.org。 有个另外的 "Alsa-sound-mini-HOWTO", 里面主要是如何编译及安装这些驱动程式。
Markus Mummert ( mum@mmk.e-technik.tu-muenchen.de写了给 Turtle Beach MultiSound(classic) ,Tahiti,及Monterey音效卡用的驱动程式,文件中提到:
"It is designed for high quality hard disk recording/playback without losing sync even on a busy system。 Other features such as wave synthesis,MIDI and digital signal processor (DSP) cannot be used。 Also,recording and playback at the same time is not possible。 It currently replaces VoxWare and was tested on several kernel versions ranging from 1.0.9 to 1.2.1。 Also,it is installable on UN*X SysV386R3.2 systems."
(它是为高品质硬碟录放音设计,即使系统负载大,也不会掉音。 其它如波形合成, MIDI 及数位信号处理器 (DSP) 则不能使用。 也不能同时录放音。 它目前可取代 VoxWare ,并在1.0.9到1.2.1版核心测试过。 它也可以装在 UN*X SysV386R3.2 系统上。)
可在 http://www.cs.colorado.edu/~mccreary/tbeach找到。
Kim Burgaard ( burgaard@daimi.aau.dk 写了给 MPU-401 MIDI 介面用的驱动程式及公用程式。 Linux Software Map 给予如下的介绍:
"A device driver for true Roland MPU-401 compatible MIDI interfaces (including Roland SCC-1 and RAP-10/ATW-10)。 Comes with a useful collection of utilities including a Standard MIDI File player and recorder.
(一个给和 MPU-401完全相容的 MIDI 介面(包括 Roland SCC-1及RAP-10/ATW-10) 用 的驱动程式。 也附带了好用的公用程式,包括标准的 MIDI 档播放器及录制程式。)
Numerous improvements have been made since version 0.11a。 Among other things,the driver now features IRQ sharing policy and complies with the new kernel module interface。 Metronome functionality,possibility for synchronizing e.g。 graphics on a per beat basis without losing precision,advanced replay/record/overdub interface and much,much more."
(从 0.11a 版起,又进行了多项改进。 其中包括了 IRQ 共用,还有可编译为核心模组。 节拍器功能可达到每一拍都同步而不丧失准度,改良的重播/录音及overdub(?) 介面及很多很多。)
可在 ftp://metalab.unc.edu/pub/Linux/kernel/sound/mpu401-0.2.tar.gz 找到。
音效卡在Linux下还有一个新奇用途 -- 当作业馀无线电的调变器。 2.1.x 版及以後的核心包含了一个利用声霸卡及 Windows Sound System 相容卡来实作 1200 bps AFSK 及 9600 bps FSK 封包协定的驱动程式。 详情请见 Linux AX25 HOWTO。 (我(作者)也是个火腿族,代号 VE3ICH)
另外还有一个不要额外硬体的驱动程式,它利用PC喇叭。 它和音效驱动程式软体上大体相容,但可以想见的,它的音质差多了,CPU负担也高多了。 它产生的结果视各别喇叭的特性而有很大差别。 请看内附的文件以更深的了解。
这个软体已有一段时间没有更新了,可在 ftp://ftp.infomatik.hu-berlin.de/pub/os/linux/hu-sound/找到。
还有个选择,就是用平行埠加上一些东西做数位/类比转换。 它的音质比 PC 喇叭好,但 CPU 负载仍嫌高。 前一小节提到的喇叭驱动程式有支援,它还包含了制造所需硬体的说明。