EN JA
SND_EMU10KX(4)
SND_EMU10KX(4) FreeBSD Kernel Interfaces Manual SND_EMU10KX(4)

名称

snd_emu10kxCreative SoundBlaster Live! と Audigy サウンドカードデバイスドライバ

書式

このドライバをカーネルにコンパイルするためには、次の行を利用者のカーネル設定ファイルに置きます:

device sound
device snd_emu10kx

もう一つの方法として、ブート時にモジュールとしてドライバをロードするためには、次の行を loader.conf(5) に置きます:

snd_emu10kx_load="YES"

解説

snd_emu10kx ブリッジドライバによって、一般的なオーディオドライバ sound(4) は、EMU10K1, CA0100, CA0101, CA0102 と CA0108 DSP に基づく Creative サウンドカードにアタッチできます。

snd_emu10kx サウンドカードには、1 から 5 つの pcm(4) デバイス (詳細については 「マルチチャネル再生」 参照) を通してアクセス可能な PCM 部分と midi デバイスを通してアクセス可能な、MPU401 コンパチブル MIDI I/O コントローラがあります。ウエーブテーブル (wave table) シンセサイザのサポートは、利用可能ではありません。

ハードウェア

snd_emu10kx ドライバは、次のサウンドカードをサポートします:

  • Creative Sound Blaster Live! (EMU10K1 チップセット)。 PCM と MIDI インタフェースの両方が利用可能です。
  • Creative Sound Blaster Audigy (CA0100 と CA0101 チップセット)。 PCM と 2 つの MIDI インタフェースが利用可能です。
  • Creative Sound Blaster Audigy 2 と Creative Sound Blaster Audigy 4 (CA0102 チップセット)。 PCM サポートは、48kHz/16 ビットステレオに制限されます (このチップセットの 192kHz/24 ビット部分は、サポートされません)。
  • Creative Sound Blaster Audigy 2 Value (CA0108 チップセット)。 PCM サポートは、48kHz/16 ビットステレオに制限されます (このチップセットの 192kHz/24 ビット部分は、サポートされません)。このカードの MIDI サポートはありません。

snd_emu10kx ドライバは、次のサウンドカードをサポート しません (が、それらは、いくつかのサポートされたものと似た名前があります):

  • emu10k1x Soundblaster Live! 5.1”として FreeBSD によって識別されている Creative Sound Blaster Live! 24-Bit。
  • CA0106-DAT Audigy LS”として FreeBSD によって識別されている Creative Sound Blaster Audigy LS / ES。
  • -DAT チップセット付きのすべての Creative サウンドカード。
  • すべての Creative X-Fi シリーズサウンドカード。

マルチチャネル再生

デフォルトで、 snd_emu10kx ドライバは、マルチチャネル再生能力が有効にされている状態で、ロードされます。利用者が loader.conf(5) 設定ファイルの hint.emu10kx.0.multichannel_disabled オプションを設定しないなら、利用者は、各サウンドカードの出力あたり 1 つの最大 5 つの DSP デバイスを取得します。利用者は、ストリーム逆多重化を鳴らすために、 ( Ports Collectionaudio/pulseaudio のような) 付加ソフトウェアを使用することができます。“FRONT”出力だけが、(ラインまたは S/PDIF 入力のような) 外部のソースからサウンドを再生し録音することができます。

マルチチャネルレコーディング

利用者が snd_emu10kx ドライバをロードするとき、デフォルトで、マルチチャネル録音能力は、有効にされません。 loader.conf(5)hint.emu10kx.0.multichannel_recording オプションを有効にするなら、利用者は、48kHz/16 ビット/モノにロックされたレートでもうひとつの DSP デバイスを取得します。これは、SB Live! カードの実際の 48kHz/16 ビット/32 チャネルと Audigy カードの 48kHz/16 ビット/64 チャネルですが、サウンドサブシステムの現在の実装は、そのような量の PCM チャネルをサポートしません。このデバイスを読み込みのためにオープンすることができません、したがって多くのアプリケーションを混乱させます。

マルチチャネルストリームの最初の半分 (0-15 または 0-31) 内は、すべての DSP 出力のコピーであり、次の半分 (15-30 または 32-63) は、いくつかの DSP 入力のコピーです。 Live! カードにおいて、最後のサブストリーム (31) は、同期ストリームとして使用され、常に 0xc0de に設定されます。 Audigy カードは、ストリームが常にサブストリーム 0 から始まるので、そのような同期データを必要としません。

SB Live! サブストリームマップ (バイトオフセットで、各サブストリームは 2 バイトの LE です)

オフセット
サブストリーム
+0x00..+0x1E
PCM ストリーム 0..15
+0x20, +0x22
+0x24..+0x2A
PCM 入力: front left, front right, rear left, rear right, center, sub
+0x2C..+0x3C
DSP 入力 0..8:
+0x3E
同期サブストリーム (0xc0de)

