Compartilhar via


KSPROPSETID_Hrtf3d

O KSPROPSETID_Hrtf3d conjunto de propriedades é usado para configurar a HRTF (função de transferência relativa à cabeça) 3D para um buffer DirectSound. Esse conjunto contém propriedades opcionais de um nó 3D (KSNODETYPE_3D_EFFECTS) em uma instância de pin DirectSound.

Nem todos os nós 3D dão suporte ao processamento de HRTF. Um cliente pode enviar uma consulta de suporte básico para uma propriedade HRTF para um nó 3D para determinar se esse nó é capaz de executar o processamento de HRTF. Um nó 3D que dá suporte ao KSPROPSETID_Hrtf3d conjunto de propriedades deve dar suporte a todas as três propriedades no conjunto.

A definição desse conjunto de propriedades pressupõe que o algoritmo HRTF seja implementado com filtros de resposta de impulso infinito (IIR) que representam os efeitos de uma fonte de áudio em uma única posição.

Os filtros digitais normalmente têm uma resposta transitória inicial. Ao mover uma origem de uma posição para outra, os coeficientes de filtro mudam e o algoritmo HRTF esmaece as saídas do filtro na posição antiga para o filtro na nova posição. O membro FilterTransientMuteLength da estrutura KSDS3D_HRTF_INIT_MSG especifica o número de exemplos pelos quais atrasar o fade cruzado para evitar renderizar o transitório inicial do novo filtro. Durante esse tempo, a saída vem apenas dos filtros antigos. O membro FilterOverlapBufferLength (mesma estrutura) especifica o número total de amostras sobre as quais ativar mudo e esmaecer e esmaecer as saídas do filtro.

Quando a origem se move do meio plano direito para a esquerda, os filtros alternam. Essa opção pode causar um pop audível. O membro SwapChannels da estrutura KSDS3D_HRTF_PARAMS_MSG informa ao algoritmo HRTF para trocar as saídas para reverter o local da origem para o outro meio plano. O membro CrossFadeOutput (mesma estrutura) informa ao algoritmo para esmaecer os canais de saída após uma transição entre o ângulo zero do azimuth. O membro OutputOverlapBufferLength de KSDS3D_HRTF_INIT_MSG especifica o número de amostras sobre as quais desvanecer cruzadamente quando essa transição ocorrer.

Devido à simetria, apenas metade dos coeficientes de filtro precisam ser baixados para o algoritmo HRTF quando o ângulo azimuth é zero. O membro ZeroAzimuth de KSDS3D_HRTF_PARAMS_MSG indica quando essa condição ocorre.

Para obter informações sobre como configurar o processamento do HTRF por meio da API DirectSound, consulte a documentação do SDK do Microsoft Windows.

O KSPROPSETID_Hrtf3d conjunto de propriedades contém os três membros a seguir:

KSPROPERTY_HRTF3D_FILTER_FORMAT

KSPROPERTY_HRTF3D_INITIALIZE

KSPROPERTY_HRTF3D_PARAMS