オーディオ信号の処理モード

ドライバーは、各デバイスでサポートされているオーディオ信号処理モードを宣言します。

使用可能な信号処理モード

(アプリケーションによって選択された) オーディオ カテゴリは、オーディオ モード (ドライバーによって定義) にマップされます。 Windows では 7 つのオーディオ信号処理モードが定義されています。 OEM と IHV は、実装するモードを決定することができます。 IHV/OEM には、新しいモードを利用して、最適なユーザー エクスペリエンスを提供するためにオーディオ信号を最適化するオーディオ効果を追加することをお勧めします。 下のテーブルにモードの概要を示しています。

モード レンダリング/キャプチャ 説明
直接 両方 Raw モードは、ストリームに信号処理を適用しないことを指定します。 アプリケーションは、まったく変更されていない生のストリームを要求し、独自の信号処理を実行できます。
既定値 両方 このモードはデフォルトのオーディオ処理を定義します。
映画* レンダー 映画音声の再生
メディア* 両方 音楽オーディオ再生 (ほとんどのメディア ストリームのデフォルト)
音声* キャプチャ 人間の音声のキャプチャ (パーソナル アシスタントへの入力など)
通信* 両方 VOIP のレンダリングとキャプチャ (Teams、Skype、Lync など)
通知* レンダー 着信音、アラーム、アラートなど

* Windows 10 の新機能。

信号処理モード ドライバーの要件

オーディオ デバイス ドライバーは、少なくとも Raw または既定モードをサポートする必要があります。 追加モードのサポートはオプションです。

特定のシステムですべてのモードを使用できるわけではない可能性があります。 ドライバーは、サポートする信号処理モード (つまり、ドライバーの一部としてインストールされる API の種類) を定義し、それに応じて OS に通知します。 特定のモードがドライバーでサポートされていない場合、Windows は次に最適な一致モードを使用します。

次の図は、複数のモードをサポートするシステムを示しています。

複数の SFX エフェクトと MFX エフェクトがある複数のオーディオ モードをサポートしているシステムを示す図。

Windows オーディオ ストリームのカテゴリ

オーディオ ストリームの使用状況をシステムに通知するために、アプリケーションには、特定のオーディオ ストリーム カテゴリでストリームにタグを付けるオプションが備わっています。 アプリケーションでは、オーディオ ストリームの作成直後に、任意のオーディオ API を使用してオーディオ カテゴリを設定することができます。 Windows には 9 つのオーディオ ストリーム カテゴリがあります。

カテゴリ 説明
Movie ムービー、ダイアログ付きビデオ (ForegroundOnlyMedia を置き換えます)
メディア メディア再生の既定のカテゴリ (BackgroundCapableMedia を置き換えます)
ゲーム チャット ユーザー間のゲーム内コミュニケーション (Windows 10 での新しいカテゴリ)
Speech 音声入力 (個人用アシスタントなど) と出力 (ナビゲーション アプリなど) (Windows 10 での新しいカテゴリ)
通信 VOIP、リアルタイムチャット
警告 アラーム、着信音、通知
音響効果 ビープ音、カタカタ音など
ゲームメディア ゲームミュージックでは
ゲーム効果 ボールの跳ね返り、車のエンジン音、銃弾など。
その他 未分類のストリーム

前に述べたように、オーディオ カテゴリ (アプリケーションによって選択) は、オーディオ モード (ドライバーによって定義) にマップされます。 アプリケーションでは、各ストリームに 10 個のオーディオ カテゴリのいずれかをタグ付けできます。

アプリケーションには、オーディオ カテゴリと信号処理モードの間のマッピングを変更するオプションはありません。 アプリケーションでは、"オーディオ処理モード" の概念が認識されません。 各ストリームでどのモードが使用されているかを、アプリケーションでは確認することができません。

WASAPI コード サンプル

WASAPIAudio サンプルの次の WASAPI コードは、さまざまなオーディオ カテゴリを設定する方法を示しています。

// The ActivateAudioInterfaceAsync is a replacement for IMMDevice::Activate
IActivateAudioInterfaceAsyncOperation *asyncOp = nullptr;
HRESULT hr = S_OK;

