Поделиться через


структура XAUDIO2FX_REVERB_PARAMETERS (xaudio2fx.h)

Описание параметров для использования в APO реверберации.

Синтаксис

typedef struct XAUDIO2FX_REVERB_PARAMETERS {
  float  WetDryMix;
  UINT32 ReflectionsDelay;
  BYTE   ReverbDelay;
  BYTE   RearDelay;
  BYTE   SideDelay;
  BYTE   PositionLeft;
  BYTE   PositionRight;
  BYTE   PositionMatrixLeft;
  BYTE   PositionMatrixRight;
  BYTE   EarlyDiffusion;
  BYTE   LateDiffusion;
  BYTE   LowEQGain;
  BYTE   LowEQCutoff;
  BYTE   HighEQGain;
  BYTE   HighEQCutoff;
  float  RoomFilterFreq;
  float  RoomFilterMain;
  float  RoomFilterHF;
  float  ReflectionsGain;
  float  ReverbGain;
  float  DecayTime;
  float  Density;
  float  RoomSize;
  BOOL   DisableLateField;
} XAUDIO2FX_REVERB_PARAMETERS;

Члены

WetDryMix

Процент выходных данных, которые будут реверберации. Допустимые значения : от 0 до 100.

ReflectionsDelay

Время задержки первого отражения относительно прямого пути. Допустимый диапазон — от 0 до 300 миллисекундах.

Примечание Все параметры, связанные с частотой выборки или временем, соответствуют частоте дискретизации 48 кГц и должны масштабироваться для использования с другими частотами выборки. Дополнительные сведения см. в разделе примечаний ниже.
 

ReverbDelay

Задержка реверберации относительно первого отражения. Допустимый диапазон — от 0 до 85 миллисекундах.

Примечание Все параметры, связанные с частотой выборки или временем, соответствуют частоте дискретизации 48 кГц и должны масштабироваться для использования с другими частотами выборки. Дополнительные сведения см. в разделе примечаний ниже.
 

RearDelay

Задержка для левого заднего выхода и правого заднего выходных данных. Допустимый диапазон — от 0 до 5 миллисекундах.

Примечание Все параметры, связанные с частотой выборки или временем, соответствуют частоте дискретизации 48 кГц и должны масштабироваться для использования с другими частотами выборки. Дополнительные сведения см. в разделе примечаний ниже.
 

SideDelay

Задержка выходных данных с левой и правой стороны. Допустимый диапазон — от 0 до 5 миллисекундах.

Примечание Это значение поддерживается начиная с Windows 10.
 
Примечание Все параметры, связанные с частотой выборки или временем, соответствуют частоте дискретизации 48 кГц и должны масштабироваться для использования с другими частотами выборки. Дополнительные сведения см. в разделе примечаний ниже.
 

PositionLeft

Положение левого ввода в смоделированном пространстве относительно прослушивателя. Если параметр PositionLeft имеет минимальное значение, левый вход помещается рядом с прослушивателем. В этой позиции ранние отражения являются доминирующими, и реверберный распад устанавливается обратно в звуковом поле и уменьшается в амплитуде. Если параметр PositionLeft имеет максимальное значение, левый вход размещается на максимальном расстоянии от прослушивателя в имитированной комнате. PositionLeft не влияет на время распада реверберации (живость комнаты), только на видимое положение источника относительно прослушивателя. Допустимый диапазон — от 0 до 30 (без единиц).

PositionRight

То же, что и PositionLeft, но влияет только на правильные входные данные. Допустимый диапазон — от 0 до 30 (без единиц).

Примечание Параметр PositionRight игнорируется в режиме mono-in/mono-out.
 

PositionMatrixLeft

Дает большее или меньшее представление о расстоянии от источника до прослушивателя. Допустимый диапазон — от 0 до 30 (без единиц).

PositionMatrixRight

Дает большее или меньшее представление о расстоянии от источника до прослушивателя. Допустимый диапазон — от 0 до 30 (без единиц).

Примечание. PositionMatrixRight игнорируется в режиме mono-in/mono-out.
 

EarlyDiffusion

Управляет характером отдельных отражений стены. Задайте минимальное значение, чтобы имитировать твердую плоскую поверхность, и максимальное значение, чтобы имитировать рассеянную поверхность. Допустимый диапазон — от 0 до 15 (без единиц).

LateDiffusion

Управляет характером реверберации отдельных стен. Задайте минимальное значение, чтобы имитировать твердую плоскую поверхность, и максимальное значение, чтобы имитировать рассеянную поверхность. Допустимый диапазон — от 0 до 15 (без единиц).

