この章では Linux で現在サポートされているサウンドカードと インターフェースの一覧を示します。ここでの情報は、執筆時点での最新の Linux カーネル(バージョン 2.2.4)に基づいています。本文書の内容は、 標準配布の Linux カーネルに含まれているサウンドドライバにしか当てはま りません。Linux で利用できるサウンドドライバは他にもあります( 「標準でないサウンドドライバ」の章をご覧ください)。
サポートしているサウンドカードと機能に関する最新情報については、Linux カーネルのソースコードに含まれている文書ファイルをご覧ください。このファ イルは通常、/usr/src/linux/Documentation/sound ディレクト リにあります。
本文書に書かれている情報は、Intel プラットフォーム用の Linux について 有効です。
Alpha プラットフォームでも、ほとんどのサウンドカードが動作 するはずです。しかし一部のカードでは、i386 マシンでは完璧に動作するの に、Alpha マシンでは他のデバイスと I/O ポートが競合することがあります。 ですから一般的には、あるカードが動作するかどうかは実際に試してみるまで わかりません。
PowerPC 用の Linux ではサウンドドライバはまだ動作しないと聞 いています。ですが将来的にはサポートされるはずです。
MIPS 版の Linux ではカーネルでサウンドの設定を行うことがで き、一部の MIPS マシンには EISA スロットや組み込みのサウンド用ハードウェ アが載っています。Linux-MIPS グループは将来サウンド機能のサポートを追 加することに興味を持っていると聞いています。
Linux カーネルには、Atari および Amiga マシン向 けの Linux 用の独立したドライバが入っています。このドライバは、 これらのマシンに組み込みのサウンド用ハードウェアを用いて、 Intel マシン用 Linux のサウンドドライバの互換機能(の一部)を実現します。
SPARC 用の Linux は現在、Sun 製ワークステーションの一部のモ デルについてサウンド機能をサポートしています。筆者は、オンボードのサウ ンド用ハードウェアは動作するけれど、Sun が仕様を公開していないために外 付け DSP オーディオボックスはサポートされていないと聞いています。
以下のサウンドカードが Linuxカーネルのサウンドドライバでサ ポートされています。ここで挙げたものの一部はサウンドカードのモデル名で はなく、オーディオ用チップセットです。このリストは不完全です。というの も、ここに挙げたサウンドカードの互換製品がたくさんあり、それらも Linux で動作するからです。さらに紛らわしいことに、メーカーによっては、互換性 がなくなるような製品の設計変更を定期的に行い、それにもかかわらず同じモ デルとして販売し続けることがあります。
互換製品に関する注意: ほとんどのサウンドカードは SoundBlaster 互換を謳っていますが、現在流通しているカードのほ とんどは互換性が十分でなく、Linux の SoundBlaster 用ドライバでは動作し ません。このようなカードは普通、MSS/WSS 用ドライバや MAD16 用ドライバ を使った方がうまく動作します。一般的に言うと SoundBlaster 用のドライバ が動作するのは、Creative Labs 社が作った本物のSoundBlaster(これは Creative Labs 社のカスタムチップを使っています(例: SoundBlaster16 Vibra)), MV Jazz16, ESS688/1688 ベースのカードだけです。SoundBlaster Pro 互換の 16 ビットサウンドカードに SoundBlaster 用ドライバを試すのは普通、単な る時間の無駄です。
Linux カーネルは、ある種のサウンドカード(例えば ProAudioSpectrum 16)上 の SCSI ポートや、何種類かの CD-ROM ドライブ用の独自インターフェース (例えば SoundBlaster Pro)をサポートしています。詳しくは、 SCSI HOWTO や CDROM HOWTO を参照してください。
(訳注: 日本語訳は http://www.linux.or.jp/JF/JFdocs/SCSI-HOWTO.html と http://www.linux.or.jp/JF/JFdocs/CDROM-HOWTO.html です。)
ジョイスティックポート(一部のサウンドカードに付いているもの も含みます)をサポートするためのカーネルドライバが 2.2 カーネルの一部と して含まれています。
SCSI や CD-ROM、ジョイスティック、それにサウンドカードのカーネルドライ バは、お互いに完全に独立しているということに注意してください。
Linux カーネルにおけるサウンド機能のサポートは、元々は Hannu Savolainen さんが作成しました。Hannu さんはその後 Open Sound System の開発に従事しています。これは 4Front Technologies 社が販売している商用のサウンドドライバで、数多くの UNIX システムをサポートしています。RedHat Software 社は Alan Cox さん を支援して、カーネルのサウンドドライバの改良と完全なモジュール化を進め ています。他にもたくさんの人々がバグの修正や、新しいサウンドカード用の ドライバの開発で貢献しています。このようにして修正されたドライバは、 RedHat においてはリリース 5.0 から 5.2 で出荷されています。カーネル 2.0 から、このような修正が標準のカーネルに統合されるようになりました。 現在は Alan Cox さんが標準サウンドドライバのメンテナですが、Hannu さん も時々商用ドライバから取り出したコードを寄付しています。
4Front Technologies 社が販売している商用版 Open Sound System ドライバ は、Linux カーネル標準のドライバよりも設定が簡単であり、より多くのサウ ンドカードをサポートしています(特に新しい製品)。この商用ドライバは、カー ネル標準のサウンドドライバ向けに書かれたアプリケーションとも互換です。 欠点としては、有料である点とソースコードが入手できない点が挙げられます。 製品版を買う前に試用できる無料の評価版をダウンロードすることができます。 詳しくは 4Front Technologies 社の WWW ページ ( http://www.opensound.com)をご覧ください。
Jaroslav Kysela さんを代表とするプロジェクトが、Gravis UltraSound サウ ンドカード用の別のサウンドドライバの作成に着手しています。このプロジェ クトの名前は Advanced Linux Sound Architecture (ALSA) に変わ り、プロジェクトの目的も組み込みのカーネルドライバの代わりに使用できる 汎用ドライバの開発となりました。ALSA ドライバはよく使われているサウン ドカードを数多くサポートしており、全二重であり、完全にモジュール化され ており、カーネル組み込みのサウンドドライバとも互換です。ALSA プロジェ クトの代表 WWW サイトは http://www.alsa-project.org です。 本文書とは別にある "Alsa-sound-mini-HOWTO" という文書で、ALSA ドライバ のコンパイルとインストールが解説されています。
Markus Mummert さん( mum@mmk.e-technik.tu-muenchen.de) は Turtle Beach MultiSound (旧版), Tahiti, Monterey サウンドカード用のド ライバパッケージを作成しています。その文書からの引用です。
「このドライバは、ビジーなシステムでも同期を失うことなく高品質なハード ディスク録音/再生ができるように設計されています。 波形合成、MIDI、ディジタル信号処理(DSP)などの機能は使用できません。 また、録音と再生を同時に行なうこともできません。 このドライバは VoxWare を置き換えるもので、カーネルバージョン 1.0.9 から 1.2.1 でテストされています。また、UN*X SysV386R3.2システムにも インストールすることができます。」
このパッケージは url="http://www.cs.colorado.edu/ mccreary/tbeach"> に あります。
Kim Burgaard さん( burgaard@daimi.aau.dk)は、Roland MPU-401 MIDI インターフェース 用のデバイスドライバとユーティリティを書いています。Linux ソフトウェア マップのエントリには、次のような記述があります。
「Roland MPU-401 完全互換の MIDI インターフェース (Roland SCC-1 および RAP-10/ATW-10 を含む)用のデバイスドライバで、 標準 MIDI ファイルプレイヤおよびレコーダ等の有用なユーティリティととも に提供されています。
バージョン 0.11a で多くの改良が行われました。 特筆すべき点は、IRQ 共有機能のサポートと新しいカーネルモジュールインター フェースへの対応です。また、メトロノーム機能・同期機能(同期の精度を保 ちつつ、ビートに合わせてグラフィックスを表示する等)・先進的な再生/録音 /オーバーダブのインターフェースやその他に多数の機能が追加されました。」
このドライバは ftp://sunsite.unc.edu/pub/Linux/kernel/sound/mpu401-0.2.tar.gz から入手可能です。
他にも変わった使い方として、Linux におけるサウンドカードをアマチュアの パケットラジオ用のモデムとして使うことができます。バージョ ン 2.1 以降のカーネルには、SoundBlaster 互換および Windows Sound System 互換のサウンドカードで 1200 bps AFSK および 9600 bps FSK のパケッ ト通信プロトコルを実現するドライバが入っています。詳しくは Linux AX25 HOWTO を見てください(ところで、筆者も HAM 通信をやっていま す。コールサインは VE3ICH です)。
サウンド用ハードウェアを必要としない代替サウンドドライバがあります。 PC の内蔵スピーカを利用するものです。これはサウンドカードのドライバと ほぼソフトウェア互換ですが、ご想像の通り音質は悪い上、CPU にも大きな負 荷がかかります。音質はスピーカの特性によって変化するようです。詳しくは ドライバに付属の文書を参照してください。
最近は更新されていないようですが、ドライバのソースは ftp://ftp.informatik.hu-berlin.de/pub/os/linux/hu-sound/ にあります。
パラレルプリンタポートに付加回路を接続して、ディジタル-アナログ変換装置 を作る方法もあります。こちらの方法の方が PC 内蔵スピーカを使うよりも音 質は良いものの、やはり CPU には大きな負荷がかかります。上述の PC サウ ンドドライバパッケージはこの方法をサポートしており、必要なハードウェア を作るための説明も載っています。