次の方法で共有


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 係数の逆数です。Frequency を超える周波数が減衰される速度を制御します。値が大きい場合は減衰の速度が速くなり、値が小さい場合は減衰が徐々に発生します。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