LowEQGain

Корректирует время распада низких частот относительно времени распада в 1 кГц. Значения соответствуют дБ коэффициента увеличения следующим образом:

Значение 0 1 2 3 4 5 6 7 8 9 10 11 12
Получение (дБ) –8 -7 –6 -5 –4 –3 -2 -1 0 +1 +2 +3 +4
 
Примечание Значение LowEQGain , равное 8, приводит к тому, что время распада низких частот равно времени распада при 1 кГц.
 
Допустимый диапазон — от 0 до 12 (без единиц).

LowEQCutoff

Задает частоту углов фильтра низкого прохода, который управляется параметром LowEQGain . Значения соответствуют частоте в Гц следующим образом:

Значение 0 1 2 3 4 5 6 7 8 9
Частота (Гц) 50 100 150 200 250 300 350 400 450 500
 

Допустимый диапазон — от 0 до 9 (без единиц).

HighEQGain

Корректирует время распада высоких частот относительно времени распада в 1 кГц. Если задано значение 0, высокие частоты распадаются с той же скоростью, что и 1 кГц. Если задано максимальное значение, высокие частоты распадаются гораздо быстрее, чем 1 кГц.

Значение 0 1 2 3 4 5 6 7 8
Получение (дБ) –8 -7 –6 -5 –4 –3 -2 -1 0
 

Допустимый диапазон — от 0 до 8 (без единиц).

HighEQCutoff

Задает частоту углов фильтра высокого прохода, который управляется параметром HighEQGain . Значения соответствуют частоте в кГц следующим образом:

Значение 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Частота (кГц) 1 1.5 2 2.5 3 3,5 4 4.5. 5 5.5 6 6,5 7 7,5 % 8
 

Допустимый диапазон — от 0 до 14 (без единиц).

RoomFilterFreq

Задает частоту углов фильтра низких проходов для эффекта помещения. Допустимый диапазон — от 20 до 20 000 Гц.

Примечание Все параметры, связанные с частотой выборки или временем, соответствуют частоте дискретизации 48 кГц и должны масштабироваться для использования с другими частотами выборки. Дополнительные сведения см. в разделе примечаний ниже.
 

RoomFilterMain

Задает уровень интенсивности полосы пропуска фильтра low-pass как для ранних отражений, так и для реверберации позднего поля. Допустимый диапазон — от -100 до 0 дБ.

RoomFilterHF

Задает интенсивность фильтра low-pass как для ранних отражений, так и для реверберации позднего поля на частоте угла (RoomFilterFreq). Допустимый диапазон — от -100 до 0 дБ.

ReflectionsGain

Корректирует интенсивность ранних отражений. Допустимый диапазон — от –100 до 20 дБ.

ReverbGain

Регулирует интенсивность реверберации. Допустимый диапазон — от –100 до 20 дБ.

DecayTime

Время распада реверберации при 1 кГц. Это время, когда полномасштабный входной сигнал распадается на 60 дБ. Допустимый диапазон — от 0,1 до бесконечности секунд.

Density

Управляет модальной плотностью в реверберации позднего поля. Для бесцветных пространств необходимо задать максимальное значение ( 100). По мере уменьшения плотности звук становится пустым (гребень фильтруется). Это эффект, который может быть полезен, если вы пытаетесь моделировать силос. Допустимый диапазон в процентах — от 0 до 100.

RoomSize

Видимый размер акустического пространства. Допустимый диапазон составляет от 1 до 100 футов.

DisableLateField

Если задано значение TRUE, отключает вычисления позднего отражения поля. Отключение поздних вычислений отражения полей приводит к значительной экономии времени ЦП.

Примечание Версии пакета SDK для DirectX XAUDIO2 не поддерживают этот элемент.
 

Комментарии

Все параметры, связанные с частотой выборки или временем, относятся к голосу с частотой 48 кГц и должны масштабироваться для использования с другими частотами выборки. Например, при установке значения ReflectionsDelay значение 300 мс при размещении реверберации в голосе с частотой 48 кГц задержка составляет 300 мс, но при размещении в голосе с частотой 24 кГц задержка становится 150 мс.

Требования к платформе

Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); Пакет SDK для DirectX (XAudio 2.7)

Требования

Требование Значение
Заголовок xaudio2fx.h

См. также раздел

Руководство: создание цепи эффектов

IXAudio2Voice::SetEffectParameters

Обзор протокола XAPO

Структуры XAudio

XAudio2CreateReverb