レンタルサーバ + Webシステム開発 = E-business

■レンタルサーバご利用参考資料
サーバご利用の参考にJF Project によるJF (Japanese FAQ)を掲載しています。

Linux JF(Japanese FAQ)Project.
JF は, Linux に関する解説文書・FAQ などを作成・収集・配布するプロジェクトです.

グリーンネット・トップページへ戻る


一覧に戻る
  The Linux Sound HOWTO
  Jeff Tranter, tranter@pobox.com
  v1.20, 24 March 1999
  The Linux Japanese FAQ Project
  v1.20j, 29 June 1999

  この文書は、Linux のサウンドについて記述したものです。内容は、サポート
  されているサウンドハードウェアのリスト、カーネルの設定方法、FAQ への回
  答などです。これからサウンドを使おうとする人にとって良き手引となり、
  Usenet ニュースグループやメーリングリストのトラフィックが減少するよう
  願っています。
  ______________________________________________________________________

  目次

  1. はじめに
     1.1 謝辞
     1.2 この文書の最新版の入手方法
     1.3 フィードバック
     1.4 配布条件

  2. サウンドカードに採用されている技術
  3. サポートされているハードウェア
     3.1 サウンドカード
     3.2 標準でないサウンドドライバ
     3.3 PC 内蔵スピーカ
     3.4 パラレルポート

  4. インストール
     4.1 サウンドカードのインストール
     4.2 プラグ&プレイの設定
     4.3 カーネルの設定
     4.4 デバイスファイルの作成
     4.5 Linux のブートとインストールのテスト
     4.6 トラブルシューティング
        4.6.1 ステップ 1: コンパイルしたカーネルが本当に使われているかどうか確認する。
        4.6.2 ステップ 2: カーネルサウンドドライバが組み込まれていることを確認する。
        4.6.3 ステップ 3: ブート時にカーネルはサウンドカードを認識しましたか?
        4.6.4 ステップ 4: dsp デバイスからデータを読めますか?
        4.6.5 どうしてもうまく行かない場合

  5. サウンドを利用するためのアプリケーション
  6. FAQ への回答
     6.1 いろいろなサウンドデバイスファイルの意味を教えてください。
     6.2 サウンドファイルを再生する方法を教えてください
     6.3 録音の方法を教えてください
     6.4 複数のサウンドカードを使うことができますか?
     6.5 サウンドデバイスにアクセスすると "No such file or directory" というエラーになります。
     6.6 サウンドデバイスにアクセスすると "No such device" というエラーになります。
     6.7 サウンドデバイスにアクセスすると "No space left on device" というエラーになります。
     6.8 サウンドデバイスにアクセスすると "device busy" というエラーになります。
     6.9 まだ device busy エラーが発生します!
     6.10 ディジタイズされたサウンドファイルが部分的にしか再生されません。
     6.11 MOD ファイルの再生時に音が途切れる
     6.12 サウンドアプリケーションのコンパイル時にエラーが発生します。
     6.13 以前動いていたサウンドアプリケーションを実行すると SEGV エラーが発生します。
     6.14 サウンドドライバの既知のバグや制限を教えてください。
     6.15 サウンドドライバの ioctl() などに関する文書はどこにありますか?
     6.16 途切れなく再生や録音を行なうためには、どのくらいの CPU 資源が必要ですか?
     6.17 PAS16 と Adaptec 1542 SCSI ホストアダプタの問題
     6.18 サンプリング音声の読み書きを同時に行なうことは可能ですか?
     6.19 SB16 の IRQ を 2 に設定しているのですが、設定プログラムがこの値を受け付けてくれません。
     6.20 Linux を使った後に DOS をブートすると、エラーメッセージが出力されたり、サウンドアプリケーションが正常に動作しなかったりします。
     6.21 Linux で DOOM をする時の問題
     6.22 サウンドカードが拾う雑音を減らすにはどうしたらよいでしょう?
     6.23 サウンドの再生はできますが、録音ができません。
     6.24 MS-DOS で一度初期化しないと「互換」カードが動かない
     6.25 16ビット SoundBlaster「互換」カードが、Linux 上では 8 ビットモードでしか動かない。
     6.26 Linux 用のサウンドアプリケーションはどこにありますか?
     6.27 サウンドドライバをローダブルモジュールとしてコンパイルすることはできますか?
     6.28 システムコンソールのビープ音の代わりにサウンドカードを使うことができますか?
     6.29 VoxWareとは何ですか?
     6.30 Sox/Play/Vplayが「invalid block size 1024」というエラーを出します。
     6.31 サウンドドライバモジュールをロードすると、ミキサーの設定がリセットされてしまう。
     6.32 root しかサウンドの録音ができません。
     6.33 IBM ThinkPad のサウンドハードウェアには対応していますか?
     6.34 サウンドカードにミキサーが付いていないと表示してアプリケーションが異常終了します
     6.35 SB16 CT4170 で起こる問題
     6.36 MIDI キーボードをサウンドカードに接続する方法
     6.37 IRQ 15 と Ensoniq PCI 128 の問題
     6.38 SoftOSS を実行できる MIDI パッチで、フリーのものは入手できますか?
  7. 参考情報
  8. 日本語訳について

  ______________________________________________________________________

  1.  はじめに

  この文書は Linux の Sound HOWTO です。この文書は Linux のサウンド機能
  のインストールや設定の際に必要な知識を全て網羅したクイックリファレンス
  を目指しています。しばしば聞かれる質問(FAQ)への答や、コンピュータサウ
  ンドやコンピュータ音楽に関する参考文献も紹介しています。

  この文書では、サウンドカードの Linux に関係した情報だけを扱います。サ
  ウンドカードやコンピュータサウンド、コンピュータ音楽一般に関する情報に
  ついては、「参考情報」の章に挙げた他の文書を参照してください。

  1.1.  謝辞

  ここに示した情報の多くは、Hannu Savolainen (hannu@opensound.com) 氏が
  書いた、サウンドドライバのソースコード付属の文書から得たものです。
  Hannu 氏、Alan Cox 氏、それから Linux カーネルのサウンドドライバやユー
  ティリティを開発された多くの人々に感謝します。

  SGML Tools のおかげで、一つの共通なソースファイルとして作成したこの
  HOWTO を様々なフォーマットで提供することが可能になりました。

  1.2.  この文書の最新版の入手方法

  この文書の新しいバージョンは定期的にニュースグループ
  comp.os.linux.answers に投稿されます。またこの文書は、その種の情報を保
  存している各地の anonymous ftp サイトにもアップロードされます。例えば
   などです。

  この文書を含む Linux HOWTO のハイパーテキストバージョンは、多数の WWW
  サイト、例えば   にあります。多くの Linux
  CD-ROM パッケージには HOWTO 文書が含まれていますし( 
  ディレクトリ にあることが多い)、業者から印刷物として購入することも可能
  です。この HOWTO を CD-ROM 業者、FTP サイト、書籍で入手した場合には、
  文書のバージョンが古いことがあります。この HOWTO に書かれている日付が
  6 ヵ月以上前であれば、インターネットで新しい版が入手できると思います。

  注意: インターネットは常に変化しているので、この文書で挙げた WWW や
  FTP のリンクも変わっているかもしれません。

  この文書は何ヶ国語かに翻訳されています:

  中国語:  

  フランス語:  

  日本語:  

  韓国語:  

  ロシア語:  

  スペイン語:  

  本文書や他の Linux HOWTO 文書の翻訳のほとんどは
   で入手でき
  ます。本文書を上記以外の言語に翻訳された方は筆者にお知らせください。こ
  の文書で紹介します。

  1.3.  フィードバック

  この文書を有用なものにするために、読者の協力を期待しています。この
  HOWTO に関する提案・修正・コメント等があれば、著者 tranter@pobox.com
  まで送ってください。次の版にはなるべく反映させます。

  筆者はサウンドカードを Linux で使う際の一般的な質問にもなるべく答えよ
  うと思っています。ただし質問する前にこの文書をすべて読んだ上で、質問に
  は問題に関する詳細な情報を添えて送ってください。サウンドカードを Linux
  以外の OS で使う際の質問はしないでください。

  この文書を CD-ROM あるいは印刷物として発行する場合、筆者に一部贈呈頂け
  ればありがたく思います。筆者の住所に郵便で送ってください。また Linux
  のフリー文書サポートを支援するために、Linux Documentation Project への
  寄付も御考慮願います。詳しくは Linux HOWTO コーディネーターの Tim
  Bynum   氏に連絡してください。

  1.4.  配布条件

  (条件については原文も示します。)

  Copyright (c) 1995-1999 by Jeff Tranter. This document may be
  distributed under the terms set forth in the LDP license at
  .

  Copyright (c) 1995-1999 by Jeff Tranter.

  本文書は   にある LDP ライ
  センスの条項に従って配布することができます。

  2.  サウンドカードに採用されている技術

  この章では、今後この文書で使用する概念の理解を助けるために、コンピュー
  タのオーディオ技術についてのごく簡単な説明を行ないます。もっと詳しいこ
  とを知りたい方は、ディジタルオーディオまたはディジタル信号処理に関する
  書籍を参照してください。

  音はアナログの性質を持っています。つまり、連続した範囲中のいかなる値を
  も取ることができます。一方、コンピュータが扱えるのはディジタルです。つ
  まり、離散的な値を扱うことが得意です。サウンドカードは、アナログ・ディ
  ジタル・コンバーター(A/D または ADC)というデバイスを使って、アナログサ
  ウンド波形に対応した電圧をディジタル値に変換します。この値はメモリに保
  存することができます。同様にディジタル・アナログ・コンバーター(D/A ま
  たは DAC)というデバイスは、ディジタル値をアナログ信号に変換します。こ
  のアナログ信号がスピーカーを駆動して音が発生します。

  アナログからディジタルへの変換プロセスはサンプリングと呼ばれますが、こ
  の際多少の誤差が生じることは避けられません。サンプリングされた信号が元
  の信号をどれだけ忠実に表現しているかということを決定する二つの重要な要
  素があります。一つはサンプリングレートで、これは単位時間あたりに行なわ
  れるサンプリングの回数のことです(普通はサンプル数/秒、またはヘルツを単
  位として表されます)。サンプリングレートが低いと、元のアナログ信号を忠
  実に再現することができません。もう一つはサンプリングサイズ、つまりひと
  つひとつのサンプルを表現する値の範囲で、普通ビットを単位として表されま
  す。サンプリングサイズが大きいほど、デジタル化された信号は正確になりま
  す。

  サウンドカードは通常、8 ビットまたは 16 ビットで、一秒あたりおよそ
  4000 から 44,000 回のサンプリングを行ないます。サンプリングは 1 チャン
  ネル(モノラル)のこともあれば、2 チャンネル (ステレオ)のこともありま
  す。

  FM 音源は、サウンドを生成するために古くから使われている技術です。FM 音
  源は、異なる波形(例えば正弦波、三角波、矩形波など) を合成することでサ
  ウンドを生成します。 FM 音源は D/A 変換に比べてハードウェアによる実現
  が容易ですが、プログラムが困難で柔軟性に欠けるという欠点があります。サ
  ウンドカードの多くは、古いカードやソフトウェアとの互換性のために FM 音
  源を用意しています。通常は、複数の独立したサウンドジェネレータ(ボイス
  とも呼ばれます)が利用できます。

  ウェーブテーブル音源は、D/A 変換の柔軟さと FM 音源の複数チャンネルを扱
  う機能を組み合わせた技術です。ウェーブテーブル音源技術においては、ディ
  ジタイズされた音声を専用のメモリにダウンロードし、ほとんど CPU に負荷
  をかけることなく再生・合成・変更を行うことができます。最新のサウンド
  カードはすべてウェーブテーブル音源をサポートしています。

  ほとんどのカードはミキサー機能、つまり複数の入力源からの信号の重ね合わ
  せとそれぞれのゲインを制御する機能を持っています。

  MIDIとは Musical Instrument Digital Interface(楽器ディジタルインター
  フェース)の略で、楽器どうしが互いに通信するためのハードウェアとソフト
  ウェアプロトコルの規格です。MIDI バス上に送信されたイベントは MIDI
  ファイルとして保存され、後で編集したり再生することができます。多くのサ
  ウンドカードは MIDI インターフェースを持っています。インターフェースが
  ないサウンドカードでも、サウンドカードが備えている機能を使って MIDI
  ファイルを再生することが可能です。

  MOD ファイルは、コンピュータで生成された楽曲の共通フォーマットの一つで
  す。音符に関する情報の他に、ディジタイズされた楽器(または声)のサンプリ
  ングデータが含まれています。 MOD ファイルは最初 Amiga コンピュータで使
  われはじめたものですが、適切なソフトウェアを用いれば Linux など他のシ
  ステムでも再生することができます。

  3.  サポートされているハードウェア

  この章では 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
  オーディオボックスはサポートされていないと聞いています。

  3.1.  サウンドカード

  以下のサウンドカードが Linuxカーネルのサウンドドライバでサポートされて
  います。ここで挙げたものの一部はサウンドカードのモデル名ではなく、オー
  ディオ用チップセットです。このリストは不完全です。というのも、ここに挙
  げたサウンドカードの互換製品がたくさんあり、それらも Linux で動作する
  からです。さらに紛らわしいことに、メーカーによっては、互換性がなくなる
  ような製品の設計変更を定期的に行い、それにもかかわらず同じモデルとして
  販売し続けることがあります。

  o  6850 UART MIDI インターフェース

  o  AD1816/AD1816A ベースのカード

  o  ADSP-2115

  o  ALS-007 ベースのカード (Avance Logic)

  o  ATI Stereo F/X (生産終了)

  o  Acer FX-3D

  o  AdLib (生産終了)

  o  Audio Excel DSP 16

  o  AudioDrive

  o  CMI8330 サウンドチップ

  o  Compaq Deskpro XL のオンボードサウンド機能

  o  Corel Netwinder WaveArtist

  o  Crystal CS423x

  o  ESC614

  o  ESS1688 サウンドチップ

  o  ESS1788 サウンドチップ

  o  ESS1868 サウンドチップ

  o  ESS1869 サウンドチップ

  o  ESS1887 サウンドチップ

  o  ESS1888 サウンドチップ

  o  ESS688 サウンドチップ

  o  ES1370 サウンドチップ

  o  ES1371 サウンドチップ

  o  Ensoniq AudioPCI (ES1370)

  o  Ensoniq AudioPCI 97 (ES1371)

  o  Ensoniq SoundScape (Reveal 社と Spea 社が互換製品を出しています)

  o  Gallant SC-6000

  o  Gallant SC-6600

  o  Gravis Ultrasound

  o  Gravis Ultrasound ACE

  o  Gravis Ultrasound Max

  o  16 ビットサンプリングオプション付きの Gravis Ultrasound

  o  HP Kayak

  o  Highscreen Sound-Booster 32 Wave 3D

  o  IBM MWAVE

  o  Logitech Sound Man 16

  o  Logitech SoundMan Games

  o  Logitech SoundMan Wave

  o  MAD16 Pro (OPTi 82C928, 82C929, 82C930, 82C924 チップセット)

  o  Media Vision Jazz16

  o  MediaTriX AudioTriX Pro

  o  Microsoft Windows Sound System (MSS/WSS)

  o  MiroSOUND PCM12

  o  Mozart (OAK OTI-601)

  o  OPTi 82C931

  o  Orchid SW32

  o  Personal Sound System (PSS)

  o  Pinnacle MultiSound

  o  Pro Audio Spectrum 16

  o  Pro Audio Studio 16

  o  Pro Sonic 16

  o  Roland MPU-401 MIDI インターフェース

  o  S3 SonicVibes

  o  SY-1816

  o  Sound Blaster 1.0

  o  Sound Blaster 2.0

  o  Sound Blaster 16

  o  Sound Blaster 16ASP

  o  Sound Blaster 32

  o  Sound Blaster 64

  o  Sound Blaster AWE32

  o  Sound Blaster AWE64

  o  Sound Blaster PCI 128

  o  Sound Blaster Pro

  o  Sound Blaster Vibra16

  o  Sound Blaster Vibra16X

  o  TI TM4000M notebook

  o  Terratec Base 1

  o  Terratec Base 64

  o  ThunderBoard

  o  Turtle Beach Maui

  o  Turtle Beach MultiSound Classic

  o  Turtle Beach MultiSound Fiji

  o  Turtle Beach MultiSound Hurricane

  o  Turtle Beach MultiSound Monterey

  o  Turtle Beach MultiSound Pinnacle

  o  Turtle Beach MultiSound Tahiti

  o  Turtle Beach WaveFront Maui

  o  Turtle Beach WaveFront Tropez

  o  Turtle Beach WaveFront Tropez+

  o  VIA チップセット

  o  VIDC 16 ビットサウンド機能

  o  Yamaha OPL2 サウンドチップ

  o  Yamaha OPL3 サウンドチップ

  o  Yamaha OPL3-SA1 サウンドチップ

  o  Yamaha OPL3-SA2 サウンドチップ

  o  Yamaha OPL3-SA3 サウンドチップ

  o  Yamaha OPL3-SAx サウンドチップ

  o  Yamaha OPL4 サウンドチップ

  互換製品に関する注意: ほとんどのサウンドカードは 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 を参照してください。

  (訳注: 日本語訳は  です。)

  ジョイスティックポート(一部のサウンドカードに付いているものも含みます)
  をサポートするためのカーネルドライバが 2.2 カーネルの一部として含まれ
  ています。

  SCSI や CD-ROM、ジョイスティック、それにサウンドカードのカーネルドライ
  バは、お互いに完全に独立しているということに注意してください。

  3.2.  標準でないサウンドドライバ

  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 ページ (
  )をご覧ください。

  Jaroslav Kysela さんを代表とするプロジェクトが、Gravis UltraSound サウ
  ンドカード用の別のサウンドドライバの作成に着手しています。このプロジェ
  クトの名前は Advanced Linux Sound Architecture (ALSA) に変わり、プロ
  ジェクトの目的も組み込みのカーネルドライバの代わりに使用できる汎用ドラ
  イバの開発となりました。ALSA ドライバはよく使われているサウンドカード
  を数多くサポートしており、全二重であり、完全にモジュール化されており、
  カーネル組み込みのサウンドドライバとも互換です。ALSA プロジェクトの代
  表 WWW サイトは   です。本文書とは別にあ
  る "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 共有機能のサポートと新しいカーネルモジュールインター
       フェースへの対応です。また、メトロノーム機能・同期機能(同期
       の精度を保ちつつ、ビートに合わせてグラフィックスを表示する
       等)・先進的な再生/録音 /オーバーダブのインターフェースやその
       他に多数の機能が追加されました。」

  このドライバは
   から
  入手可能です。

  他にも変わった使い方として、Linux におけるサウンドカードをアマチュアの
  パケットラジオ用のモデムとして使うことができます。バージョン 2.1 以降
  のカーネルには、SoundBlaster 互換および Windows Sound System 互換のサ
  ウンドカードで 1200 bps AFSK および 9600 bps FSK のパケット通信プロト
  コルを実現するドライバが入っています。詳しくは Linux AX25 HOWTO を見て
  ください(ところで、筆者も HAM 通信をやっています。コールサインは
  VE3ICH です)。

  3.3.  PC 内蔵スピーカ

  サウンド用ハードウェアを必要としない代替サウンドドライバがあります。
  PC の内蔵スピーカを利用するものです。これはサウンドカードのドライバと
  ほぼソフトウェア互換ですが、ご想像の通り音質は悪い上、CPU にも大きな負
  荷がかかります。音質はスピーカの特性によって変化するようです。詳しくは
  ドライバに付属の文書を参照してください。

  最近は更新されていないようですが、ドライバのソースは
   にありま
  す。

  3.4.  パラレルポート

  パラレルプリンタポートに付加回路を接続して、ディジタル-アナログ変換装
  置を作る方法もあります。こちらの方法の方が PC 内蔵スピーカを使うよりも
  音質は良いものの、やはり CPU には大きな負荷がかかります。上述の PC サ
  ウンドドライバパッケージはこの方法をサポートしており、必要なハードウェ
  アを作るための説明も載っています。

  4.  インストール

  Linux でサウンド機能を使うためには、次の手順が必要となります。

  1. サウンドカードをインストールする。

  2. プラグ&プレイを設定する(利用可能な場合)。

  3. サウンド機能を組み込んでカーネルを設定・構築する。

  4. デバイスファイルを作成する。

  5. 再構築した Linux カーネルでブートし、テストする。

  RedHat Linux を使っている場合には、sndconfig というユーティリティがあ
  ります。このユーティリティはほとんどの場合、サウンドカードの検出と、そ
  のカード用のサウンドドライバをロードするために必要な設定ファイル全ての
  設定を行います。RedHat をお使いならば、これを使ってみることをお勧めし
  ます。それでうまく動作すれば、この章の残りの部分は読み飛ばしても構いま
  せん。

  sndconfig でうまく設定できなかった場合、RedHat 以外のディストリビュー
  ションをお使いの場合、設定方法の勉強のために手動で設定を行いたい場合の
  手順は、これ以降の章に詳しく書いてあります。

  4.1.  サウンドカードのインストール

  マニュアルに従ってインストールするか、業者に依頼してインストールしても
  らってください。

  古いサウンドカードにはたいてい IRQ や DMA チャネルなどを設定するスイッ
  チやジャンパがあります。この設定はメモしておきましょう。よくわからない
  場合には、工場出荷時の設定をそのまま使うのがいいでしょう。できる限り他
  のデバイス(イーサネットカード、SCSI ホストアダプタ、シリアルポート、パ
  ラレルポートなど)との競合を避けるようにしてください。

  通常は DOS で使っているのと同じ I/O ポート、IRQ, DMA の設定を使うべき
  です。ですが、(特に PnP カードを使っている場合には)Linux でサウンド
  カードを動作させるために DOS と異なる設定が必要なことがあります。実験
  を何度か行う必要があるかもしれません。

  4.2.  プラグ&プレイの設定

  現在ではほとんどのサウンドカードは、プラグ&プレイプロトコルを用いて
  I/O アドレス、割り込み番号、DMA チャネルを設定します。設定が固定、また
  はジャンパで設定するような古いサウンドカードを使っている場合には、この
  章は読み飛ばしても構いません。
  バージョン 2.2 のカーネルでも、まだプラグ&プレイのサポートは完全ではあ
  りません。望ましい解決方法は、ほとんどの Linux ディストリビューション
  に付属している(RedHat の WWW サイトである  か
  らダウンロードすることもできます) isapnp ツールを使うことです。

  まずはお使いの Linux ディストリビューション付属の文書を調べてくださ
  い。プラグ&プレイのサポートは既に設定されているかもしれませんし、設定
  方法がここに書かれているものとは少し異なるかもしれません。読者の皆さん
  自身が設定を行う必要がある場合には、詳しい手順が isapnp ツールに付属の
  オンラインマニュアルに書かれています。通常行なう手順を手短かに説明しま
  す:

  o  pnpdump を用いて、全てのプラグ&プレイデバイスが動作する設定を取り込
     みます。その結果をファイル /etc/isapnp.conf に保存します。

  o  サウンドカードの設定の中から他のデバイスと競合しないものを選び、
     /etc/isapnp.conf ファイル中の適切な行のコメントを外します。ファイル
     の末尾近くにある (ACT Y) コマンドのコメントを外すのも忘れないでくだ
     さい。

  o  システムの起動時に isapnp が実行されるようにします。このコマンドは
     普通、起動スクリプトのいずれかで実行します。システムを再起動する
     か、isapnp を手動で実行します。

  何らかの理由で isapnp ツールが使えない、あるいはこのツールを使いたくな
  くても、他に方法は 2 つあります。Microsoft Windows 95/98 でそのカード
  を使っている場合には、デバイスマネージャを使ってそのカードを設定し、そ
  れから LOADLIN プログラムを使って Linux をソフトブートする方法がありま
  す。Windows と Linux でカードの設定パラメータは必ず同じにしてくださ
  い。

  そのカードを DOS で使っているならば、SoundBlaster16 PnP カード付属の
  icu ユーティリティを使って DOS 上で PnP カードの設定を行い、それから
  LOADLIN プログラムを使って Linux をソフトブートすることができます。繰
  り返しになりますが、DOS と Linux でカードの設定パラメータは必ず同じに
  してください。

  サウンドによっては、カードのプラグ&プレイの初期化を行うために必要なソ
  フトウェアが付属しています。詳しくは、カードのドライバ付属の文書で確認
  してください。

  4.3.  カーネルの設定

  Linux をインストールした直後であれば、おそらくコンパイル済みのカーネル
  を使っていることでしょう。このようなカーネルでは普通、サウンド機能は使
  えません。自分で必要なドライバを組み込んでカーネルを再コンパイルしま
  しょう。またカーネルの再コンパイルは、カーネルのバージョンアップのため
  や、カーネルのサイズを小さくしてメモリを節約するために行ってもよいで
  しょう。サウンドカードが動作したら、後からカーネルのサウンドドライバを
  モジュールとして作り直してもよいでしょう。

  カーネルを再構築する方法は Linux Kernel HOWTO
   に詳しく書かれて
  います(訳注: 日本語訳は  です)。ここでは、サウンドカード固有の点についてだけ説明し
  ます。

  今までに一度もカーネルにサウンド機能を組み込んだことがない人は、まず最
  初にカーネルのサウンドドライバに付属する関連文書を読むと良いでしょう。
  特に、お使いのカード固有の情報は確認してください。このようなファイルは
  カーネルの文書ディレクトリにあります。このディレクトリは通常、
  /usr/src/linux/Documentation/sound です。このファイルがない場合は、
  カーネルのバージョンが非常に古いか、カーネルのソースコードがインストー
  ルされていないかのどちらかでしょう。

  カーネルの構築については、普通と違う点は特にありません。現状ではカーネ
  ル設定を行なうには 3 種類の方法があります。 X11 上で動作する GUI 設定
  は「make xconfig」によって起動できます。テキスト画面しか必要としないメ
  ニューベースのシステムは、「make menuconfig」で利用できます。最初から
  あった方法である「make config」では、簡単なテキストベースのインター
  フェースが使えます。

  カーネルの設定を行う際には、使用するサウンドカードの種類の選択や、使用
  するドライバのオプションに関する選択肢がたくさん出てきます。それぞれの
  オプションの意味は、設定ツール内のオンラインヘルプを見ればわかるはずで
  す。わかる範囲で適切なオプションを選んでください。

  オプション設定を行った後は、Kernel-HOWTO に書かれている手順に従って
  カーネルのコンパイルとインストールを行わなければなりません。

  4.4.  デバイスファイルの作成

  サウンドデバイスを正しく操作するためには、そのデバイス用のデバイスファ
  イルエントリを作成しなければなりません。このエントリは普通、Linux シス
  テムのインストール時に作成されます。以下に示すコマンドで、簡単なチェッ
  クを行うことができます。例に示したような出力が得られれば(日付は異なり
  ます)、デバイスファイルはほぼ確実に OK です。

       % ls -l /dev/sndstat
       crw-rw-rw-   1 root     root      14,   6 Apr 25  1995 /dev/sndstat

  ここに正しいデバイスファイルがあっても、それだけでは何にもなりません。
  デバイスを動作させるには、カーネルドライバをロードするか、組み込まなけ
  ればなりません(詳しくは後述します)。

  滅多にないと思いますが、デバイスファイルがおかしいとしか思えない場合に
  は、デバイスファイルを作り直すこともできます。大抵の Linux ディストリ
  ビューションには、これを行うための /dev/MAKEDEV スクリプトがあります。

  4.5.  Linux のブートとインストールのテスト

  さて、これで新しいカーネルでブートしてサウンドドライバをテストする準備
  が整っていたはずです。いつも通りの方法で新しいカーネルをインストール
  し、システムを再起動してください(もちろん、問題が起こった時のために古
  いカーネルも残しておきましょう)。

  ブート中に、次のようなメッセージが表示されることを確認してください (ス
  クロールが速過ぎて読めない場合には、「dmesg」コマンドを使って後から確
  認することもできます)。

  (訳注: Shift+PageUp で、画面を逆スクロールすることもできます。)

       Sound initialization started
        at 0x220 irq 5 dma 1,5
        at 0x330 irq 5 dma 0
        at 0x388
       Sound initialization complete

  このメッセージは、サウンドカードのタイプとジャンパ設定(もしあれば)を正
  しく示しているはずです。

  ローダブルモジュールのサウンドドライバを使っている時には、上記メッセー
  ジは表示されません(ただし「insmod sound trace_init=1」を設定した場合は
  除きます)。

  サウンドドライバがカーネルにリンクされると、「Sound initialization
  started」と「Sound initialization complete」というメッセージが表示され
  るはずです。このメッセージが表示されなければ、カーネルにはサウンドドラ
  イバが組み込まれていないことになります。この場合には、サウンドドライバ
  を組み込んでコンパイルしたカーネルが本当にインストールされていることを
  確かめてください。

  「Sound initialization started」と「Sound initialization complete」と
  いうメッセージの間に何も表示されないと、サウンドデバイスが全く検出され
  なかったということです。よくあるのは、正しいドライバを有効にしていない
  場合、そのカードがサポートされていない場合、I/O ポートが誤っている場
  合、設定されていない PnP カードを使っている場合です。

  ブート中には、ドライバからエラーメッセージや警告メッセージが表示される
  こともあります。サウンドドライバの設定後に初めてブートする時は、このよ
  うなメッセージが出ないかどうかを注意して見てください。

  次に /dev/sndstat デバイスファイルをチェックしてください。これはサウン
  ドドライバの状態を示すためのデバイスファイルで、読み出すとサウンドカー
  ドドライバが適切に初期化されたかどうかが分かります。出力例を以下に示し
  ます。

       % cat /dev/sndstat
       Sound Driver:3.5.4-960630 (Sat Jan 4 23:56:57 EST 1997 root,
       Linux fizzbin 2.0.27 #48 Thu Dec 5 18:24:45 EST 1996 i586)
       Kernel: Linux fizzbin 2.0.27 #48 Thu Dec 5 18:24:45 EST 1996 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

       Midi devices:
       0: Sound Blaster 16

       Timers:
       0: System clock

       Mixers:
       0: Sound Blaster

  上記のコマンドがエラーメッセージを出力することもあります。 "No such
  file or directory" というエラーは、デバイスファイルを作成する必要があ
  ることを示します(4.3 節を参照)。"No such device" というエラーは、サウ
  ンドドライバがロードされていないか、カーネルに組み込まれていないことを
  示します。これを直すには、4.2 節を見てください。

  /dev/sndstat の "Card config:" セクションにおいて、行全体が括弧で括ら
  れている場合(例: "(SoundBlaster at 0x220 irq 5 drq 1,5)")は、デバイス
  の設定はされているけれど、デバイスが検出されていなかったことを表しま
  す。

  以上で、簡単なサウンドファイルを再生する準備が整いました。サンプル用の
  サウンドファイルをサウンドデバイスに送って、サウンド出力機能の基本的な
  チェックをしてみましょう。

       % cat endoftheworld >/dev/dsp
       % cat crash.au >/dev/audio

  (上のコマンド中の「>」を忘れないように気をつけてください)。

  ただし、一般的には cat でサウンドファイルを再生するのは適切でなく、簡
  単なチェックにしかなりません。もっとまともに使える、適切なプレイヤを
  使ってください(後で紹介します)。

  このコマンドが動作するのは、/dev/sndstat のデバイスのセクションに少な
  くともデバイスが 1 つある場合だけです。/dev/sndstat にオーディオデバイ
  スが全く出てこない場合には、デバイスが検出されなかった原因を調べてくだ
  さい。

  上記のコマンドが "I/O error" を返す場合には、"dmesg" コマンドを使うと
  表示されるカーネルメッセージの末尾の部分を見てください。多分、エラー
  メッセージが表示されると思います。非常によく現れるメッセージは "Sound:
  DMA (output) timed out - IRQ/DRQ config error?" です。このメッセージの
  意味は、デバイスドライバが、期待している割り込みをサウンドカードから受
  け取らなかったということです。ほとんどの場合、これはドライバに設定した
  IRQ または DMA チャネルが動作していないということです。これを動作させ
  るための最も良い方法は、デバイスがサポートしている DMA チャンネルと
  IRQ を全て試すことです。

  他に考えられる原因としては、あるデバイス用のドライバを使っているけれ
  ど、実際のデバイスがそのデバイスと互換でないことがあります。
  "SoundBlaster (Pro/16) 互換" のサウンドカードが SoundBlaster 用ドライ
  バで動作しない時は、ほぼ確実にこれが原因でしょう。この場合には、お使い
  のサウンドカードが互換であるデバイスを何とか調べてください(例: ニュー
  スグループ comp.os.linux.hardware に投稿する)。

  サンプル用のサウンドファイルは、
   か
  ら入手可能です。

  次にサウンドの録音を試してみましょう。カードがサウンド入力機能を持って
  いる場合、次のようにして簡易なテストを行うことができます。

  # record 4 seconds of audio from microphone
  EDT% dd bs=8k count=4 sample.au
  4+0 records in
  4+0 records out
  # play back sound
  % cat sample.au >/dev/audio

  もちろん、このテストをするためにはサウンドカードにマイクロフォンをつな
  ぎ、それに向かって喋る必要があります。また、マイクロフォンを入力デバイ
  スとして設定し、ゲインレベルを設定するために、ミキサープログラムが必要
  になるかもしれません。

  これらのテストがうまくいったら、サウンド用の D/A と A/D のハードウェア
  とソフトウェアは正しく動作していると思っていいでしょう。問題が生じた場
  合には、次のセクションを参照してください。

  4.6.  トラブルシューティング

  本文書に書いてある通りにしたのにうまく行かなかった場合には、以下の項目
  をチェックしてみてください。以下の項目は、簡単なものから複雑なものへと
  順番に並べてあります。ある項目のチェックに失敗したら、その問題を解決し
  てから次に進んでください。

  4.6.1.  ステップ 1: コンパイルしたカーネルが本当に使われているかどうか
  確認する。

  サウンド機能を組み込んだカーネルを使っているかどうかは、カーネルのタイ
  ムスタンプをチェックすることによって確認できます。このためには uname
  コマンドを使うこともできますし、

       % uname -a
       Linux fizzbin 2.2.4 #1 Tue Mar 23 11:23:21 EST 1999 i586 unknown

  あるいは /proc/version ファイルを見てもよいでしょう。

       % cat /proc/version
       Linux version 2.2.4 (root@fizzbin) (gcc version 2.7.2.3) #1 Tue Mar 23 11:23:21 EST 1999

  タイムスタンプがカーネルをコンパイルした時間と異なっている場合には、古
  いカーネルを使っていることになります。本当にリブートしましたか? LILO
  を使っている場合には、LILO を再インストールしましたか(通常は lilo を実
  行します)?フロッピーディスクを使ってブートしている場合、新しいブート
  フロッピーを作成してそれを使ってブートしましたか?

  4.6.2.  ステップ 2: カーネルサウンドドライバが組み込まれていることを確
  認する。

  最も手軽にこれを確認する方法は、前に説明した dev/sndstat の出力を調べ
  ることです。この出力が期待通りでなければ、カーネルの設定と構築の手順の
  どこかに誤りがあります。カーネルの設定・構築からインストール作業をやり
  直してみましょう。

  4.6.3.  ステップ 3: ブート時にカーネルはサウンドカードを認識しました
  か?

  カーネルの起動時にサウンドカードが認識されていることを確認してくださ
  い。起動時にメッセージが表示されているはずです。メッセージが画面からス
  クロールして見えなくなってしまった場合には

       % dmesg

  あるいは

       % tail /var/log/messages

  とすればもう一度メッセージを見ることができます。

  サウンドカードが認識されていない場合、何か不具合があることになります。
  まず、本当にカードがインストールされているかどうか確認してください。サ
  ウンドカードが DOS で動作する場合、ハードウェアは動作していると思って
  間違いないでしょうから、カーネルの設定に問題がありそうです。サウンド
  カードの種類やパラメータの設定が間違っているか、そのサウンドカードが
  Linux のカーネルサウンドカードドライバでサポートされていないかのどちら
  かでしょう。

  一つの可能性としては、お使いのサウンドカードが、DOS のドライバで初期化
  しないと互換サウンドカードにならないものであることが考えられます。DOS
  を起動し、メーカーが用意しているサウンドカードのドライバをロードしてく
  ださい。それから Control-Alt-Delete を使って Linux をソフトブートしま
  す。Linux におけるカードの I/O アドレス、DMA, IRQ の設定は、DOS 用の設
  定と必ず同じにしてください。お使いの種類のカードの設定については、サウ
  ンドドライバのソース配布に入っている Readme.cards ファイルを参考にして
  ください。

  サウンドカードがこの文書に載っていない場合、Linux ドライバでサポートさ
  れていない可能性があります。この文書の最後に示している参考情報のリスト
  をチェックすれば、何か情報が得られるかもしれません。

  4.6.4.  ステップ 4: dsp デバイスからデータを読めますか?

  /dev/audio デバイスから dd コマンドを使ってデータを読み出してみてくだ
  さい。エラーなく読み出せれば OK です。

  訳注: 具体的には次のようにします。

       % dd if=/dev/audio

  しばらく待ってエラーにならなかったら、Ctrl-C で止めます。

  これでうまくいかなかった場合には、IRQ や DMA の競合や、ハードウェアの
  非互換性(そのデバイスが Linux でサポートされていないか、ドライバが間
  違ったデバイスに対して設定されている)の類が問題である可能性がありま
  す。

  可能性としては低いのですが、ハードウェアの故障かもしれません。できれば
  DOS でテストを行って、この可能性を潰してください。

  4.6.5.  どうしてもうまく行かない場合

  それでもまだ問題が解決しない場合には、最後に以下を試してみてください。

  o  この HOWTO 文書を注意深く読み直す

  o  この文書の最後にリストされている参考情報とカーネルソースに入ってい
     る関連 Readme ファイルを読む。

  o  comp.os.linux 等の Usenet ニュースグループに質問を投稿す
     る(comp.os.linux.hardware が良いでしょう。これらのニュースグループ
     は流量が多いので、"sound" という文字列を記事のサブジェクトに入れて
     おくと、その問題に詳しい人に見てもらいやすくなるでしょう)。 (訳注:
     fj.os.linux, japan.os.linux 等のニュースグループには日本語で投稿で
     きます。)

  o  よく吟味した条件を WWW や Usenet の検索エンジンにかければ、良い答え
     を素早く得ることができます。  等
     が利用できます。

  o  最新バージョンの Linux カーネルを用いる(しかし、これは最後の手段で
     す。開発バージョンの最新カーネルは不安定なことがあります)。

  o  サウンドドライバの作者にメールする。

  o  Sound HOWTO の筆者にメールする。

  o  emacs を立ち上げて Esc-x doctor とタイプする。

  訳注: もちろん最後のものは冗談です。

  5.  サウンドを利用するためのアプリケーション

  ここでは、Linux でサウンドカードを使えれば欲しくなると思われるアプリ
  ケーションの代表的なものを示します。 Linux Software Map やインターネッ
  トのアーカイブサイト、それにお手元の Linux CD-ROM に入っているファイル
  を参照すれば、さらに新しい情報が得られるかもしれません。

  最低限、以下のサウンドアプリケーションは欲しくなるでしょう。

  o  オーディオファイルのフォーマットを変換するユーティリティ(例: sox)

  o  ミキサーユーティリティ(例: aumix や xmix)

  o  デジタル音声ファイルのプレイヤ、レコーダ(例: play や wavplay)

  o  MOD ファイルプレイヤ(例: tracker)

  o  MIDI ファイルプレイヤ(例: playmidi)

  ほとんどのツールには、テキストベースのバージョンと GUI ベースのバー
  ジョンがあります。これ以外にも、ちょっと変わったアプリケーション(例え
  ば音声合成や音声認識)などもありますので、興味があれば試してみるとよい
  でしょう。

  6.  FAQ への回答

  ここでは、Usenetニュースグループやメーリングリストでよく聞かれる質問へ
  の回答を示します。

  より多くの質問への回答が OSS サウンドドライバの WWW ページにあります。

  6.1.  いろいろなサウンドデバイスファイルの意味を教えてください。

  以下に示すのは最も標準的なデバイスファイル名ですが、ディストリビュー
  ションによっては少し違った名前を使っていることもあります。

     /dev/audio
        通常は /dev/audio0 へのリンク

     /dev/audio0
        Sun ワークステーション互換のオーディオデバイス (部分的にしか実装
        されておらず、Sun ioctl インターフェースはサポートされていませ
        ん。u-law エンコーディングだけのサポートです)

     /dev/audio1
        2 番目のオーディオデバイス(サウンドカードがサポートしているか、
        複数のサウンドカードがインストールされている場合)

     /dev/dsp
        通常は /dev/dsp0 へのリンク

     /dev/dsp0
        最初のディジタルサンプリングデバイス

     /dev/dsp1
        2 番目のディジタルサンプリングデバイス

     /dev/mixer
        通常は /dev/mixer0 へのリンク

     /dev/mixer0
        最初のサウンドミキサー

     /dev/mixer1
        2 番目のサウンドミキサー

     /dev/music
        高レベルのシーケンサのインターフェース

     /dev/sequencer
        低レベルの MIDI, FM, GUS のインターフェース

     /dev/sequencer2
        通常は /dev/music へのリンク

     /dev/midi00
        最初の raw MIDI ポート

     /dev/midi01
        2番目の raw MIDI ポート
     /dev/midi02
        3番目の raw MIDI ポート

     /dev/midi03
        4番目の raw MIDI ポート

     /dev/sndstat
        読み出すとサウンドデバイスの状態を表示する (/proc/sond としても
        利用可能)

  PC スピーカドライバでは以下のデバイスが使用できます。

     /dev/pcaudio
        /dev/audio と同じ

     /dev/pcsp
        /dev/dsp と同じ

     /dev/pcmixer
        /dev/mixer と同じ

  6.2.  サウンドファイルを再生する方法を教えてください

  Sun ワークステーションのサウンドファイル(.au)は、 /dev/audio デバイス
  に送れば再生できます。raw サンプルは /dev/dspに送れば再生できます。で
  すが、一般的にこれでは良い結果が得られないので、再生には play などのプ
  ログラムを使う方がいいでしょう。というのも、ほとんどのファイル形式を識
  別して、サウンドカードのサンプリングレートなどを正しく設定してくれるか
  らです。

  wavplay や(snd-util パッケージに入っている) vplay のようなプログラム
  は、 WAV ファイルの再生が得意です。しかし、これらのプログラムは
  Microsoft の ADPCM 圧縮を行った WAV ファイルを認識できません。また、古
  いバージョンの play (Lsox パッケージに入っています)は、16 ビットの WAV
  ファイルをうまく再生できません。

  snd-util パッケージに入っている splay コマンドは、コマンドラインで明示
  的に適切なパラメータを入力してやれば、ほとんどのサウンドファイルを再生
  することができます。

  6.3.  録音の方法を教えてください

  /dev/audio または /dev/dsp を読むと、サンプリングされたデータが返され
  るので、これをファイルにリダイレクトすることができます。vrec などのプ
  ログラムを使えば、サンプリングレートや録音時間を簡単に調整することがで
  きます。適切な入力デバイスを選択するためには、ミキサープログラムが必要
  かもしれません。

  6.4.  複数のサウンドカードを使うことができますか?

  現在のサウンドドライバは、複数の SoundBlaster, SoundBlaster/Pro,
  SoundBlaster16, MPU-401, MSS カードを同時に使うことができます。
  SoundBlaster の 2 枚挿しは可能ですが、local.h を手で編集して、マクロ
  SB2_BASE, SB2_IRQ, SB2_DMA, (場合によっては)SB2_DMA2 を定義する必要が
  あります。SoundBlaster と PAS16 を同時に使うこともできます。

  local.h の編集ではなく、"make config" を使ってサウンドの設定を行う 2.0
  以降のカーネルの場合には、ファイル /usr/include/linux/autoconf.h を編
  集する必要があります。以下の行が書かれているセクションの後に
       #define SBC_BASE 0x220
       #define SBC_IRQ (5)
       #define SBC_DMA (1)
       #define SB_DMA2 (5)
       #define SB_MPU_BASE 0x0
       #define SB_MPU_IRQ (-1)

  以下の行を追加します(値はシステムに合わせて変えてください)。

       #define SB2_BASE 0x330
       #define SB2_IRQ (7)
       #define SB2_DMA (2)
       #define SB2_DMA2 (2)

  以下のドライバでは複数のサウンドカードを使うことはできません。

  o  GUS (ドライバの制限)

  o  MAD16 (ハードウェアの制限)

  o  AudioTrix Pro (ハードウェアの制限)

  o  CS4232 (ハードウェアの制限)

  6.5.  サウンドデバイスにアクセスすると "No such file or directory" と
  いうエラーになります。

  サウンドドライバのデバイスファイルを作成する必要があります。デバイス
  ファイルの作成に関する章を参照してください。デバイスファイルが存在する
  場合には、メジャーデバイス番号とマイナーデバイス番号が正しいことを確か
  めてください(CD-ROM 配布の古い Linux ディストリビューションには、イン
  ストール時に正しいデバイスファイルを作成しないものがあります)。

  6.6.  サウンドデバイスにアクセスすると "No such device" というエラーに
  なります。

  サウンドドライバを組み込んだカーネルで起動していないか、あるいは I/O
  アドレスの設定がハードウェアと一致していません。新しくコンパイルした
  カーネルを使っていることと、カーネルの設定時に入力した設定値がハードウ
  エアの設定と一致していることを確かめてください。

  6.7.  サウンドデバイスにアクセスすると "No space left on device" とい
  うエラーになります。

  このエラーは、必要なデバイスファイルを作成せずに /dev/audio または
  /dev/dsp にデータを送ると起こります。この場合、サウンドデバイスは通常
  ファイルとなり、ディスクが食い潰されてしまいます。この文書の「サウンド
  デバイスファイルの作成」の章で説明したスクリプトを走らせる必要がありま
  す。

  このエラーは、バージョン 2.0 以降のカーネルでデバイスをオープンした時
  に RAM の空きが十分でない場合にも起こります。オーディオドライバは、DMA
  チャネル 1 つにつき、連続した物理 RAM を少なくとも 2 ページ(8k)必要と
  します。このエラーは、RAM が 16M より少ないマシンの場合や、非常に長い
  時間マシンが動作している場合に時々起こります。デバイスの再オープンを試
  みる前に以下の C プログラムをコンパイルして実行すると、RAM をいくらか
  解放することができるかもしれません。

       main() {
         int i;
         char mem[500000];
         for (i = 0; i < 500000; i++)
           mem[i] = 0;
         exit(0);
       }

  6.8.  サウンドデバイスにアクセスすると "device busy" というエラーにな
  ります。

  一つのサウンドデバイスをオープンできるのは、同時に一つのプロセスだけで
  す。他のプロセスが問題のデバイスを使っているのでしょう。これを確かめる
  方法の一つは、fuser コマンドを使うことです。

       % fuser -v /dev/dsp
       /dev/dsp:             USER       PID ACCESS COMMAND
                             tranter    265 f....  tracker

  上の例では、fuser コマンドは 265 番のプロセスが /dev/dsp デバイスを
  オープンしていることを示しています。このプロセスが終了するのを待つか、
  このプロセスを kill すれば、このサウンドデバイスにアクセスできるように
  なります。他のユーザの使用状況を見るために、fuser コマンドは root 権限
  で実行しなければなりません。

  システムによっては、他のユーザのプロセスを見るために、fuser コマンドの
  実行中に root ユーザでなければならないかもしれません。

  6.9.  まだ device busy エラーが発生します!

  Brian Gough さんによれば、DMA チャネル 1 を使っている SoundBlaster
  カードは、同じく DMA チャネル 1 を使っている QIC-02 テープドライバと競
  合を起こして「device busy」エラーを発生する可能性があるそうです。FTAPE
  を使っている場合、このドライバが有効になっているかもしれません。
  FTAPE-HOWTO によれば、FTAPE を使うために必要なのは QIC-117 ドライバだ
  けで、QIC-02 ドライバは本質的に必要なわけではないとのことです。QIC-117
  を使うが QIC-02 は使わないようにカーネルを再設定すれば、FTAPE とサウン
  ドドライバを共存させることができます。

  6.10.  ディジタイズされたサウンドファイルが部分的にしか再生されませ
  ん。

  通常、これはサウンドが 1 秒程度再生された後に停止してしまうか、
  「missing IRQ」や「DMA timeout」というエラーメッセージを表示するという
  症状です。もっとも疑わしいのは、IRQ や DMA の設定の間違いです。カーネ
  ルの設定とサウンドカードのジャンパ設定が合っており、かつ他のカードと衝
  突していないことを確認してください。

  サウンドが「ループ」するという症状が現れることもあります。これは通常
  IRQ の競合が原因です。

  6.11.  MOD ファイルの再生時に音が途切れる

  MOD ファイルの再生には、かなりの CPU パワーが必要です。実行中のプロセ
  スが多過ぎるか、コンピュータのスピードが遅過ぎてリアルタイム再生ができ
  ないのでしょう。次のような解決策があります。

  o  サンプリングレートを下げるか、モノラルモードで再生する

  o  他のプロセスを終了させる

  o  もっと速いコンピュータを買う

  o  もっと強力なサウンドカード(例えば Gravis UltraSound)を買う

  Gravis UltraSound カード(GUS)を使っている場合には、GUS 専用に書かれた
  MOD ファイルプレイヤ(例えば gmod)を使う必要があります。

  6.12.  サウンドアプリケーションのコンパイル時にエラーが発生します。

  バージョン 1.0c 以前のサウンドドライバの ioctl() スキームは、現在のも
  のとは違っていて互換性がありません。新しいソースコードを入手するか、
  ソースコードを書き換えて新しいサウンドドライバに適合するようにしてくだ
  さい。詳しくはサウンドドライバの Readme ファイルを参照してください。

  また、アプリケーションをコンパイルする時に最新バージョンの soundcard.h
  と ultrasound.h を使っていることを確認してください。この文書の最初の方
  に、インストール手順が書いてあります。

  6.13.  以前動いていたサウンドアプリケーションを実行すると SEGV エラー
  が発生します。

  おそらく上の質問と同じ問題でしょう。

  6.14.  サウンドドライバの既知のバグや制限を教えてください。

  サウンドドライバのカーネルソースに含まれる説明を読んでください。

  6.15.  サウンドドライバの ioctl()  などに関する文書はどこにありますか?

  現在もっとも優れた文書は(ソースコードを除くと)4Front Technologies 社の
  WWW サイトである   にあります.別の情報源と
  しては Linux Multimedia Guide がありますが,これは参考情報の章で紹介し
  ます.

  6.16.  途切れなく再生や録音を行なうためには、どのくらいの CPU 資源が必
  要ですか?

  この質問には簡単な回答はありません。以下のような要素に依存するからで
  す。

  o  PCM サンプリングを使うか FM 音源を使うか

  o  サンプリングレートとサンプリングサイズ

  o  再生や録音に使うアプリケーション

  o  サウンドカードのハードウェア

  o  ディスク I/O の速度、CPU のクロック速度、キャッシュのサイズなど

  一般的に言って、386 以上のマシンであればサンプリングデータや FM 音源で
  作成した音楽を 8 ビットサウンドカードで無理なく再生できるはずです。

  しかし、MODファイルの再生にはかなりの CPU 資源が必要です。実験的な測定
  によれば、44KHz での再生は 486/50MHz の 40% 以上の CPU パワーを必要と
  し、 386/25MHz では 22KHz 以上での再生はまず無理だということです
  (SoundBlaster のような 8 ビットサウンドカードの場合です)。Gravis
  UltraSound などのカードでは、より多くの機能をハードウェアが実行するの
  で、必要な CPU 資源は少なくなります。

  以上に述べたことは、CPU に負荷をかけるタスクをコンピュータが他に実行し
  ていないことが前提です。

  sox などのユーティリティを使ってサウンドファイルの変換やエフェクトの付
  加を行なう場合には、数値演算コプロセッサがあればかなり高速になります。
  ただしカーネルドライバ自体は浮動小数点演算は一切行ないません。

  6.17.  PAS16 と Adaptec 1542 SCSI ホストアダプタの問題

  (以下の説明は seeker@indirect.com さんによるものです)

  Linux はアドレス 330(デフォルト値)または 334 でしか 1542 を認識しませ
  ん。一方、PAS は MPU-401 エミュレーションのアドレスとして 330 しか受け
  付けません。MPU-401 インターフェースをソフトウェアで無効にしても、1542
  をデフォルトのアドレスに設定していると、アドレスが競合してしまいます。
  1542 をアドレス 334 に移動するのが、すべてを丸く収める方法です。

  また、1542 と PAS-16 はどちらも16ビット DMA を使うため、16ビット 44KHz
  ステレオでサンプリングしたデータを 1542 に繋がっている SCSI ドライブに
  セーブすると問題がよく起こります。 DMA が重なっていて、しかも RAM のリ
  フレッシュに必要な時間が確保できない場合、恐怖の「PARITY ERROR -
  SYSTEM HALTED」メッセージが表示されてしまいます。しかもなぜそれが起き
  たのかという手がかりは全く得られないのです。さらにまずいこと
  に、QIC-117 テープドライブのセカンドソースメーカーの中には、1542 のバ
  スのオン/オフ時間を調整して通常よりも長い時間オンにするように勧めてい
  るメーカーもあります。Adaptec の BBS あるいはインターネットのいくつか
  のサイトから入手できる SCSISEL.EXE プログラムを使って、問題が解決する
  までバスのオン時間を減らすかバスのオフ時間を増やし、多少なりとも状況を
  良くしましょう。 SCSISEL は EEPROM の設定を変更するので、CONFIG.SYS 中
  の DOS ドライバ行を直すよりも効果が長続きしますし、DOS への修正と違っ
  て Linux を直接ブートする場合にも有効です。これでこの問題も解決しまし
  た。

  最後の問題は、古い Symphony チップセットがバスへのアクセスを高速化する
  ためにI/O サイクルのウェイトを大幅に減らしているということです。筆者が
  試したいろいろなボードの中で、ウェイトを減らすことにより問題が生じたの
  は PAS-16 だけでした。Media Vision の BBS にある SYMPFIX.EXE というプ
  ログラムが、Symphony のバスコントローラの診断ビットをいじることによっ
  てこの問題を解決するとのことですが、これは保証の限りではありません。以
  下のような作業を行う必要があるかもしれません。

  o  マザーボードの取扱店に古いバージョンのバスチップを交換してもらう

  o  マザーボードを交換する

  o  別のブランドのサウンドカードを買う。

  Young Microsystems は、ここで輸入したボードであれば約 30ドルでアップグ
  レードしてくれます。マザーボードのメーカーや輸入業者を突き止めることが
  できれば(幸運を祈ります)、他の業者も同様のサービスをしてくれるかもしれ
  ません。この問題は、私の知る限りでは、ProAudio のバスインターフェース
  チップが原因です。120 ドルのサウンドカードを買って 6MHz の AT 互換機で
  使おうという人はいないでしょう。普通は 25〜40MHz の 386 マシンや 486
  マシンで使うでしょうし、チップが正しく設計されていれば、少なくと
  も12MHz のバスクロックで動作するはずです。これにて弁士退場。

  最初の問題は、マザーボード上で使われているチップセットやバスクロック、
  その他の BIOS 設定、それから月齢に依存します。(訳注: つまり同じ条件で
  も起こったり起こらなかったりすることがあるということです。) 2 番目の問
  題は、リフレッシュオプションの設定(hidden か synchronous か)、 1542 の
  DMA レート、それに(おそらく)バス I/O レートに依存します。 3 番目の問題
  は、Media Vision に電話して、どの Symphony チップが Media Vision の遅
  い設計と互換でないのかを質問すればわかるでしょう。しかし注意してくださ
  い。私が話した技術者 4 人のうち、3 人は大馬鹿野郎でした。連中が他社の
  ハードウェアについて言っていることは何一つ信じる気になれません。だっ
  て、連中は自分たちのハードウェアすらまともに知らないんですから。

  6.18.  サンプリング音声の読み書きを同時に行なうことは可能ですか?

  一部のサウンドカード用のドライバは全二重モードをサポートしています。こ
  の使い方については、4Front Technologies 社から入手できる文書で調べてく
  ださい。

  6.19.  SB16 の IRQ を 2 に設定しているのですが、設定プログラムがこの値
  を受け付けてくれません。

  286 以降のマシンでは、IRQ 2 は 2 番目の割り込みコントローラへカスケー
  ドされています。IRQ 2 は IRQ 9 と同じです。

  6.20.  Linux を使った後に DOS をブートすると、エラーメッセージが出力さ
  れたり、サウンドアプリケーションが正常に動作しなかったりします。

  これらの問題は DOS をソフトリブートした後に発生します。 CONFIG.SYS に
  問題があるという間違ったエラーメッセージが表示されることもあります。

  現在のサウンドカードの多くは IRQ と DMA の設定をソフトウェアでプログラ
  ムすることができます。Linux と MS-DOS/Windows とで異なった設定を使って
  いる場合、これが問題を起こすことがあります。サウンドカードによっては、
  完全にリセット(つまり電源をオン/オフするか、ハードウェアリセットボタン
  を押す)しないと、新しいパラメータを受け付けないものもあります。

  手軽な解決法は、ソフトリブート(Ctrl-Alt-Del)ではなく、リセットボタンま
  たは電源のオン/オフによってフルリブートすることです。

  正しい解決法は、MS-DOS と Linux とで同じ IRQ と DMA の設定を使うこと (
  あるいは DOS を使わないこと :-)です。

  6.21.  Linux で DOOM をする時の問題

  ID softwareのゲームである DOOM の Linux 版のユーザは、この問題に興味が
  あることでしょう。

  正しいサウンド出力を得るためには、バージョン 2.90 またはそれ以降のサウ
  ンドドライバが必要です。このバージョンはリアルタイムの「DOOMモード」を
  サポートしています。

  サウンドは 16 ビットでサンプリングされています。8 ビットサウンドカード
  を使っている場合でも、 で
  入手できるプログラムを使えば、サウンドを聞くことができます。

  DOOM のパフォーマンスが良くない場合、(sndserver ファイルの名前を変え
  て)サウンドを無効にするとパフォーマンスが良くなることがあります。

  初期設定では DOOM は音楽をサポートしていません(DOS バージョンと同じで
  す)。 musserver プログラムを使って、Linux 版の DOOM に音楽サポートを追
  加することができます。このプログラムは
   にあります。

  6.22.  サウンドカードが拾う雑音を減らすにはどうしたらよいでしょう?

  品質の良いシールドケーブルを使ったり、サウンドカードを別のスロットに挿
  してみると雑音が減ることがあります。サウンドカードでボリュームが制御で
  きる場合、この設定を変えてみることもできます(おそらく最大音量が最良で
  しょう)。ミキサープログラムを使うと、不必要な入力 (マイク等)の入力ゲイ
  ンを 0 に設定することができます。

  Philipp Braunbeck さんの報告によると、この方の ESS-1868 には組み込みの
  アンプをオフにするジャンパがあり、アンプをオンにすると拾ってしまうノイ
  ズを減らせるそうです。

  最後に、筆者が見つけたある 386 システムでは、カーネルコマンドラインオ
  プション no-hlt によって雑音レベルが減少することが分かりました。このオ
  プションは、カーネルがアイドルプロセスループを回っている時に halt 命令
  を使わないように指示するものです。このオプションはブート時にマニュアル
  で指定することもできますし、LILO の設定ファイルに append = "no-hlt" と
  書いて設定することもできます。

  サウンドカードの中には、シールドや接地が不完全なため、雑音を拾いやすい
  ものもあります。

  6.23.  サウンドの再生はできますが、録音ができません。

  再生はできるが録音ができない場合、以下の手順を試してみてください。

  o  ミキサープログラムを使って適当なデバイス(例えばマイク)を選択する

  o  ミキサーを使って入力ゲインを最大にする

  o  可能ならば MS-DOS 上でサウンドカードからの録音を試し、ハードウェア
     の問題かどうかを判断する
  録音に使われる DMA チャネルが再生に使われる DMA チャネルと異なることが
  あります。この場合に最も可能性の高い原因は、録音用の DMA の設定が間
  違っていることです。

  6.24.  MS-DOS で一度初期化しないと「互換」カードが動かない

  「SoundBlaster 互換」サウンドカードのほとんどは、Linux においては
  SoundBlaster 用でないドライバで使った方がうまく動作します。ほとんどの
  カードは「互換」(例えば「16 ビット SB Pro 互換」、「SB 互換 16 ビッ
  ト」) を謳っていますが、普通はこの SoundBlaster モードは DOS 用ゲーム
  で互換にするためのハックに過ぎません。ほとんどのカードは 16 ビットのネ
  イティブモードを持っており、このモードは多くの場合、最近のバージョン
  (2.0.1 以降)の Linux でサポートされています。

  SoundBlaster 互換モードでの動作を試す必要があるのは一部のカード(比較的
  古いことが多い)だけです。新しめのカードでこの規則の例外に当てはまるの
  は、Mwave ベースのカードだけです。

  6.25.  16ビット SoundBlaster「互換」カードが、Linux 上では 8 ビット
  モードでしか動かない。

  SoundBlaster 互換と銘打たれている 16 ビットサウンドカードは、実は 8
  ビット SoundBlaster Pro との互換性しかないのです。この種のカードは通
  常、 SoundBlaster 16 とも Linux のサウンドドライバとも互換性のない 16
  ビットモードを持っています。

  このようなカードも、MAD16 ドライバや MSS/WSS ドライバを使えば 16 ビッ
  トモードで動作させられるかもしれません。

  6.26.  Linux 用のサウンドアプリケーションはどこにありますか?

  Linux 用のサウンドアプリケーションを探すのに適したサイトを以下に示しま
  す。

  o  

  o  

  o  

  o  

  o  

  o  

  本文書の「参考情報」の章もご覧ください。

  6.27.  サウンドドライバをローダブルモジュールとしてコンパイルすること
  はできますか?

  最近のカーネルでは、サウンドドライバはカーネルローダブルモジュールとし
  てサポートされています。

  /usr/src/linux/Documentation/sound にある文書、特に Introduction と
  README.modules をご覧ください。

  6.28.  システムコンソールのビープ音の代わりにサウンドカードを使うこと
  ができますか?

   にあ
  る、oplbeep プログラムを試してください。

  他にも beep というプログラムもあって、これは
  
  にあります。

  modutilsパッケージには、カーネルから要求があった時に任意の外部プログラ
  ムを呼んでサウンドを発生させるためのプログラム例とカーネルパッチが入っ
  ています。

  その他の方法として、カードによっては、PC スピーカの出力をサウンドカー
  ドにつなぎ、すべてのサウンドをサウンドカードのスピーカから出力させるよ
  うにできる場合もあります。

  6.29.  VoxWareとは何ですか?

  4Front Technologies 社が販売している商用バージョンのサウンドドライバ
  で、以前は VoxWare, USS (Unix Sound System), あるいは TASD
  (Temporarily Anonymous Sound Driver) とも呼ばれていたものです。現在は
  OSS (Open Sound System) として販売されています。Linux カーネルに含まれ
  ているバージョンは OSS/Free と呼ばれることもあります。

  詳しくは 4Front Technologies 社の WWW ページ
   を見てください。筆者は OSS/Linux のレ
  ビューを Linux Journal の 1997 年 6 月号に書きました。

  6.30.  Sox/Play/Vplayが「invalid block size 1024」というエラーを出しま
  す。

  サウンドドライバのバージョン 1.3.67 で行なわれた変更によって、
  SNDCTL_DSP_GETBLKSIZE ioctl の結果が 4096 よりも大きいことを (間違っ
  て)チェックしていたプログラムが動作しなくなりました。最新バージョンの
  サウンドドライバは、4096 バイトより小さいフラグメントを割り当てないよ
  うに修正されたので、古いユーティリティでもこの問題は起こらなくなりまし
  た。

  6.31.  サウンドドライバモジュールをロードすると、ミキサーの設定がリ
  セットされてしまう。

  サウンドドライバをローダブルモジュールとして構築し、kerneldを使って自
  動的にロード・アンロードすることができます。これには一つ問題がありま
  す。モジュールが再ロードされるたびにミキサーの設定がデフォルト値に戻っ
  てしまうのです。サウンドカードによってはデフォルト値は(例えば SB16 の
  ように)大き過ぎたり、小さ過ぎたりします。 Markus Gutschke
  (gutschk@uni-muenster.de) さんがこの問題の解決方法を見つけました。それ
  は次のような行を /etc/conf.modules ファイルに追加するという方法です。

       options sound dma_buffsize=65536 && /usr/bin/setmixer igain 0 ogain 0 vol 75

  これで、サウンドドライバがロードされた直後にミキサープログラム (上の例
  ではsetmixer)が起動されるようになります。 dma_buffsizeパラメータは単な
  るダミーの値ですが必要です。オプションコマンドはコマンドラインオプショ
  ンを要求するからです。必要に応じてミキサープログラムとゲイン設定を書き
  換えてください。

  サウンドドライバをコンパイルしてカーネルに組み込んでおり、ブート時にミ
  キサーゲインを設定したい場合には、/etc/rc.d/rc.local のようなシステム
  スタートアップファイルからミキサープログラムを呼び出すようにするとよい
  でしょう。

  6.32.  root しかサウンドの録音ができません。

  デフォルトでは Readme.linux 中のスクリプトは、root にしか読み出せない
  サウンドデバイスファイルを作成します。これはセキュリティホールを作って
  しまう可能性をなくすためです。ネットワーク環境では、外部のユーザがサウ
  ンドカードとマイクが接続された Linux PC にリモートログインし、周りの物
  音を盗聴することが考えられます。このようなおそれがなければ、スクリプト
  中のパーミッションを変えても構いません。

  デフォルトの設定でも、一般ユーザがサウンドファイルを再生できます。これ
  はセキュリティ的には危険ではありませんが、周りの迷惑になるおそれはあり
  ます。

  6.33.  IBM ThinkPad のサウンドハードウェアには対応していますか?

  IBM のノート PC である ThinkPad に付いている MWave ベースのサウンド
  カードの設定に関する情報は /usr/src/linux/Documentation/sound/mwave に
  あります。これはカーネルソースの配布物の一部です。

  6.34.  サウンドカードにミキサーが付いていないと表示してアプリケーショ
  ンが異常終了します

  8 ビットの古い SoundBlaster カードには、ミキサー回路が付いていないもの
  があります。一部のサウンドアプリケーションは、ミキサーデバイスがオープ
  ンできることを要求するので、このようなカードを使っていると異常終了して
  しまいます。Jens Werner (werner@bert.emv.ing.tu-bs.de) さんが報告した
  解決方法は、 /dev/mixer を /dev/null にリンクすることで、これで問題な
  く動作するはずです。

  6.35.  SB16 CT4170 で起こる問題

  Scott Manley (spm@star.arm.ac.uk) さんの報告です。

       新しい型の SoundBlaster があるようです。これは SB16 として売
       られていますが、カードに書かれているモデル番号は CT4170 でし
       た。この腐ったカードには 1 つしか DMA チャネルがないので、設
       定しようとするとカーネルが 16 ビット DMA にアクセスして問題
       を起こします。この問題の解決方法は 2 番目の DMA に 1 を設定
       することで、そうすればこのカードは謳い文句通りに動作します。

  6.36.  MIDI キーボードをサウンドカードに接続する方法

  Kim G. S. OEyhus (kim@pvv.ntnu.no) さんの報告です。

       私は、マスターキーボードからの MIDI 出力をサウンドカードの
       MIDI 出力にできるだけ簡単に接続する方法について、インター
       ネット中とサウンドに関する文書を片っ端から調べてみました。し
       かし何も見つかりませんでした。問題になるのは、少なくとも OSS
       サウンドシステムを使っている限り、どちらも同じデバイ
       ス(/dev/midi)を使うことです。したがって私は自分でやり方を見
       つけました。私はこの 2 つを共有したいのです。この方法によ
       り、完全に MIDI をサポートしているとても簡単なシンセサイザを
       作ることができます。

       MIDI マスターキーボードをサウンドカードに直接 MIDI 接続する
       方法

       MIDI マスターキーボードは、シンセサイザがなく、MIDI 出力端子
       だけが付いているキーボードです。この出力は、適当なケーブルを
       使えば大抵のサウンドカードの 15 ピン D-Sub ポートに接続する
       ことができます。

       このようなキーボードを使うとサウンドカードに付いている MIDI
       シンセサイザデバイスを制御することができ、キーボードで制御で
       きる簡単なシンセサイザを作ることができます。

       以下のプログラムをコンパイルして('gcc -o prog prog.c' 等を実
       行します)、これを実行します。

       #include 

       main()
       {
         int fil, a;
         char b[256];

         fil=open("/dev/midi", O_RDWR);
         for(;;)
           {
             a=read(fil, b, 256);
             write(fil, b, a);
           }
       }

  6.37.  IRQ 15 と Ensoniq PCI 128 の問題

  Matthew Inger (mattinger@mindless.com) さんの報告です。

       Ensoniq PCI 128 サウンドカードを動作させるための情報です。

       明らかになっている問題は、このカードがデフォルトで IRQ 15 を
       使おうとすることです(これはプラグ&プレイが管理しています)。
       この割り込みはセカンダリの IDE コントローラが使っており、他
       のデバイスと共有することはできません。したがって、何とかして
       es1370 に別の IRQ を使わせなければなりません(Windos の場合と
       同じように IRQ 15 を使わせるのがいいでしょう)。

       信じられるかどうかは分かりませんが、私はこれを行う方法を見つ
       けました。

       私が行わなければなかったのは以下の作業です:

       a) BIOS では、プラグ&プレイ OS を持っていないことをコン
       ピュータに指示します。これは BIOS の詳細設定メ
       ニュー(advanced options)で設定できるはずです。

       b) BIOS の PCI に関する設定で、レガシー ISA デバイス用に割り
       込み 15 を予約します。私のマシンの BIOS の詳細設定には、PCI
       の設定に関するセクションがありました。このセクションにある
       「Resource Exclusion」の項目で、予約を設定を行います。

       再起動して Linux を立ち上げるとサウンドが使えるはずです(起動
       メッセージを表示するのかどうか、前のメッセージと異なるのかは
       覚えていません)。安全を期すために、私は sndconfig を再び実行
       してテスト音声を再生しました。大した音ではありませんが、そこ
       にあったからです。しかし CD を演奏させると、完璧に音がしまし
       た。

       Windows でのことは心配しなくても大丈夫です。私は自分が持って
       いる 2 枚のカード(ISA Modem と Sound Card の出力)を試しまし
       たが、どちらも問題なく動作しました。

       たぶんお使いの BIOS は私と異なるでしょうが、問題となる要素が
       上の 2 つであることはおわかりいただけるかと思います。幸運を
       祈ります。

  6.38.  SoftOSS を実行できる MIDI パッチで、フリーのものは入手できます
  か?

  SoftOSS は、カーネルのサウンドドライバに入っているソフトウェアベースの
  ウェーブテーブルシンセサイザで、Gravis Utrasound サウンドカードと互換
  です。このドライバを動かすには、GUS 互換の MIDI 音源パッチファイルが必
  要です。カーネルの文書には「パブリックドメインの MIDIA パッチセットが
  入手できる ftp サイトがいくつかあります」と書かれています。

  4Front Technologies の WWW ページ
   で説明されているように、この音
  源パッチは  か
  ら入手できます。
  7.  参考情報

  CD-ROM や SCSI インターフェースをサポートしたサウンドカードを持ってい
  る場合、Linux SCSI HOWTO や Linux CD-ROM HOWTO を見ると有益な情報がさ
  らに得られるでしょう。

  (訳注: 日本語訳は  です。)

  Sound Playing HOWTO には、いろいろな種類のサウンドファイルや音楽のファ
  イルを Linux で再生するための方法が書かれています。

  (訳注: 日本語訳は  です。)

  Linux SoundBlaster AWE32/64 Mini-HOWTO には、Linux で SoundBlaster 32,
  64 を動作させるための方法が説明されています。

  (訳注: 日本語訳は  です。)

  プログラミングに関する情報としては、4Front Technologies 社の WWW ペー
  ジの   があります。

  次の FAQ は、Usenet ニュースグループの news.announce に定期的に投稿さ
  れ、  にアーカイブされてい
  ます。

  o  PCsoundcards/generic-faq (PC サウンドカードに関する一般的な FAQ)

  o  PCsoundcards/soundcard-faq (comp.sys.ibm.pc.soundcard の FAQ)

  o  PCsoundcards/gravis-ultrasound/faq (Gravis UltraSound の FAQ)

  o  audio-fmts/part1 (オーディオファイルフォーマットの説明)

  o  audio-fmts/part2 (オーディオファイルフォーマットの説明)

  これらの FAQ には、製品固有のメーリングリストやアーカイブサイトも紹介
  されています。次の Usenet ニュースグループは、サウンドや音楽に関連する
  話題を議論する場です。

  o  alt.binaries.sounds.* (サウンドファイルを投稿するための各種のグルー
     プ)

  o  alt.binaries.multimedia (マルチメディアファイルの投稿)

  o  alt.sb.programmer (Soundblaster を使うプログラミングの話題)

  o  comp.multimedia (マルチメディアの話題)

  o  comp.music (コンピュータ音楽に関する理論と研究)

  o  comp.sys.ibm.pc.soundcard.* (各種の IBM PC サウンドカードのグルー
     プ)

  マルチメディアに特化した Web サイトが
   にあります。 Linux における
  MIDI・サウンド用アプリケーションに関する役立つサイトが
   にあります。Creative Labs は、
   に WWW サイトを 持っています。 MediaTrix は、
   に WWW サイトを持っています。

  Linux 関連の メーリングリストには、いろいろな話題に特化した「チャンネ
  ル」があります。サウンドに関するチャンネルもあります。参加する方法を知
  るためには、メッセージ本文に「help」と書いたメールを
  majordomo@vger.rutgers.edu に送ってください。これらのメーリングリスト
  はサウンドカードの設定等に関する質問の場ではなく、開発に関する議論をす
  る場所です。

  今までに何度か言及したように、カーネルのサウンドドライバには、いくつか
  の Readme ファイルが含まれており、サウンドカードドライバに関する有益な
  情報が書かれています。これらは通常、 /usr/src/linux/drivers/sound ディ
  レクトリにあります。

  OSS (Linux や他の Unix 互換 OS 用の商用サウンドドライバ)に関する情報
  は、 4Front Technologies 社 の WWW ページ 
  にあります。

  Linux Software Map (LSM) は、Linux 用のソフトウェアを見つけるための大
  変貴重な情報です。soundといったキーワードで LSM を検索することは、サウ
  ンドハードウェアに関連するアプリケーションプログラムを見つけるのに良い
  方法です。LSM は、  を始め
  とする各地の anonymous FTP サイトにあります。Linux 用アプリケーション
  のデータベースを管理している WWW サイトも各地にあります。その一つが
   です。

  Linux Documentation Project は、「Linux Installation and Getting
  Started」などの Linux に関する書籍を作成してきました。これらの文書は、
  有名 Linux アーカイブサイトから anonymous FTP で無料で取ってくることも
  できますし、書籍として購入することもできます。

  最後に、厚かましい宣伝を一つ。 Linux 上でのマルチメディア(特に CD-ROM
  やサウンドカードのアプリケーションやプログラミング)についてもっと知り
  たい人は、 O'Reilly and Associates から発売されている拙著「Linux
  Multimedia Guide」 (ISBN 1-56592-219-0) を読んでみてください。原文の英
  語版に加えて、フランス語訳と日本語訳も出版されています。詳しくは、北米
  ならば 800-998-9938 に電話するか、O'Reilly の WWW サイト
  、あるいは筆者のホームページ
   を見てください。

  (訳注: 日本語訳は「LINUX マルチメディアカイド」 (山形浩生訳、ISBN
  4-900900-30-1, オライリー・ジャパン発行)です。

  8.  日本語訳について

  日本語訳は Linux Japanese FAQ Project が行いました。翻訳に関するご意見
  は JF プロジェクト  宛に連絡してください。

  改訂履歴を以下に示します。

     v1.15j1.0, 27 September 1996
        翻訳: 小島 三弘(kojima@linet.gr.jp), 水原 文(mizuhara@acm.org)

     v1.20j, 28 June 1999
        翻訳: 藤原 輝嘉(fujiwara@linux.or.jp), 校正: 武井 伸
        光(takei@cc.kochi-u.ac.jp)

一覧に戻る
グリーンネット・トップページへ戻る

http://www.green.ne.jp/