Chapter 17. オーディオ

目次
17.1. 基本的なハードウェア要素
17.2. BIOS 設定
17.3. オーディオデバイスの設定
17.4. カーネルのオーディオデバイスの設定
17.5. 高度なコマンド

Contributed by Manolo De Santis

この章は NetBSD でのオーディオデバイスの利用法の 簡単な紹介です。(だれか、とにかく無口なコンピューターを希望する?)

17.1. 基本的なハードウェア要素

オーディオ機能を使うには、どのサウンドカードが入っているのかを知る必要があります。 悲しいことに、カードのブランドやモデルを 充分に知ることができないことがあります。 多くのカードはサードパーティーのチップセットを使っています。 でも、オーディオカードについているチップセットが何かを 知ることは便利なことがあります。 NetBSD カーネルでは多くのチップセットについての情報が入っていて、 dmesg で簡単に見られるもので充分な場合がほとんどです。

そのためには、次のコマンドを使い:

# dmesg | more    

この中から、サウンドカードやチップセットを探します。 幸いなことに、多くのサウンドカードでは、 NetBSD で自動的に検出し 設定するので、特にすることがありません。

時々サウンドカードが動作しないことがあって、そのカードがサポートされていないか、 サウンドカードを認識させるために何かしないと いけない場合があります。 大抵のサウンドカードは、いまでは安くなったので、ほかのカードを買うという選択も ありますが、その前に、 今あるカードを NetBSD で動かすために ちょっと試してみましょう。

17.2. BIOS 設定

この節は i386 のコンピューターを持っている人にだけ役に立ち、 他のアーキテクチャー (例えば Amiga) ではこのような機能はありません。 NetBSD でサウンドカードを使うのに最も重要なことは、 カードのバスの種類を決めることです。

最も一般的なインターフェースは ISA および PCI です。

ISA カードは、コンピューター本体の BIOS との関係で、 大抵の物は巧妙な作りになっています。

(1997年以降の)新しい機械では、 BIOS オプションの ISA サウンドカード (サウンドカードだけではありませんが) の設定部分が多くの頭痛の種で: そのオプションの名前は、大抵 "PNP OS Installed" で、 一般に "PNP/PCI Configuration" (名前は BIOS によって違うかもしれません) にあります。 一般的には、 NetBSD にはそれを無効にするのが良い (つまり "NO" に設定する ) でしょう。

註: 多くのシステムでは、このオプションが有効になっていても みんなきちんと動作します。これは、システムに強く依存します。

17.3. オーディオデバイスの設定

NetBSD のインストール中に、 dev ディレクトリーにデバイスが作られます。 最初にインストールされているのは:

/dev/audio
/dev/sound
/dev/mixer
    

もし無ければ、このようにして作れます:

# cd /dev
# ./MAKEDEV all
    

このコマンドでオーディオデバイスを含む すべてのデバイスが作られます。

これで、オーディオカードは、変な動作をしないように、たぶん、ちゃんと準備 できたでしょう。

手っ取り早くテストするために、デバイスにオーディオファイルを 送ることができます(オーディオファイルには普通 .au 拡張子がついています)、が、オーディオファイルがなければ、 たんに、テキストファイルやバイナリーファイルを送るだけでも できます。(もちろん 聞くに耐えないですが...). /dev/audio あるいは /dev/sound を使い:

# cat filename > /dev/audio    

あるいは

# cat filename > /dev/sound    

何か聞こえれば、 NetBSD によってそのカードがサポートされていると言うことで、 起動時にカーネルによって認識され、設定されています。 さもなければ、カーネルの設定をして、システムに オーディオデバイス をインストールする必要があります。 (カード/チップセットがサポートされているものと仮定して。)

17.4. カーネルオーディオデバイスの設定

NetBSD では 幅広いオーディオカードのが GENERIC カーネルですでに有効化されていて、それらのほとんどの設定もされています。

