SND_EMU10KX(4) | FreeBSD Kernel Interfaces Manual | SND_EMU10KX(4) |
名称
snd_emu10kx — Creative SoundBlaster Live! と Audigy サウンドカードデバイスドライバ書式
このドライバをカーネルにコンパイルするためには、次の行を利用者のカーネル設定ファイルに置きます:
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 Collection の audio/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 部分は、 <cg@FreeBSD.org>による snd_emu10k1(4) SB Live! ドライバに基づいています。 MIDI インタフェースは、 <matk@FreeBSD.org>による snd_emu10k1(4) MIDI インタフェースコードに基づいています。 snd_emu10kx デバイスドライバとこのマニュアルページは によって書かれました。バグ
ドライバは、S/PDIF が接続されず、S/PDIF ボリュームが 0 でないとき、 S/PDIF シグナルを検出しないで、雑音を生成します。PCM ドライバは、Live!Drive または AudigyDrive ブレイクアウトボックスの存在を検出することができないで、それらを使用しようとし、 (ミキサのそれらのコネクタをリストします)。
MIDI ドライバは、Live!Drive または AudigyDrive ブレイクアウトボックスの存在を検出することができないで、とにかくそれらで IR 受信機を有効にしようとします。
May 28, 2008 | FreeBSD |