OSS/Linux 声卡驱动程序

作者:Jeff Tranter
  • 制造商:4Front Technologies

  • 价格:20 美元

  • 评论员:Jeff Tranter

开放声音系统 (OSS) 是 4Front Technologies 为多种 Unix 兼容操作系统提供的内核级声卡驱动程序。OSS/Linux 是 Linux 系统的版本。Linux 获得支持并不令人意外,因为该代码基于 Linux 内核中包含的声卡驱动程序,并且与之兼容。代码由同一作者 Hannu Savolainen 编写,他继续维护免费版本 (OSS/Free)。

安装

我利用了 4Front Technologies 的免费试用优惠,下载并运行了该产品五天。如果您决定购买,您将收到一个软件许可证密钥,允许该软件永久运行。

我还下载了 OSS/Linux 的最新版本 (3.8-beta1-961205)。我在一台 166 MHz Pentium 系统上安装了该软件,该系统配备 32 兆字节 RAM,运行 Red Hat Linux 4.0 和 2.0.28 内核。声卡是 Creative Labs SoundBlaster 16(即插即用版本)。

该软件包以压缩 tar 文件的形式提供,其中包含安装说明和一个安装程序。要安装该软件,您必须以 root 身份运行 install 程序。这将调用一个基于 curses 的用户界面,帮助您安装和配置声卡驱动程序。我发现它使用起来很简单;我的声卡和设置都自动检测到了。安装程序注意到我安装了标准的 Linux 内核声卡驱动程序模块,并告知我需要禁用它。删除内核可加载的声音模块就解决了问题。

安装完成后,可以使用提供的 soundon 脚本加载声卡驱动程序。该驱动程序以多个可加载内核模块的形式实现。如果需要,soundoff 脚本会卸载驱动程序。加载后,您就可以运行任何现有的 Linux 声音应用程序。

测试

我尝试了许多声音应用程序来播放和录制声音样本、播放 MIDI 和 MOD 文件以及操作混音器。总的来说,一切操作都与 Linux 内核附带的标准声卡驱动程序完全相同。它提供对 DSP 设备、FM 合成器、混音器和 MIDI 总线接口的控制。

我确实发现了一个错误。显然,MIDI 驱动程序没有清理它使用的资源。如果卸载后再次加载,会报告 I/O 端口正在使用中。我通过电子邮件向技术支持报告了这个问题,并在几个小时内收到了回复。

SoftOSS

我下载了 OSS/Linux 的 beta 版本,以便尝试一项新功能 SoftOSS。要理解它,您需要了解一些关于计算机如何合成声音的背景知识。

第一代计算机声卡使用一种称为 FM 合成的技术来生成计算机音乐。这种方法成本低廉且 CPU 功耗小,但生成的音乐听起来像是计算机创建的,而不是乐器。

采样技术使用数模转换器来生成声音。这种方法可能非常有效,因为可以将实际乐器的声音数字化并用作样本。缺点是数模转换器价格昂贵,因此声卡通常只提供一到两个。如今,典型的低端声卡都提供采样和 FM 合成功能。

波表合成卡结合了两种技术的优点。它们提供多个通道(通常为 32 个)。每个通道都有自己的数模转换器和声卡上的专用内存,用于存储声音样本。声卡上的硬件完成了大部分混合和播放样本的工作。波表卡的唯一缺点是额外的硬件使其价格 значительно 更贵。标准 Linux 内核声卡驱动程序支持一种这样的声卡,即 Gravis UltraSound。

SoftOSS 仅使用低成本(非波表)声卡提供波表合成的软件模拟。它通过使用主机计算机的备用内存和处理能力来实现这一点。通过在内核级别实现与 Gravis Ultrasound 卡相同的应用程序编程接口,它允许为此卡编写的现有应用程序与低端声卡一起工作。唯一的缺点是您需要足够的内存和 CPU 功率,但如今大多数系统都可以满足此要求(我评测的预发布软件所需的最低配置是一台配备 16MB RAM 的 40MHz 486 计算机)。

我使用 Pentium 100+ 机器的设置配置了 SoftOSS 驱动程序,并尝试使用一些以前需要 Gravis Ultrasound 波表声卡的 Linux 应用程序。

gmod 程序是用于播放 MOD 格式音乐文件的播放器。它运行良好。这并不是特别令人印象深刻,因为有许多用于非波表声卡的 MOD 播放器(例如,tracker),它们与标准内核声卡驱动程序配合使用也同样出色。