String ^defaultRender = Windows::Media::Devices::MediaDevice::GetDefaultAudioRenderId( Windows::Media::Devices::AudioDeviceRole::Default );

hr = ActivateAudioInterfaceAsync( defaultRender->Data(), __uuidof( IAudioClient3 ), nullptr, this, &asyncOp );
if ( FAILED( hr ) ) { … }
…

// the app’s implementation of IActivateAudioInterfaceCompetionHandler is invoked asynchronously
HRESULT ActivateAudioInterfaceCompletionHandler::ActivateCompleted( IActivateAudioInterfaceAsyncOperation *activateOperation ) {
    HRESULT hr = S_OK;
    HRESULT hrActivateResult = S_OK;
    IUnknown *pUnknown = nullptr;
    IAudioClient3 *pAudioClient3 = nullptr;

    hr = activateOperation->GetActivateResult( &hrActivateResult, &pUnknown );
    if ( FAILED( hr ) )  { … }
    if ( FAILED( hrActivateResult ) ) { … }

    hr = pUnknown->QueryInterface( IID_PPV_ARGS( &pAudioClient3 ) );
    if ( FAILED( hr ) ) { … }

    // The IAudioClient3::SetClientProperties call needs to happen after activation completes,
    // but before the call to IAudioClient3::Initialize or IAudioClient3::InitializeSharedAudioStream.
    AudioClientProperties props = {};
    props.cbSize = sizeof(props);
    props.eCategory = AudioCategory_GameEffects;
    pAudioClient3->SetClientProperties( &props );
    if ( FAILED( hr ) ) { … }

    hr = pAudioClient3->InitializeSharedAudioStream( … );
    if ( FAILED( hr ) ) { … }

    …

信号処理モードと効果

OEM は、各モードで使用される効果を定義します。 Windows では、17 種類のオーディオ効果の一覧が定義されています。

APO をモードに関連付ける方法については、「オーディオ処理オブジェクトの実装」を参照してください。

アプリケーションは、RAW または RAW 以外の処理の特定のストリームにどの効果を適用するかを確認することができます。 アプリケーションは、効果または RAW の処理状態が変化したときに通知を受け取るように求めることもできます。 アプリケーションでは、この情報を使用して、通信などの特定のストリーミング カテゴリが使用可能かどうか、または RAW モードのみが使用されているかどうかを判断できます。 RAW モードのみを使用できる場合、アプリケーションは追加する自身のオーディオ処理の量を決定できます。

System.Devices.AudioDevice.RawProcessingSupported が true の場合、アプリケーションには、特定のストリームで "use RAW" フラグを設定するオプションもあります。 System.Devices.AudioDevice.RawProcessingSupported が false の場合は、アプリケーションは "use RAW" フラグを設定することはできません。

アプリケーションでは、RAW/非 RAW を除き、存在するモードの数を把握できません。

アプリケーションは、オーディオ ハードウェアの構成に関係なく、最適なオーディオ効果処理を要求する必要があります。 たとえば、ストリームを「通信」としてタグ付けすると、バックグラウンドの音楽を一時停止するよう Windows に通知されます。

静的オーディオ ストリーム カテゴリの詳細については、「AudioCategory 列挙型」および「MediaElement.AudioCategory プロパティ」を参照してください。

システム効果の CLSID

FX_DISCOVER_EFFECTS_APO_CLSID

これは、ドライバーに対してクエリを実行してアクティブな効果の一覧を取得する、MsApoFxProxy.dll の "プロキシ効果" の CLSID です。

FX_DISCOVER_EFFECTS_APO_CLSID  = "{889C03C8-ABAD-4004-BF0A-BC7BB825E166}"

KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE

KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE は、参照されている特定の属性が信号処理モード属性であることを識別するカーネル ストリーミングの識別子です。

ここで示す #define ステートメントは、KSMedia.h ヘッダー ファイルで使用できます。

#define STATIC_KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE 0xe1f89eb5, 0x5f46, 0x419b, 0x96, 0x7b, 0xff, 0x67, 0x70, 0xb9, 0x84, 0x1
DEFINE_GUIDSTRUCT("E1F89EB5-5F46-419B-967B-FF6770B98401", KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE);
#define KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE DEFINE_GUIDNAMED(KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE)

KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODEは、KSATTRIBUTE_LIST を含む KSDATARANGE 構造体を持つモード対応ドライバーで使用されます。 このリストには、1 つの要素、KSATTRIBUTE があります。 KSATTRIBUTE 構造体の属性メンバーは、KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE に設定されます。

音声効果

Windows 10 では、次のオーディオ効果を使用できます。

オーディオ効果 説明
音響エコー キャンセル (AEC) 音響エコー キャンセル (AEC) は、オーディオ ストリームに既に存在した後にエコーを削除することで、オーディオ品質を向上させます。
ノイズ抑制 (NS) シンプル ノイズ抑制 (NS) は、ブーンという音やジーという耳鳴りのような音などのノイズがオーディオ ストリームに存在する場合に、ノイズを抑制します。
ディープ ノイズ抑制 ディープ ノイズ抑制では、高度な AI/機械学習手法を使用して音声通話に特化したノイズを抑制します。
自動ゲイン制御 (AGC) 自動ゲイン制御 (AGC) - 入力信号の振幅の変動に関係なく、出力で制御された信号振幅を提供するように設計されています。 平均またはピークの出力信号レベルは、入力から出力へのゲインを適切な値に動的に調整するために使用され、幅広い入力信号レベルでも安定した出力レベルを実現します。
ビーム フォーミング (BF) ビーム フォーミング (BF)は、指向性のある信号の送受信に使用される信号処理技術です。 これは、特定の角度の信号が建設的干渉を受け、他の角度の信号が破壊的干渉を受けるように、段階的配列の要素を組み合わせることによって実現されます。 全方向の受信/送信と比較した改善は、受信/送信ゲイン (または損失) と呼ばれます。
一定のトーン除去 一定のトーン除去は、テープヒス、電動ファン、ガヤガヤという音などの一定の背景ノイズを減衰させるために使用されます。
Equalizer イコライザー効果は、線形フィルターを使用してオーディオ システムの周波数応答を変更するために使用されます。 これにより、高音や低音の設定と同様に、信号のさまざまな部分をブーストできます。
ラウドネス イコライザー ラウドネス イコライザー効果は、大きな音と小さな音が平均的なラウドネス レベルに近づくようにオーディオ出力を平準化することで、認識される音量の違いを低減します。
低音ブースト 低音機能が制限されているスピーカーを搭載したノート PC などのシステムでは、スピーカーによってサポートされている周波数範囲で低音の応答を高めることによって、オーディオの知覚品質を向上させることが可能な場合があります。 低音ブーストは、中低音域のゲインを上げることによって、非常に小さなスピーカーでモバイル デバイス上の音を改善します。
仮想サラウンド 仮想サラウンドは、単純なデジタル方式を使用してマルチチャンネル信号を 2 つのチャンネルに結合します。 これは、ほとんどの最近のオーディオ レシーバーで利用可能な Pro Logic デコーダーを使って、変換された信号を元のマルチチャンネル信号に復元できる方法で行われます。 仮想サラウンドは、2 チャンネルのサウンド ハードウェアおよびサラウンド サウンドを強化するメカニズムを搭載するレシーバーを備えたシステムに最適です。
仮想ヘッドフォン 仮想化されたサラウンド サウンドは、ヘッドフォンを装着しているユーザーが前後左右の音を聞き分けることを可能にします。 これは、脳が音を定位させ、それを音場に統合するのに役立つ空間キューを送信することによって行われます。 これにより、音がヘッドホンを超越したように感じられる効果がもたらされ、「頭の外」でのリスニング エクスペリエンスが作り出されます。 この効果は、頭部伝達関数 (HRTF) と呼ばれる高度なテクノロジを使用して実現されます。 HRTF は、人間の頭部の形状に基づいて音響キューを生成します。 これらのキューは、リスナーがサウンドの方向とソースを見つけるのに役立つだけでなく、リスナーを囲む音響環境の種類も強化します。
スピーカー フィル ほとんどの音楽は 2 つのチャンネルのみで生成されるため、一般的なオーディオまたはビデオ愛好家のマルチチャンネル オーディオ機器用に最適化されてはいません。 左右フロントのスピーカーだけから音楽が発せられるのは、理想的なオーディオ エクスペリエンスとは言えません。 スピーカー フィルは、マルチチャンネル スピーカーの設定をシミュレートします。 これにより、2つのスピーカーからしか聴こえない音楽が、部屋のすべてのスピーカーで再生されるようになり、空間感覚が向上します。
室内音響補正 室内音響補正は、遅延、周波数特性、ゲイン調整の最適な組み合わせを自動的に計算することで、たとえばソファーの中央のクッションなど、部屋の特定の場所におけるリスニングのエクスペリエンスを最適化します。 室内音響補正は、ビデオ画面の画像にサウンドをよりよく一致させ、デスクトップ スピーカーが標準的でない場所に設置されている場合にも便利です。 室内音響補正処理では、人間の耳が音を処理する仕組みをより上手く考慮に入れるため、ハイエンド レシーバーの同様の機能よりも改善されています。 キャリブレーションはマイクを使用して実行され、この手順はステレオ システムでもマルチチャンネル システムでも使用することができます。 ユーザーは、自分が座る予定の場所にマイクを配置し、室内の応答を測定するウィザードをアクティブにします。 ウィザードは、各スピーカーから特別に設計された一連のトーンを順番に再生し、マイクの位置からの各スピーカーの距離、周波数応答、および全体的なゲインを測定します。
低音管理 低音管理モードには、前方低音管理とリバース低音管理の2 つのモードがあります。 前方低音管理は、オーディオ データ ストリームの低周波数コンテンツを除外します。 前方低音管理アルゴリズムは、深い低音周波数を処理できるチャンネルに応じて、フィルター処理された出力をサブウーファーに、またはフロント左およびフロント右のスピーカー チャンネルにリダイレクトします。 この決定は、LRBig フラグの設定に基づいて行われます。 LRBig フラグを設定するには、コントロール パネルのサウンド アプレットを使用して、[低音管理設定] ダイアログ ボックスにアクセスします。 ユーザーは、たとえば、フロント右スピーカーとフロント左スピーカーがフル レンジであることを示すチェック ボックスを選択します。このアクションにより、LRBig フラグが設定されます。 このフラグをクリアするには、チェック ボックスを選択します。 リバース低音管理は、サブウーファー チャンネルから他の出力チャンネルに信号を分配します。 シグナルは、LRBig フラグの設定に応じて、すべてのチャンネル、または左右フロント チャンネルのいずれかに送られます。 このプロセスでは、サブウーファー信号を他のチャンネルにミックスする際に、相当なゲイン リダクションが使用されます。 使用される低音管理モードは、サブウーファーの可用性と、メイン スピーカーの低音処理機能によって異なります。 Windows では、ユーザーは、コントロール パネル のサウンド アプレットを介してこの情報を提供します。
環境効果 環境効果は、実際のオーディオ環境をより正確にシミュレートすることで、オーディオ再生をより現実に近いものにする働きをします。 選択できるさまざまな環境があります。たとえば、"stadium" はスポーツ スタジアムの音響をシミュレートします。
スピーカー保護 スピーカー保護の目的は、スピーカーが PC のシステム コンポーネントのいずれかに物理的な損害を与える原因となる共振周波数を抑制することです。 たとえば、一部の物理的なハード ドライブは、適切な周波数でも大音量で再生することによって破損する可能性があります。 2 つ目の目的として、スピーカー保護は、信号が特定の値を超えたときに信号を減衰させることによって、スピーカーの損傷を最小限に抑えるように機能します。
スピーカー補正 一部のスピーカーは他のスピーカーよりも音の再生に優れています。 たとえば、特定のスピーカーは、100 Hz 未満の音を減衰させることがあります。 オーディオ ドライバーやファームウェア DSP ソリューションでは、再生しているスピーカーの特定のパフォーマンス特性に関する情報を持っていることがあり、この場合、スピーカーの制限を補正するように設計された処理を追加することができます。 たとえば、100 Hz 未満の周波数にゲインを適用するエンドポイント効果 (EFX) を作成することができます。 この効果を、物理スピーカーの減衰と組み合わせると、オーディオの忠実度が向上します。
ダイナミック レンジ圧縮 ダイナミック レンジ圧縮は、オーディオ信号のダイナミック レンジを縮小、または "圧縮 "することで、静かなサウンドを増幅します。 オーディオ圧縮は、あるしきい値以下の静かなサウンドを増幅させますが、大きな音には影響しません。

ここで示す #define ステートメントは、KSMedia.h ヘッダー ファイルで使用できます。

DEFAULT

#define STATIC_AUDIO_SIGNALPROCESSINGMODE_DEFAULT 0xc18e2f7e, 0x933d, 0x4965, 0xb7, 0xd1, 0x1e, 0xef, 0x22, 0x8d, 0x2a, 0xf3
DEFINE_GUIDSTRUCT("C18E2F7E-933D-4965-B7D1-1EEF228D2AF3", AUDIO_SIGNALPROCESSINGMODE_DEFAULT);
#define AUDIO_SIGNALPROCESSINGMODE_DEFAULT DEFINE_GUIDNAMED(AUDIO_SIGNALPROCESSINGMODE_DEFAULT)

RAW

#define STATIC_AUDIO_SIGNALPROCESSINGMODE_RAW 0x9e90ea20, 0xb493, 0x4fd1, 0xa1, 0xa8, 0x7e, 0x13, 0x61, 0xa9, 0x56, 0xcf
DEFINE_GUIDSTRUCT("9E90EA20-B493-4FD1-A1A8-7E1361A956CF", AUDIO_SIGNALPROCESSINGMODE_RAW);
#define AUDIO_SIGNALPROCESSINGMODE_RAW DEFINE_GUIDNAMED(AUDIO_SIGNALPROCESSINGMODE_RAW)

音響エコー キャンセル

#define STATIC_AUDIO_EFFECT_TYPE_ACOUSTIC_ECHO_CANCELLATION 0x6f64adbe, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adbe-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_ACOUSTIC_ECHO_CANCELLATION);
#define AUDIO_EFFECT_TYPE_ACOUSTIC_ECHO_CANCELLATION DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_ACOUSTIC_ECHO_CANCELLATION)

ノイズ抑制

#define STATIC_AUDIO_EFFECT_TYPE_NOISE_SUPPRESSION          0x6f64adbf, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adbf-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_NOISE_SUPPRESSION);
#define AUDIO_EFFECT_TYPE_NOISE_SUPPRESSION DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_NOISE_SUPPRESSION)

自動ゲイン制御

#define STATIC_AUDIO_EFFECT_TYPE_AUTOMATIC_GAIN_CONTROL     0x6f64adc0, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc0-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_AUTOMATIC_GAIN_CONTROL);
#define AUDIO_EFFECT_TYPE_AUTOMATIC_GAIN_CONTROL DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_AUTOMATIC_GAIN_CONTROL)

ビーム フォーミング

#define STATIC_AUDIO_EFFECT_TYPE_BEAMFORMING                0x6f64adc1, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc1-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_BEAMFORMING);
#define AUDIO_EFFECT_TYPE_BEAMFORMING DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_BEAMFORMING)

一定のトーン除去

#define STATIC_AUDIO_EFFECT_TYPE_CONSTANT_TONE_REMOVAL      0x6f64adc2, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc2-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_CONSTANT_TONE_REMOVAL);
#define AUDIO_EFFECT_TYPE_CONSTANT_TONE_REMOVAL DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_CONSTANT_TONE_REMOVAL)

イコライザー

#define STATIC_AUDIO_EFFECT_TYPE_EQUALIZER                  0x6f64adc3, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc3-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_EQUALIZER);
#define AUDIO_EFFECT_TYPE_EQUALIZER DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_EQUALIZER)

ラウドネス イコライザー

#define STATIC_AUDIO_EFFECT_TYPE_LOUDNESS_EQUALIZER         0x6f64adc4, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc4-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_LOUDNESS_EQUALIZER);
#define AUDIO_EFFECT_TYPE_LOUDNESS_EQUALIZER DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_LOUDNESS_EQUALIZER)

低音ブースト

#define STATIC_AUDIO_EFFECT_TYPE_BASS_BOOST                 0x6f64adc5, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc5-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_BASS_BOOST);
#define AUDIO_EFFECT_TYPE_BASS_BOOST DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_BASS_BOOST)

仮想サラウンド

#define STATIC_AUDIO_EFFECT_TYPE_VIRTUAL_SURROUND           0x6f64adc6, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc6-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_VIRTUAL_SURROUND);
#define AUDIO_EFFECT_TYPE_VIRTUAL_SURROUND DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_VIRTUAL_SURROUND)

仮想ヘッドフォン

#define STATIC_AUDIO_EFFECT_TYPE_VIRTUAL_HEADPHONES         0x6f64adc7, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc7-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_VIRTUAL_HEADPHONES);
#define AUDIO_EFFECT_TYPE_VIRTUAL_HEADPHONES DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_VIRTUAL_HEADPHONES)

室内音響補正

#define STATIC_AUDIO_EFFECT_TYPE_ROOM_CORRECTION            0x6f64adc9, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc9-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_ROOM_CORRECTION);
#define AUDIO_EFFECT_TYPE_ROOM_CORRECTION DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_ROOM_CORRECTION)

BASS Management

#define STATIC_AUDIO_EFFECT_TYPE_BASS_MANAGEMENT            0x6f64adca, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adca-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_BASS_MANAGEMENT);
#define AUDIO_EFFECT_TYPE_BASS_MANAGEMENT DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_BASS_MANAGEMENT)

環境効果

#define STATIC_AUDIO_EFFECT_TYPE_ENVIRONMENTAL_EFFECTS      0x6f64adcb, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adcb-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_ENVIRONMENTAL_EFFECTS);
#define AUDIO_EFFECT_TYPE_ENVIRONMENTAL_EFFECTS DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_ENVIRONMENTAL_EFFECTS)

スピーカー保護

#define STATIC_AUDIO_EFFECT_TYPE_SPEAKER_PROTECTION         0x6f64adcc, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adcc-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_SPEAKER_PROTECTION);
#define AUDIO_EFFECT_TYPE_SPEAKER_PROTECTION DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_SPEAKER_PROTECTION)

スピーカー補正

#define STATIC_AUDIO_EFFECT_TYPE_SPEAKER_COMPENSATION       0x6f64adcd, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adcd-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_SPEAKER_COMPENSATION);
#define AUDIO_EFFECT_TYPE_SPEAKER_COMPENSATION DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_SPEAKER_COMPENSATION)

ダイナミック レンジ圧縮

#define STATIC_AUDIO_EFFECT_TYPE_DYNAMIC_RANGE_COMPRESSION  0x6f64adce, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adce-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_DYNAMIC_RANGE_COMPRESSION);
#define AUDIO_EFFECT_TYPE_DYNAMIC_RANGE_COMPRESSION DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_DYNAMIC_RANGE_COMPRESSION)

ディープ ノイズ抑制

Windows 11 バージョン 24H2 以降では、ディープ ノイズ抑制を有効にするための新しい GUID を使用できます。

ノイズ抑制エフェクトには 2 つの識別子があります。 ノイズ抑制の既存の識別子と、ディープ ノイズ抑制用に追加された新しい識別子があります。 前者は "低" (シンプル) ノイズ抑制用であるのに対して、後者は "高" イズ抑制用であり、AI/機械学習ソリューションとして実装されています。 使用可能なすべてのオーディオ エフェクトと同様に、ニーズや特定のシナリオに応じて、どのオーディオ エフェクトを使用するかはアプリケーションによって異なります。

#define STATIC_AUDIO_EFFECT_TYPE_DEEP_NOISE_SUPPRESSION 0x6f64add0, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa

DEFINE_GUIDSTRUCT("6f64add0-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_DEEP_NOISE_SUPPRESSION);

#define AUDIO_EFFECT_TYPE_DEEP_NOISE_SUPPRESSION DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_DEEP_NOISE_SUPPRESSION)

ディープ ノイズ抑制などのオーディオ エフェクトはオーディオ処理オブジェクト (APO) として実装されます。 詳細については、「Windows オーディオ処理オブジェクト」を参照してください。

状態を動的にオンまたはオフにできるエフェクトを公開する場合、APO で IAudioSystemEffects3 インターフェイスを実装する必要があります。 詳細については、IAudioSystemEffects3 インターフェイス (audioengineextensionapo.h) を参照してください。