Audigy サブストリームマップ (バイトオフセットで、各サブストリームは 2 バイトの LE です)

オフセット
サブストリーム
+0x00..+0x3E
PCM ストリーム 0..31
+0x40..+0x5E
PCM 入力: front LR, rear LR, center, sub, ...
+0x60..+0x7E
DSP 入力 0..16

OSS ミキサ制御

これらは、標準の OSS プログラミングインタフェースを通して利用可能な制御です。利用者は、それらを変更するために mixer(8) を使用することができます。

EMU10K1 ベースのカードでは、OSS ミキサは、直接 AC97 コーデックを制御します。より新しいカードでは、OSS ミキサは、AC97 コーデックのいくつかのパラメータといくつかの DSP ベースのミキサ制御を制御します。

“vol”
総合的な音量のためのミキサ制御。
“pcm”
PCM 再生ボリュームのためのミキサ制御。マルチチャネルモードで前の出力ボリュームと単一のチャネルモードですべての出力ボリュームだけを制御します。
“rec”
ミキサ制御は、EMU10K1 と他のカードではとても異なって動作します。 EMU10K1 カードでは、AC97 コーデック記録レベルを制御します。非 EMU10K1 カードでは、DSP に入る AC97 “ステレオミックス” (stereo mix) の量を制御します。 AC97 記録レベルと AC97 記録ソースは、CA0100、CA0101、CA0102 と CA0108 カードに固定されています。 AC97 記録レベルは、常に最大に設定され、記録ソースは、常に“ ステレオミックス”です。
“dig1”
は、CD S/PDIF (カード上の) のボリューム制御です
“dig2”
は、AudigyDrive S/PDIF(Audigy シリーズ) または TOSLink (SB Live! シリーズ) のボリューム制御です
“dig3”
は、カード上の S/PDIF のボリューム制御です
“line2”
は、AudigyDrive "Line In 2"のボリューム制御です
“line3”
は、AudigyDrive "AUX In 2"のボリューム制御です

他の OSS ミキサは、AC97 コーデックの制御入力を制御します。

プライベートデバイス制御

利用者は、 dev.emu10kx.< X> sysctl を通していくつかの EMU10Kx 操作と設定パラメータを制御することができます。これらの sysctl(8) 値は、一時的であり、頼りにするべきではありません。

ドライバの設定

ローダ調整変数は、ドライバ設定を設定するために使用されます。カーネルをブートする前に loader(8) プロンプトで調整変数を設定することができます、または /boot/loader.conf に、それらを格納することができます。ブート後にマシンの sysctl(8) エントリからこれらの調整変数を変更することができませんが、利用者は、 snd_emu10kx ドライバをロードする前に kenv(1) を使用してそれらを変更することができます。
hint.emu10kx.< X> .disabled
ドライバインスタンスのロードを無効にします。
hint.emu10kx.< X> .multichannel_disabled
1 枚のカードがいくつかの PCM デバイスとして表されるとき、マルチチャネル再生のサポートを無効にします。
hint.emu10kx.< X> .multichannel_recording
実験的なマルチチャネル録音サポートを有効にします。
hint.emu10kx.< X> .debug
デバッグ出力レベルを設定します。
0
有効にされた追加のデバッグオプションはありません
1
特定のカードで未使用であることが知られているものでも、接続されているすべての DSP 出力を有効にします。
2
ドライバ内のイベントに関する追加デバッグメッセージは、印刷 (表示) されます。
2
追加デバッグメッセージは、メモリ割り付けが失敗するとき、印刷されます。

関連ファイル

/dev/emu10kx?
snd_emu10kx 管理インタフェース

関連項目

sound(4)

歴史

snd_emu10kx デバイスドライバは、 FreeBSD 7.0 ではじめて登場しました。

作者

ドライバの PCM 部分は、 Cameron Grant <cg@FreeBSD.org>による snd_emu10k1(4) SB Live! ドライバに基づいています。 MIDI インタフェースは、 Mathew Kanner <matk@FreeBSD.org>による snd_emu10k1(4) MIDI インタフェースコードに基づいています。 snd_emu10kx デバイスドライバとこのマニュアルページは Yuriy Tsibizov によって書かれました。

バグ

ドライバは、S/PDIF が接続されず、S/PDIF ボリュームが 0 でないとき、 S/PDIF シグナルを検出しないで、雑音を生成します。

PCM ドライバは、Live!Drive または AudigyDrive ブレイクアウトボックスの存在を検出することができないで、それらを使用しようとし、 (ミキサのそれらのコネクタをリストします)。

MIDI ドライバは、Live!Drive または AudigyDrive ブレイクアウトボックスの存在を検出することができないで、とにかくそれらで IR 受信機を有効にしようとします。

May 28, 2008 FreeBSD