播放 MIDI 文件更有趣。MIDI 是音乐家非常流行的音乐文件格式,但我以前遇到的 MIDI 文件播放器使用我声卡上的 FM 合成器。使用 SoftOSS、playmidi 程序和从 Internet 下载的声音样本“补丁”文件,与使用 FM 合成相比,音质有了显着提高。它听起来真的像真实的乐器。

请注意,在撰写本文时,SoftOSS 仍处于预发布 beta 状态,并且在购买 OSS/Linux 时可能是额外的收费选项。对于 beta 版本来说,它看起来非常稳定,唯一的问题是产生的一些轻微声音故障。

评估

因此,只需 20 美元,您就可以获得一个单机许可证,用于一个与 Linux 内核中的驱动程序兼容的声卡驱动程序、一个用于播放声音文件的 play 命令以及用于加载和卸载驱动程序的 soundonsoundoff 脚本。其中包括两年的技术支持和五年的软件升级。文档基本上是一些涵盖安装的 README 文件,但更多信息,包括声音应用程序编程接口,可在供应商的网站上找到。

OSS/Linux 比内核中的免费声卡驱动程序有哪些优势?技术支持是一个优势,如果您在商业环境中使用 Linux 声卡驱动程序,这可能对您很重要。该软件包似乎更易于安装和配置,在大多数情况下可以自动检测声卡设置。它还提供对更多声卡(例如,SoundBlaster AWE32)的支持,并且比免费驱动程序具有更好的即插即用支持。它似乎与为 OSS/Free 编写的任何应用程序完全兼容。

从负面来看,存在成本,尽管与大多数商业软件相比,成本很小。更令人担忧的是,您无法获得源代码。这意味着您无法自行修复错误或修改或增强代码。这也使得该软件对不同的内核版本更加敏感。当您升级内核时,您可能需要定期从供应商的网站下载新的声卡驱动程序,尽管提供了一个名为 sndshield 的“包装”程序,您可以编译该程序来帮助在大多数情况下解决这些问题。

改进

当使用免费的内核驱动程序时,我喜欢它可以按需使用 kerneld 自动加载和卸载的事实。OSS/Linux 驱动程序虽然使用模块,但不幸的是似乎不支持这一点。必须以 root 身份登录并运行命令来加载驱动程序很麻烦,尽管大多数用户可能都足够了解将其放入像 rc.local 这样的系统启动脚本中。

该软件包不附带任何增值声音应用程序(除了一个简单的“play”程序)。仅靠声卡驱动程序本身用途不大。如果它与一些现有的 Linux 声音应用程序捆绑在一起,经验不足的用户可以立即更好地利用该驱动程序。我认为,包装该产品的方式应该是以 CD-ROM 的形式提供,其中包含为 Linux 系统预编译的许多声音应用程序、声音文件和编程文档。这将使其成为更有用的产品,特别是对于初学者而言。

结论

如果您的声卡在内核中的免费驱动程序下运行良好,并且您对 SoftOSS 不感兴趣,那么您可能不会认为该产品增加了太多价值。

如果您曾努力尝试但未能成功使声卡在 Linux 下工作,特别是如果它是即插即用型号,那么您应该尝试一下该产品。您可以获得免费试用副本,并且非常值得购买。如果您拥有非波表声卡并且对 SoftOSS 感兴趣,那么您也可能对该产品感兴趣。

最后,OSS 产品也为许多其他 Unix 兼容系统提供。多年来,Unix 系统一直没有明确的声音编程标准。4Front Technologies 希望 OSS API 将成为 Unix 系统的 фактический 标准。如果成功,这将是一个具有讽刺意味的例子,即尾巴摇狗——Unix 系统努力与 Linux 兼容。这也意味着为 Linux 编写的声音应用程序将有机会在更广泛的 Unix 平台上运行,扩大它们的范围。

资源

Jeff Tranter 使用和撰写关于 Linux 的文章已约四年半。他是 Linux Sound 和 CD-ROM HOWTO 文档以及 O'Reilly and Associates 出版的书籍《Linux Multimedia Guide》的作者。在不玩电脑的时候,他喜欢业余无线电、弹吉他和越野滑雪。可以通过电子邮件 jeff_tranter@pobox.com 与他联系

加载 Disqus 评论