カーネル モード WDM オーディオ コンポーネント

カーネル モードの 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 は、waveInwaveOutmidiInmidiOutmixeraux (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 waveInwaveOutmidiInmidiOutmixeraux (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 ドライバーは、コンテンツをレンダリングしてキャプチャするために、優先ウェーブおよび MIDI デバイスを使用します (コントロール パネルのマルチメディア プロパティ ページで設定)。

Sound Blaster エミュレーションは、Windows 98/Me でのみサポートされます。

SWMidi システム ドライバー

SWMidi システム ドライバー (Swmidi.sys) は、ソフトウェアエミュレートされた General 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 フィルターです。 詳細については、「 Digital Rights Management」を参照してください。

スプリッター システム ドライバー

Splitter システム ドライバー (Splitter.sys) は、1 つの入力キャプチャ ストリームから 2 つ以上の出力ストリームを作成する KS フィルターです。 Splitter ドライバーは、入力ストリームの形式とは無関係に、入力ストリームを 2 つの出力ストリームに透過的にコピーします。

スプリッター ドライバーは、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 デジタルインターフェイスコマンドセット 一般仕様 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 によって提供されます。

diagram illustrating the driver hierarchy for a 1394 audio device.

図のドライバー コンポーネントの詳細については、次のセクションを参照してください。

AVStream の概要

AV/C クライアント ドライバー

IEEE 1394 バス