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밀리초입니다.
ReverbDelay
첫 번째 리플렉션을 기준으로 하는 반향 지연입니다. 허용되는 범위는 0~85밀리초입니다.
RearDelay
왼쪽 후면 출력 및 오른쪽 후면 출력에 대한 지연. 허용되는 범위는 0~5밀리초입니다.
SideDelay
왼쪽 출력 및 오른쪽 출력에 대한 지연입니다. 허용되는 범위는 0~5밀리초입니다.
PositionLeft
수신기를 기준으로 시뮬레이션된 공간 내의 왼쪽 입력 위치입니다. PositionLeft를 최소값으로 설정하면 왼쪽 입력이 수신기 가까이에 배치됩니다. 이 위치에서 초기 리플렉션은 지배적이며 반향 감쇠는 사운드 필드에서 다시 설정되고 진폭으로 감소됩니다. PositionLeft를 최대값으로 설정하면 왼쪽 입력이 시뮬레이션된 회의실 내의 수신기에서 최대 거리에 배치됩니다. PositionLeft 는 반향 감쇠 시간(방의 활동성)에 영향을 주지 않으며 수신기를 기준으로 소스의 명백한 위치만 영향을 미칩니다. 허용되는 범위는 0에서 30(단위 없음)입니다.
PositionRight
PositionLeft와 동일하지만 올바른 입력에만 영향을 미칩니다. 허용되는 범위는 0에서 30(단위 없음)입니다.
PositionMatrixLeft
원본에서 수신기까지의 거리에 대한 더 크거나 작은 인상을 줍니다. 허용되는 범위는 0에서 30(단위 없음)입니다.
PositionMatrixRight
원본에서 수신기까지의 거리에 대한 더 크거나 작은 인상을 줍니다. 허용되는 범위는 0에서 30(단위 없음)입니다.
EarlyDiffusion
개별 벽 반사의 문자를 제어합니다. 하드 플랫 표면을 시뮬레이션하고 확산 표면을 시뮬레이션하는 최대 값으로 설정하려면 최솟값으로 설정합니다. 허용되는 범위는 0에서 15(단위 없음)입니다.
LateDiffusion
개별 벽 반향의 문자를 제어합니다. 하드 플랫 표면을 시뮬레이션하고 확산 표면을 시뮬레이션하는 최대 값으로 설정하려면 최솟값으로 설정합니다. 허용되는 범위는 0에서 15(단위 없음)입니다.
LowEQGain
1kHz의 감쇠 시간을 기준으로 낮은 주파수의 감쇠 시간을 조정합니다. 값은 다음과 같이 게인의 dB에 해당합니다.
값 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
게인(dB) | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 | 0 | +1 | +2 | +3 | +4 |
LowEQCutoff
LowEQGain 매개 변수로 제어되는 로우 패스 필터의 코너 빈도를 설정합니다. 값은 다음과 같이 Hz의 빈도에 해당합니다.
값 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|---|
주파수(Hz) | 50 | 100 | 150 | 200 | 250 | 300 | 350 | 400 | 450 | 500 |
허용되는 범위는 0에서 9(단위 없음)입니다.
HighEQGain
1kHz의 감쇠 시간을 기준으로 높은 주파수의 감쇠 시간을 조정합니다. 0으로 설정하면 높은 주파수가 1kHz와 동일한 속도로 감소합니다. 최대값으로 설정하면 높은 주파수가 1kHz보다 훨씬 빠른 속도로 감소합니다.
값 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|---|
게인(dB) | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 | 0 |
허용되는 범위는 0에서 8(단위 없음)입니다.
HighEQCutoff
HighEQGain 매개 변수로 제어되는 하이 패스 필터의 코너 빈도를 설정합니다. 값은 다음과 같이 kHz의 빈도에 해당합니다.
값 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
주파수(kHz) | 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,000Hz입니다.
RoomFilterMain
초기 리플렉션과 늦은 필드 반향 모두에 대해 로우 패스 필터의 통과 대역 강도 수준을 설정합니다. 허용되는 범위는 -100~0dB입니다.
RoomFilterHF
초기 리플렉션과 코너 빈도(RoomFilterFreq)에서 늦은 필드 반향 모두에 대한 로우 패스 필터의 강도를 설정합니다. 허용되는 범위는 -100~0dB입니다.
ReflectionsGain
초기 반사의 강도를 조정합니다. 허용되는 범위는 -100~20dB입니다.
ReverbGain
반향의 강도를 조정합니다. 허용되는 범위는 -100~20dB입니다.
DecayTime
1kHz의 반향 감소 시간입니다. 전체 크기 입력 신호가 60dB씩 감소하는 시간입니다. 허용되는 범위는 0.1에서 무한대 초까지입니다.
Density
늦은 필드 반향의 모달 밀도를 제어합니다. 무색 공간의 경우 밀도 를 최대값(100)으로 설정해야 합니다. 밀도가 감소하면 소리가 빈 상태가 됩니다(빗 필터링됨). 이는 사일로를 모델링하려는 경우에 유용할 수 있는 효과입니다. 백분율로 허용되는 범위는 0에서 100까지입니다.
RoomSize
음향 공간의 명백한 크기입니다. 허용되는 범위는 1~100피트입니다.
DisableLateField
TRUE로 설정하면 지연 필드 리플렉션 계산을 사용하지 않도록 설정합니다. 늦은 필드 리플렉션 계산을 사용하지 않도록 설정하면 CPU 시간이 크게 절약됩니다.
설명
샘플링 속도 또는 시간과 관련된 모든 매개 변수는 48kHz 음성을 기준으로 하며 다른 샘플링 속도와 함께 사용하도록 크기를 조정해야 합니다. 예를 들어 ReflectionsDelay 를 300ms로 설정하면 반향이 48kHz 음성으로 호스트될 때 실제 300ms 지연이 발생하지만 24kHz 음성으로 호스트될 때 150ms 지연이 됩니다.
플랫폼 요구 사항
Windows 10(XAudio2.9); Windows 8, Windows Phone 8(XAudio 2.8); DirectX SDK(XAudio 2.7)요구 사항
요구 사항 | 값 |
---|---|
헤더 | xaudio2fx.h |