カーネル モードの Microsoft Windows Driver Model (WDM) オーディオ コンポーネントは次のとおりです。
WDMAud システム ドライバー
SysAudio システム ドライバー
KMixer システム ドライバー
Redbook システム ドライバー
SBEmul システム ドライバー
SWMidi システム ドライバー
DMusic システム ドライバー
AEC システム ドライバー
DRMK システム ドライバー
スプリッターシステムドライバー
ポート クラス アダプター ドライバーと PortCls システム ドライバー
USB オーディオ クラス システム ドライバー (Usbaudio.sys)
AVCAudio クラス システム ドライバー
WDMAud システム ドライバー
カーネル モード WDMAud システム ドライバー (Wdmaud.sys) は、ユーザー モード WDMAud システム ドライバー (Wdmaud.drv) とペアになっています。 WDMAud ドライバーのペアは、ユーザー モードの Microsoft Windows マルチメディア システム呼び出しとカーネル ストリーミング I/O 要求の間で変換されます。 WDMAud は、waveIn、waveOut、midiIn、midiOut、mixer、aux (Microsoft Windows SDK ドキュメントで説明) の API に対して I/O を実行します。 カーネル モード 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 アプリケーション用のサウンドブラスターエミュレーションを提供します。 SBEmul ドライバーは、SysAudio システム ドライバーのクライアントです。 SysAudio ドライバーは、コンテンツをレンダリングしてキャプチャするために、優先する wave デバイスと MIDI デバイスを使用します (コントロール パネルの [マルチメディア] プロパティ ページで設定)。
Sound Blaster エミュレーションは、Windows 98/Me でのみサポートされています。
SWMidi システム ドライバー
SWMidi システム ドライバー (Swmidi.sys) は、ソフトウェアエミュレートされた一般 MIDI (GM) と高品質のローランド 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 Capture Effects」を参照してください。
DRMK システム ドライバー
DRMK システム ドライバー (Drmk.sys) は、DRM で保護されたコンテンツを含むオーディオ ストリームを復号化する KS フィルターです。 詳細については、「デジタル著作権管理」を参照してください。
分割システム ドライバー
Splitter システム ドライバー (Splitter.sys) は、1 つの入力キャプチャ ストリームから 2 つ以上の出力ストリームを作成する KS フィルターです。 Splitter ドライバーは、入力ストリームの形式とは無関係に、入力ストリームをさらに 2 つの出力ストリームに透過的にコピーします。
Splitter ドライバーは、Microsoft Windows XP 以降でサポートされています。 詳細については、「 AVStream Splitters」を参照してください。
ポート クラス アダプター ドライバーと 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 デジタルインターフェイスコマンドセット 一般仕様 Ver. 3.0
AV/C オーディオ サブユニット仕様 1.0
接続と互換性管理の仕様 1.0
AV/C メディア ストリーム形式の情報とネゴシエーション
現在処理中の AV/C オーディオ サブユニット仕様の更新
これらの仕様は、IEEE 1394 Wiki ページ の Web サイトで説明されています。 AVCAudio ドライバーは、これらの仕様で説明されている機能のサブセットをサポートしています。
オーディオ デバイスがプラグ アンド プレイ デバイスの列挙中に IEEE 1394 準拠のオーディオ デバイスとして自身を識別すると、システムはデバイスを駆動する AVCAudio ドライバーを自動的に読み込みます。 AVCAudio は、独自のアダプター ドライバーを使用せずに、デバイスを直接ドライブします。 つまり、適切な IEEE 1394 仕様に準拠するデバイスには、独自のアダプター ドライバーは必要ありません。
Microsoft では、ハードウェア ベンダーが独自のアダプター ドライバーを記述する代わりに、IEEE 1394 オーディオ デバイス用の AVCAudio ドライバーを使用することをお勧めします。
次の図は、Windows XP の IEEE 1394 オーディオ デバイスのドライバー階層を示しています。 Windows XP 以降では、この図に示されているすべてのドライバー コンポーネントは、オペレーティング システムと共に Microsoft によって提供されます。
図のドライバー コンポーネントの詳細については、次のセクションを参照してください。