次の方法で共有


XAUDIO2_FILTER_PARAMETERS

ソース ボイスのフィルター パラメーターを定義します。

typedef struct XAUDIO2_FILTER_PARAMETERS {
    XAUDIO2_FILTER_TYPE Type;
    float Frequency;
    float OneOverQ;
} XAUDIO2_FILTER_PARAMETERS;

メンバ

  • Type
    フィルターがローパス、バンドパス、ハイパスのいずれであるかを示す XAUDIO2_FILTER_TYPE です。
  • Frequency
    (2 * sin(pi * 必要なフィルター カットオフ周波数) / サンプルレート) として計算されるフィルター ラジアン周波数です。周波数は 0 以上で、XAUDIO2_MAX_FILTER_FREQUENCY 以下でなければなりません。最大許容周波数はソース サウンドのサンプリング レートを 6 で除算した値と同じです。この値は最大フィルター ラジアン周波数である 1 に対応します。たとえば、サウンドのサンプリング レートが 48000 で、必要なカットオフ周波数がそのサンプリング レートに対する最大許容値 8000 である場合、Frequency の値は 1 です。 XAUDIO2_HELPER_FUNCTIONS が定義されている場合、XAudio2.h には、ヘルツ単位の周波数とラジアン周波数との間の変換を行うための XAudio2RadiansToCutoffFrequency および XAudio2CutoffFrequencyToRadians ヘルパー関数が含まれます。
  • OneOverQ
    Q 係数の逆数です。0 より大きく、XAUDIO2_MAX_FILTER_ONEOVERQ 以下の値であることが必要です。

解説 

XAUDIO2_FILTER_PARAMETERS を次の値に設定すると、完全にバイパスされたフィルターと音響上同じになります。

    XAUDIO2_FILTER_PARAMETERS FilterParams;
    FilterParams.Frequency = 1.0f;    
    FilterParams.OneOverQ = 1.0f;
    FilterParams.Type = LowPassFilter;
  

要件

ヘッダー: XAudio2.h 宣言

関連項目

XAudio2 の構造体 | IXAudio2Voice::SetFilterParameters, IXAudio2Voice::GetFilterParameters