KSPROPSETID_Hrtf3d

El KSPROPSETID_Hrtf3d conjunto de propiedades se usa para configurar la función de transferencia relativa a la cabeza 3D (HRTF) para un búfer de DirectSound. Este conjunto contiene propiedades opcionales de un nodo 3D (KSNODETYPE_3D_EFFECTS) en una instancia de pin de DirectSound.

No todos los nodos 3D admiten el procesamiento HRTF. Un cliente puede enviar una consulta de soporte técnico básico para una propiedad HRTF a un nodo 3D para determinar si ese nodo es capaz de realizar el procesamiento HRTF. Un nodo 3D que admita el KSPROPSETID_Hrtf3d conjunto de propiedades debe admitir las tres propiedades del conjunto.

La definición de este conjunto de propiedades supone que el algoritmo HRTF se implementa con filtros de respuesta de impulso infinito (IIR) que representan los efectos de un origen de audio en una sola posición.

Los filtros digitales suelen tener una respuesta transitoria inicial. Al mover un origen de una posición a la siguiente, los coeficientes de filtro cambian y el algoritmo HRTF cruza las salidas del filtro en la posición anterior al filtro en la nueva posición. El miembro FilterTransientMuteLength de la estructura KSDS3D_HRTF_INIT_MSG especifica el número de muestras por las que retrasar el fundido cruzado para evitar representar el transitorio inicial del nuevo filtro. Durante este tiempo, la salida proviene solo de los filtros antiguos. El miembro FilterOverlapBufferLength (misma estructura) especifica el número total de muestras sobre las que silenciar y atenuar las salidas del filtro.

Cuando el origen se mueve del medio plano derecho a la izquierda, los filtros cambian. Este modificador puede provocar un pop audible. El miembro SwapChannels de la estructura KSDS3D_HRTF_PARAMS_MSG indica al algoritmo HRTF que intercambie las salidas para invertir la ubicación del origen al otro medio plano. El miembro CrossFadeOutput (misma estructura) indica al algoritmo que cruce los canales de salida después de una transición a través del ángulo azimuth cero. El miembro OutputOverlapBufferLength de KSDS3D_HRTF_INIT_MSG especifica el número de muestras que se van a atenuar cuando se produce esta transición.

Debido a la simetría, solo es necesario descargar la mitad de los coeficientes de filtro en el algoritmo HRTF cuando el ángulo azimuth es cero. El miembro ZeroAzimuth de KSDS3D_HRTF_PARAMS_MSG indica cuándo se produce esta condición.

Para obtener información sobre cómo configurar el procesamiento de HTRF a través de DirectSound API, consulte la documentación de Microsoft Windows SDK.

El KSPROPSETID_Hrtf3d conjunto de propiedades contiene los tres miembros siguientes:

KSPROPERTY_HRTF3D_FILTER_FORMAT

KSPROPERTY_HRTF3D_INITIALIZE

KSPROPERTY_HRTF3D_PARAMS