サウンドカードが無いけどオーディオ機能がある機械は 多くあり、これは、マザーボードのチップセットに 統合されているのです。 これらは、 GENERIC カーネルでは有効になっていなくて、 使うためには、カスタムカーネルをコンパイルする必要があります。 GENERIC ファイルに 次のような(または似た)行があり:

# Plug-and-Play BIOS and attached devices
 
#pnpbios*       at mainbus?
  
# mainboard audio chips 
#ess*           at pnpbios? index ?     # ESS AudioDrive
#sb*            at pnpbios? index ?     # NeoMagic 256AV in sb mode
#wss*           at pnpbios? index ?     # NeoMagic 256AV in wss mode
#ym*            at pnpbios? index ?     # OPL3-SA3    

この "pnpbios" 行と、あなたのマザーボードに乗っているデバイスの行の コメント記号(#)をはずしてください。

註: カスタムカーネルの作成時は、 GENERIC ファイルを コピーして作業するのが良く、 Chapter 7 に書かれています。

たまに、デバイスの IRQ と DMA の設定を手作業で 行うことが必要になるものもあります。

もし、なにか問題があっても、全デバイスを有効にして試して みることもできます。オーディオカードの中には、 ほかのカードをエミュレートするようにだけ作られたものがあるからです。

多くのチップセットは、 SoundBlaster および OPL 互換が あるように作られていますが、 大多数のカードは WSS エミュレーションで動きます。

OPL は ヤマハ製の MIDI シンセサイザーで; OPL には多くの バリエーションがあります。 (たとえば OPL2, OPL3SA, OPL3SA2, など)。 多くのサウンドカードがこの素子か互換品を使っています。 たとえば、 produced by Crystal 製のチップ (一般的には CS423x ) のすべてに入っています。 そう言うわけで、 NetBSD で動きます。

WSS は半導体チップではなく; Windows Sound System の頭文字です。 Wss は Microsoft Windows のオーディオシステムをサポートする NetBSD カーネルドライバーの名前です。 この標準 (WSS) に準拠するので多くのカードが Windows で動き、 同じ hold が NetBSD にも。

多くのカードを NetBSD で試しましたが、 結構な数が opl* および wss* だけを有効にしたカーネルで動作しました。

Creative SoundBlaster カードを NetBSD で使う場合は問題が無いはずで: Sound Blaster Live 1024 を含む! ほとんどすべてが サポートされています。

きちんと動いているなら、カーネルコンフィグレーションファイルお (ほかのデバイスを無効化する作業は必要ではありません。

17.5. 高度なコマンド

NetBSD にはオーディオデバイス関係のコマンドが いくつかあります。 それらは:

17.5.1. audioctl

Audioctl は NetBSD 1.3 でできて、 オーディオ I/O に関するさまざまな設定を 手動でするためのものです。 たとえば、再生もしくは録音の周波数などです。 使えるパラメーターは次のコマンドで表示でき:

# audioctl -a | more      

たとえば、 CD 品質の音楽が聞きたい場合は 次のようにします。

# audioctl -w play=44100,2,16,slinear_le      

このコマンドは周波数を 44100Hz 、 2チャンネル 16ビット slinear_le encoding に設定します。

サポートされているエンコーディングは次のコマンドで見られ:

# audioctl encodings      

このコマンドで、使用しているオーディオカードがサポートしている 全エンコーディングの一覧を表示します。

17.5.2. mixerctl

これは audioctl に似たインターフェイスで オーディオミキシングの設定をするコマンドです。

17.5.3. audioplay

このコマンドでオーディオファイルの再生ができます。 もっと sophisticated が必要なら、パッケージシステムにある多くのプログラムから インストールすることができ、異なるフォーマットの オーディオファイル (たとえば MP3 など)を再生できます。

17.5.4. audiorecord

意外ではなくないですが、このコマンドはオーディオファイルへの 録音に使います。