Windows オーディオ アーキテクチャ

このトピックでは、Windows 10オーディオ アーキテクチャの概要について説明しました。

オーディオ スタックダイアグラムのWindows 10

この図では、Windows 10 オーディオ スタックの主要な要素の概要を示します。

Windows 10 のアプリ、オーディオ エンジン、ドライバー、ハードウェアを示すオーディオ スタック図。

Api

最上位レベルの API

最上位レベルの API は、アプリケーション開発に使用されます。 これらの API は現在使用中であり、サポートされています。

これらの古い API は非推奨です。

低レベル API

これらの下位レベルの API は、オーディオ ストリーミングに推奨されます。

  • WASAPI (高パフォーマンスですが、より複雑)
  • IXAudio2 (通常はゲームに使用されます)
  • MIDI

この下位レベルの API は、列挙に推奨されます。

これらの API は、Windows アプリケーションには推奨されません。

オーディオ エンジン

オーディオ エンジンは、オーディオ エンジン (audioeng.dll) を読み込むオーディオ デバイス グラフ (audiodg.exe) という 2 つの関連コンポーネントで構成されます。

オーディオ エンジン:

  • オーディオ ストリームをミックスして処理します。 オーディオ エンジンがバッファーを使用してオーディオを転送する方法の詳細については、「 WaveRT ポート ドライバーについて」を参照してください。
  • オーディオ信号を処理する H/W 固有のプラグインであるオーディオ処理オブジェクト (API) を読み込みます。 API の詳細については、「 Windows オーディオ処理オブジェクト」を参照してください。

Audio Service (audiosrv.dll)

オーディオ サービス:

  • オーディオ ストリームを設定および制御するために使用されます。
  • バックグラウンド オーディオの再生、ダッキングなどの Windows ポリシーを実装します。

オーディオ エンドポイント ビルダー (audioendpointbuilder.exe)

オーディオ エンドポイント ビルダー (audioendpointbuilder.exe):

オーディオ ドライバー

オーディオ ドライバー:

  • ポート ミニポート モデルに従います。 詳細については、「 WDM オーディオ用語 」および 「WaveRT ミニポート ドライバーの開発」を参照してください。
  • 統合スピーカーとマイク、ヘッドセット/ヘッドフォン、USB デバイス、Bluetooth デバイス、HDMI など、複数のオーディオ デバイスからオーディオをレンダリングおよびキャプチャできるようにオーディオ スタックを許可します。
  • ポート-minport モデルは、高度な Linux サウンド アーキテクチャ ALSA に対応しています
  • サンプル ドライバー コードの詳細については、「 サンプル オーディオ ドライバー」を参照してください。

ハードウェア

特定のデバイスに存在するオーディオ ハードウェアは異なりますが、次のような場合があります。

  • オーディオ コーデック
  • DSP (省略可能)
  • 内蔵スピーカー、マイクなど
  • 外部デバイス: USB オーディオ デバイス、Bluetooth オーディオ デバイス、HDMI オーディオなど
  • また、APO の代わりに H/W (コーデックや DSP など) に信号処理を実装することもできます。