カーネル モード WDM オーディオ コンポーネント
カーネルモードの Microsoft Windows Driver Model (WDM) オーディオ コンポーネントは次のとおりです。
WDMAud システム ドライバー
SysAudio システム ドライバー
KMixer システム ドライバー
Redbook システム ドライバー
SBEmul システム ドライバー
SWMidi システム ドライバー
DMusic システム ドライバー
AEC システム ドライバー
DRMK システム ドライバー
Splitter システム ドライバー
ポート クラス アダプター ドライバーと PortCls システム ドライバー
USB オーディオ クラス システム ドライバー (Usbaudio.sys)
AVCAudio クラス システム ドライバー
WDMAud システム ドライバー
カーネルモード WDMAud システム ドライバー (Wdmaud.sys) は、ユーザーモード WDMAud システム ドライバー (Wdmaud.drv) とペアになっています。 WDMAud ドライバーのペアは、ユーザーモードの Microsoft Windows マルチメディア システム呼び出しとカーネルストリーミング I/O 要求の間で変換されます。 WDMAud は以下の API の I/O を実行します: waveIn、waveOut、midiIn、midiOut、mixer、および aux (Microsoft Windows SDK ドキュメントで説明されています)。 カーネルモード WDMAud ドライバーは、カーネル ストリーミング (KS) フィルターと SysAudio システム ドライバーのクライアントです。
SysAudio システム ドライバー
SysAudio システム ドライバー (Sysaudio.sys) は、オーディオ コンテンツをレンダリングおよびキャプチャするフィルター グラフを構築します。 SysAudio ドライバーは、オーディオ フィルター グラフを仮想オーディオ デバイスとして表し、各仮想オーディオ デバイスを KSCATEGORY_AUDIO_DEVICE デバイス インターフェイスのインスタンスとして登録します。 (アダプター ドライバーはこのカテゴリに登録しないでください。このカテゴリは SysAudio 専用に予約されています。) たとえば、仮想 MIDI デバイスは、SWMidi ドライバー、KMixer ドライバー、ポート/ミニポート ドライバーを接続することで作成されるフィルター グラフを表す場合があります。 クライアントは、仮想オーディオ デバイスを構成する個々のデバイスではなく、仮想オーディオ デバイスとのみ通信します。 クライアントに対して透過的な SysAudio ドライバーは、仮想オーディオ デバイスを形成するために一緒に接続されているフィルター グラフ内のすべての KS フィルターを構成します。 次のオーディオ ストリーム ソースでは、SysAudio によってビルドされるグラフが使用されます。
DirectSound (Microsoft Windows SDK ドキュメントをご覧ください。)
Windows マルチメディア API の waveIn、waveOut、midiIn、midiOut、mixer、および aux (Windows SDK ドキュメントをご覧ください。)
Redbook CD デジタル オーディオ (Redbook システム ドライバーをご覧ください。)
Sound Blaster エミュレーター (SBEmul システム ドライバーをご覧ください。)
カーネルモード ソフトウェア シンセサイザー (SWMidi システム ドライバーと DMusic システム ドライバーをご覧ください。)
DRMK システム ドライバー
KMixer システム ドライバー
KMixer システム ドライバー (Kmixer.sys) は、次の処理を行う KS フィルターです。
複数の PCM オーディオ ストリームの組み合わせ
高品質のフォーマット変換
ビット深度変換
スピーカーの構成とチャンネル マッピング
KMixer ドライバーは、単純な 8 ビットおよび 16 ビット、モノラル、ステレオのデータ形式に加えて、次の機能をサポートします。
PCM および IEEE 浮動小数点データ
16 ビットを超えるビット深度と、2 つ以上のチャンネルを持つマルチチャンネル形式
頭部伝達関数 (HRTF) 3-D 処理
各種バージョンの Windows のボリューム範囲と既定のボリューム レベルについては、「既定のオーディオ ボリューム設定」をご覧ください。
Redbook システム ドライバー
Redbook システム ドライバー (Redbook.sys) は、CD デジタル オーディオのレンダリングを管理する KS フィルターです。 Redbook ドライバーは、SysAudio システム ドライバーのクライアントです。 システムは、CD デジタル オーディオをファイル システムから Redbook ドライバーにルーティングし、次に SysAudio ドライバーにルーティングします。 CD デジタル オーディオは、優先ウェーブ出力デバイスにレンダリングされます (コントロール パネルのマルチメディア プロパティ ページで設定)。
SBEmul システム ドライバー
SBEmul システム ドライバー (Sbemul.sys) は、MS-DOS アプリケーションに Sound Blaster エミュレーションを提供します。 SBEmul ドライバーは、SysAudio システム ドライバーのクライアントです。 SysAudio ドライバーは、コンテンツをレンダリングしてキャプチャするために、優先するウェーブ デバイスと MIDI デバイスを使用します (コントロール パネルのマルチメディア プロパティ ページで設定)。
Sound Blaster エミュレーションは、Windows 98/Me でのみサポートされています。
SWMidi システム ドライバー
SWMidi システム ドライバー (Swmidi.sys) は、ソフトウェアでエミュレートされた General MIDI (GM) と高品質の Roland GS ウェーブテーブル合成を提供する KS フィルターです。 midiOutXxx アプリケーションは、ハードウェア シンセサイザーが使用できない場合に SWMidi を使用します。 SWMidi フィルターは、WDMAud システム ドライバーからタイムスタンプ付きの MIDI ストリームを入力として受信し、PCM ウェーブ ストリームを KMixer システム ドライバーに出力します。 SWMidi は、すべての音声を内部的にミックスして、PCM ウェーブ形式の単一の 2 チャンネル出力ストリームを形成します。
DMusic システム ドライバー
DMusic システム ドライバー (Dmusic.sys) は、ソフトウェアでエミュレートされた高品質のダウンロード可能なサウンド (DLS) 合成をサポートする KS フィルターです。 DMusic ドライバーは、システム提供のポート クラス ミニポート ドライバーです。 DirectMusic ストリーム データ範囲をサポートする 1 つの DirectMusic ピンが公開されます。 DMusic フィルターは、DirectMusic システム コンポーネントからタイムスタンプ付きの MIDI ストリームを入力として受信し、PCM ウェーブ ストリームを KMixer システム ドライバーに出力します。 DMusic ドライバーは、すべての音声を内部的にミックスして、PCM ウェーブ形式の単一の 2 チャンネル出力ストリームを形成します。 DirectMusic アプリケーションでは、DirectMusic の既定のユーザーモード シンセの代わりに使用するために、カーネルモード ソフトウェア シンセ Dmusic.sys を明示的に選択する必要があります。
AEC システム ドライバー
AEC システム ドライバー (Aec.sys) は、ソフトウェアに AEC (音響エコー キャンセル) アルゴリズムとノイズ抑制アルゴリズムを実装することで、全二重 DirectSound アプリケーションをサポートします。 詳細については、「DirectSound キャプチャ効果」をご覧ください。
DRMK システム ドライバー
DRMK システム ドライバー (Drmk.sys) は、DRM で保護されたコンテンツを含むオーディオ ストリームを復号化する KS フィルターです。 詳細については、「デジタル著作権管理」をご覧ください。
Splitter システム ドライバー
Splitter システム ドライバー (Splitter.sys) は、1 つの入力キャプチャ ストリームから 2 つ以上の出力ストリームを作成する KS フィルターです。 Splitter ドライバーは、入力ストリームの形式とは無関係に、入力ストリームをさらに 2 つの出力ストリームに透過的にコピーします。
Splitter ドライバーは、Microsoft Windows XP 以降でサポートされています。 詳細については、「AVStream のスプリッター」をご覧ください。
ポート クラス アダプター ドライバーと PortCls システム ドライバー
ポート クラス アダプター ドライバーは、オーディオ デバイスをサポートするためにポート/ミニポート ドライバー アーキテクチャを使用します。 PortCls ドライバーには、ISA および PCI オーディオ デバイスの組み込みのドライバー サポートが含まれています。 PortCls システム ドライバー (Portcls.sys) は、ベンダーが提供するポート クラス アダプター ドライバーのフレームワークも提供しますが、ベンダーは ISA および PCI オーディオ デバイスをサポートするために、システム提供のポート クラス アダプター ドライバーを使用することをお勧めします。 PortCls フレームワークは、他のハードウェア バス上のオーディオ デバイスまたはソフトウェアのみのデバイス用のドライバーを構築する場合にも役立ちます。 詳細については、「ポート クラスの概要」をご覧ください。
USB オーディオ クラス システム ドライバー (Usbaudio.sys)
USBAudio クラス システム ドライバー (Usbaudio.sys) は、オーディオ デバイスのユニバーサル シリアル バス デバイス クラス定義に準拠する USB オーディオ デバイスのドライバー サポートを提供します。 このクラス システム ドライバーの詳細については、「USB オーディオ クラス システム ドライバー (Usbaudio.sys)」をご覧ください。
AVCAudio クラス システム ドライバー
AVCAudio クラス システム ドライバー (Avcaudio.sys) は、IEEE 1394 バス上に存在するオーディオ デバイスのドライバー サポートを提供する AVStream ミニドライバーです。 AVCAudio ドライバーと IEEE 1394 オーディオ デバイス関連のサポートは、Windows XP 以降で利用できます。
システム提供のドライバーを操作するには、ハードウェア ベンダーは、次の仕様の適切なセクションに準拠するようにオーディオ デバイスを設計する必要があります。
IEC 61883-1 および IEC 61883-6 (IEC 60958)
AV/C Digital Interface Command Set General Specification Ver. 3.0
AV/C Audio Subunit Specification 1.0
Connection and Compatibility Management Specification 1.0
AV/C Media Stream Format Information and Negotiation
現在処理中の AV/C オーディオ サブユニット仕様への更新
これらの仕様は、IEEE 1394 Wiki ページの Web サイトで説明されています。 AVCAudio ドライバーは、これらの仕様で説明されている機能のサブセットをサポートしています。
オーディオ デバイスがプラグ アンド プレイのデバイス列挙中に IEEE 1394 準拠のオーディオ デバイスであることを識別すると、システムは AVCAudio ドライバーを自動的に読み込んでデバイスを駆動します。 AVCAudio は、独自のアダプター ドライバーを使用せずに、デバイスを直接駆動します。 つまり、適切な IEEE 1394 仕様に準拠するデバイスには、独自のアダプター ドライバーは必要ありません。
Microsoft では、ハードウェア ベンダーが独自のアダプター ドライバーを作成する代わりに、IEEE 1394 オーディオ デバイスに AVCAudio ドライバーを使用することをお勧めします。
次の図は、Windows XP の IEEE 1394 オーディオ デバイスのドライバー階層を示しています。 Windows XP 以降では、この図に示されているすべてのドライバー コンポーネントが、Microsoft からオペレーティング システムと共に提供されています。
図のドライバー コンポーネントの詳細については、次のセクションをご覧ください。