Partager via


KSDS3D_ITD_PARAMS structure (ksmedia.h)

La structure KSDS3D_ITD_PARAMS spécifie les paramètres appliqués par l’algorithme itd (interaural time delay) au canal gauche ou droit dans un nœud 3D (KSNODETYPE_3D_EFFECTS).

Syntaxe

typedef struct {
  LONG  Channel;
  FLOAT VolSmoothScale;
  FLOAT TotalDryAttenuation;
  FLOAT TotalWetAttenuation;
  LONG  SmoothFrequency;
  LONG  Delay;
} KSDS3D_ITD_PARAMS, *PKSDS3D_ITD_PARAMS;

Membres

Channel

Spécifie le numéro de canal (canal 0 est le canal de gauche ; canal 1 est le canal de droite).

VolSmoothScale

Spécifie le facteur de rampe pour la mise à l’échelle des niveaux de volume. Pour plus d'informations, consultez la section Notes qui suit.

TotalDryAttenuation

Spécifie le facteur d’atténuation pour le signal « sec » (le signal d’origine avant d’appliquer un filtre passe-bas pour produire un effet étouffé). Pour plus d'informations, consultez la section Notes qui suit.

TotalWetAttenuation

Spécifie le facteur d’atténuation pour le signal « humide » (signal étouffé après l’application du filtre passe-bas). Pour plus d'informations, consultez la section Notes qui suit.

SmoothFrequency

Spécifie la fréquence de l’échantillon du flux audio. Lors du passage à une nouvelle valeur TotalDryAttenuation ou TotalWetAttenuation , l’algorithme ITD a besoin de cette valeur pour déterminer le nombre d’échantillons sur lesquels appliquer le lissage afin d’effectuer la transition dans un intervalle de temps fixe. Par exemple, l’algorithme ITD implémenté par le pilote système KMixer utilise un intervalle de temps de transition d’environ 1/8 seconde.

Delay

Spécifie le délai pour ce canal. Le délai est exprimé sous la forme d’un nombre entier d’échantillons.

Remarques

Cette structure est utilisée par la structure KSDS3D_ITD_PARAMS_MSG , que la demande de propriété KSPROPERTY_ITD3D_PARAMS utilise pour spécifier les paramètres ITD pour les canaux gauche et droit d’un flux audio 3D.

Le membre Delay spécifie la quantité par laquelle le canal actuel retarde le son provenant de la source. Le délai interaural est la différence de délai entre les deux canaux.

Le signal atténué est la somme du signal sec atténué et du signal humide atténué :

TotalDryAttenuation + TotalWetAttenuation

L’augmentation de la taille de TotalWetAttenuation par rapport à TotalDryAttenuation produit un son de plus en plus étouffé. Les deux facteurs d’atténuation sont calculés à partir de la position, de l’orientation et du cône sonore de la source sonore.

Lorsqu’une demande de KSPROPERTY_ITD3D_PARAMS set-property change TotalDryAttenuation ou TotalWetAttenuation, le changement de niveau d’atténuation est lissé sur un certain nombre d’échantillons afin d’éviter de générer des bruits de clic fallacieux. Le membre VolSmoothScale spécifie la quantité de mise à l’échelle de l’atténuation du signal à chaque étape du processus de lissage. Ce paramètre est une valeur légèrement inférieure à 1 si l’atténuation augmente ou légèrement supérieure à 1 si l’atténuation diminue. À chaque étape du processus de lissage, l’atténuation de l’étape précédente est multipliée par ce paramètre. Le processus se termine lorsque l’atténuation cible est atteinte.

Configuration requise

Condition requise Valeur
En-tête ksmedia.h (incluez Ksmedia.h)

Voir aussi

KSDS3D_ITD_PARAMS_MSG

KSPROPERTY_ITD3D_PARAMS