KSDS3D_ITD_PARAMS-Struktur (ksmedia.h)
Die KSDS3D_ITD_PARAMS-Struktur gibt die Parameter an, die vom ITD-Algorithmus (Interaural Time Delay) auf den linken oder rechten Kanal in einem 3D-Knoten (KSNODETYPE_3D_EFFECTS) angewendet werden.
Syntax
typedef struct {
LONG Channel;
FLOAT VolSmoothScale;
FLOAT TotalDryAttenuation;
FLOAT TotalWetAttenuation;
LONG SmoothFrequency;
LONG Delay;
} KSDS3D_ITD_PARAMS, *PKSDS3D_ITD_PARAMS;
Member
Channel
Gibt die Kanalnummer an (Kanal 0 ist der linke Kanal; Kanal 1 ist der rechte Kanal).
VolSmoothScale
Gibt den Rampenfaktor für die Skalierung von Volumeebenen an. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".
TotalDryAttenuation
Gibt den Abschwächungsfaktor für das "trockene" Signal an (das ursprüngliche Signal vor dem Anwenden eines Tiefpassfilters, um einen dumpten Effekt zu erzeugen). Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".
TotalWetAttenuation
Gibt den Abschwächungsfaktor für das "nasse" Signal an (das dumpfe Signal, nachdem der Tiefpassfilter angewendet wird). Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".
SmoothFrequency
Gibt die Beispielhäufigkeit des Audiodatenstroms an. Wenn Sie zu einem neuen TotalDryAttenuation - oder TotalWetAttenuation-Wert wechseln, benötigt der ITD-Algorithmus diesen Wert, um die Anzahl der Stichproben zu bestimmen, auf die die Glättung angewendet werden soll, um den Übergang innerhalb eines festen Zeitintervalls abzuschließen. Der vom KMixer-Systemtreiber implementierte ITD-Algorithmus verwendet beispielsweise ein Übergangszeitintervall von etwa 1/8 Sekunde.
Delay
Gibt die Zeitverzögerung für diesen Kanal an. Die Verzögerung wird als ganze Anzahl von Beispielen ausgedrückt.
Hinweise
Diese Struktur wird von der KSDS3D_ITD_PARAMS_MSG-Struktur verwendet, die die KSPROPERTY_ITD3D_PARAMS-Eigenschaftsanforderung verwendet, um die ITD-Parameter für die linken und rechten Kanäle eines 3D-Audiostreams anzugeben.
Das Delay-Element gibt den Betrag an, um den der aktuelle Kanal den Von der Quelle eingehenden Sound verzögert. Die interaurale Zeitverzögerung ist der Unterschied zwischen den Verzögerungen zwischen den beiden Kanälen.
Das abgeschwächte Signal ist die Summe des abgeschwächten Trockensignals und des abgeschwächten Nasssignals:
TotalDryAttenuation + TotalWetAttenuation
Die Erhöhung der Größe von TotalWetAttenuation relativ zu TotalDryAttenuation führt zu einem zunehmend dumpfen Sound. Die beiden Dämpfungsfaktoren werden aus position, ausrichtung und klangkegel der Schallquelle berechnet.
Wenn eine KSPROPERTY_ITD3D_PARAMS Set-Eigenschaftsanforderung entweder TotalDryAttenuation oder TotalWetAttenuation ändert, wird die Änderung der Dämpfungsebene über eine Reihe von Beispielen geglättet, um zu vermeiden, dass falsche Klickgeräusche erzeugt werden. Das VolSmoothScale-Element gibt den Betrag an, um den die Dämpfung des Signals während jedes Schritts des Glättungsprozesses skaliert werden soll. Dieser Parameter ist entweder ein Wert etwas kleiner als 1, wenn die Dämpfung zunimmt, oder etwas größer als 1, wenn die Dämpfung abnimmt. Bei jedem Schritt des Glättungsprozesses wird die Abschwächung aus dem vorherigen Schritt mit diesem Parameter multipliziert. Der Prozess wird abgeschlossen, wenn die Zieldämpfung erreicht wird.
Anforderungen
Anforderung | Wert |
---|---|
Header | ksmedia.h (include Ksmedia.h) |