X3DAUDIO_DSP_SETTINGS struttura (x3daudio.h)
Riceve i risultati da una chiamata a X3DAudioCalculate.
Sintassi
typedef struct X3DAUDIO_DSP_SETTINGS {
FLOAT32 *pMatrixCoefficients;
FLOAT32 *pDelayTimes;
UINT32 SrcChannelCount;
UINT32 DstChannelCount;
FLOAT32 LPFDirectCoefficient;
FLOAT32 LPFReverbCoefficient;
FLOAT32 ReverbLevel;
FLOAT32 DopplerFactor;
FLOAT32 EmitterToListenerAngle;
FLOAT32 EmitterToListenerDistance;
FLOAT32 EmitterVelocityComponent;
FLOAT32 ListenerVelocityComponent;
} X3DAUDIO_DSP_SETTINGS, *LPX3DAUDIO_DSP_SETTINGS;
Members
pMatrixCoefficients
Matrice fornita dal chiamante che verrà inizializzata con il livello di volume di ogni canale di origine presente in ogni canale di destinazione. La matrice deve avere almeno (SrcChannelCount × DstChannelCount). La matrice è disposta con i canali di origine come indice di colonna della matrice e i canali di destinazione come indice di riga della matrice. Ad esempio, quando si esegue il rendering dell'input stereo a due canali in un output 5.1 ponderato verso i canali frontali, ma assente dal centro e dai canali a bassa frequenza, la matrice potrebbe essere come illustrato nella tabella seguente.
Output | Input sinistro | Input destro |
---|---|---|
Sinistra | 1,0 | 0,0 |
Destra | 0.0 | 1,0 |
Front Center | 0,0 | 0.0 |
LFE | 0,0 | 0.0 |
Indietro sinistra | 0,8 | 0,0 |
Indietro destra | 0.0 | 0,8 |
Si noti che i canali sinistro e destro sono completamente mappati ai canali di output sinistro e destro; Il 80% dell'input sinistro e destro viene mappato ai canali indietro a sinistra e destra.
Il membro pMatrixCoefficients può essere NULL se il flag di X3DAUDIO_CALCULATE_MATRIX non viene specificato quando si chiama X3DAudioCalculate.
Quando si usa X3DAudio con XAudio2, il valore restituito nel membro pMatrixCoefficients verrà applicato a una voce con IXAudio2Voice::SetOutputMatrix.
pDelayTimes
Il chiamante ha fornito la matrice di tempo di ritardo, che riceve ritardi per ogni canale di destinazione in millisecondi. Questa matrice deve avere almeno elementi DstChannelCount . X3DAudio non esegue effettivamente il ritardo. Restituisce semplicemente i coefficienti che possono essere usati per modificare un effetto DSP ritardato posizionato nella catena di effetti. Il membro pDelayTimes può essere NULL se il flag di X3DAUDIO_CALCULATE_DELAY non viene specificato quando si chiama X3DAudioCalculate.
SrcChannelCount
Numero di canali di origine. Questa operazione deve essere inizializzata per il numero di canali di emissione prima di chiamare X3DAudioCalculate.
DstChannelCount
Numero di canali di origine. Questa operazione deve essere inizializzata per il numero di canali di emissione prima di chiamare X3DAudioCalculate.
LPFDirectCoefficient
Coefficiente di percorso diretto LPF. Calcolato solo se il flag di X3DAUDIO_CALCULATE_LPF_DIRECT viene specificato quando si chiama X3DAudioCalculate.
Quando si usa X3DAudio con XAudio2, il valore restituito nel membro LPFDirectCoefficient verrà applicato a un filtro a basso passaggio su una voce di origine con IXAudio2Voice::SetFilterParameters.
LPFReverbCoefficient
Coefficiente di reverb-path LPF.
Calcolato solo se il flag di X3DAUDIO_CALCULATE_LPF_REVERB viene specificato quando si chiama X3DAudioCalculate.
ReverbLevel
Livello di invio di riverbero. Calcolato solo se il flag di X3DAUDIO_CALCULATE_REVERB viene specificato quando si chiama X3DAudioCalculate.
DopplerFactor
Fattore di spostamento doppler. Ridimensiona il rapporto di resampler per l'effetto di spostamento Doppler, dove:
effective_frequency = DopplerFactor × original_frequency
Calcolato solo se il flag di X3DAUDIO_CALCULATE_DOPPLER viene specificato quando si chiama X3DAudioCalculate.
Quando si usa X3DAudio con XAudio2, il valore restituito in DopplerFactor verrà applicato a una voce di origine con IXAudio2SourceVoice::SetFrequencyRatio.
EmitterToListenerAngle
Angolo interno di emitter-to-listener, espresso in radianti rispetto all'orientamento anteriore dell'emittente.
Calcolato solo se il flag di X3DAUDIO_CALCULATE_EMITTER_ANGLE viene specificato quando si chiama X3DAudioCalculate.
EmitterToListenerDistance
Distanza nelle unità mondiali definite dall'utente dal listener alla posizione di base dell'emittente.
EmitterVelocityComponent
Componente del vettore di velocità dell'emittente proiettato sul vettore di emissione da listener alle unità mondiali definite dall'utente al secondo.
Calcolato solo se il flag di X3DAUDIO_CALCULATE_DOPPLER viene specificato quando si chiama X3DAudioCalculate.
ListenerVelocityComponent
Componente del vettore di velocità del listener proiettato sul vettore di listener di> emissione nelle unità mondiali definite dall'utente al secondo. Calcolato solo se il flag di X3DAUDIO_CALCULATE_DOPPLER viene specificato quando si chiama X3DAudioCalculate.
Commenti
I membri seguenti devono essere inizializzati prima di passare questa struttura alla funzione X3DAudioCalculate :
- pMatrixCoefficients
- pDelayTimes
- SrcChannelCount
- DstChannelCount
- pMatrixCoefficients
- pDelayTimes
- LPFDirectCoefficient
- LPFReverbCoefficient
- ReverbLevel
- DopplerFactor
- EmitterToListenerAngle
- EmitterToListenerDistance
- EmitterVelocityComponent
- ListenerVelocityComponent
Requisiti della piattaforma
Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); DirectX SDK (XAudio 2.7)Requisiti
Requisito | Valore |
---|---|
Intestazione | x3daudio.h |