Compartilhar via


estrutura KSDS3D_ITD_PARAMS (ksmedia.h)

A estrutura KSDS3D_ITD_PARAMS especifica os parâmetros aplicados pelo algoritmo ITD (atraso de tempo interaural) ao canal esquerdo ou direito em um nó 3D (KSNODETYPE_3D_EFFECTS).

Sintaxe

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

Membros

Channel

Especifica o número do canal (o canal 0 é o canal esquerdo; o canal 1 é o canal direito).

VolSmoothScale

Especifica o fator de rampa para dimensionar os níveis de volume. Para obter mais informações, consulte a seção Comentários a seguir.

TotalDryAttenuation

Especifica o fator de atenuação para o sinal "seco" (o sinal original antes de aplicar um filtro de passagem baixa para produzir um efeito abafado). Para obter mais informações, consulte a seção Comentários a seguir.

TotalWetAttenuation

Especifica o fator de atenuação para o sinal "molhado" (o sinal abafado depois que o filtro de passagem baixa é aplicado). Para obter mais informações, consulte a seção Comentários a seguir.

SmoothFrequency

Especifica a frequência de exemplo do fluxo de áudio. Ao alterar para um novo valor TotalDryAttenuation ou TotalWetAttenuation , o algoritmo ITD precisa desse valor para determinar o número de amostras sobre as quais aplicar suavização para concluir a transição em algum intervalo de tempo fixo. Por exemplo, o algoritmo ITD implementado pelo driver do sistema KMixer usa um intervalo de tempo de transição de aproximadamente 1/8 segundo.

Delay

Especifica o atraso de tempo para este canal. O atraso é expresso como um número inteiro de amostras.

Comentários

Essa estrutura é usada pela estrutura KSDS3D_ITD_PARAMS_MSG , que a solicitação de propriedade KSPROPERTY_ITD3D_PARAMS usa para especificar os parâmetros de ITD para os canais esquerdo e direito de um fluxo de áudio 3D.

O membro Delay especifica a quantidade pela qual o canal atual atrasa a chegada do som da origem. O atraso de tempo interaural é a diferença de atrasos entre os dois canais.

O sinal atenuado é a soma do sinal seco atenuado e do sinal úmido atenuado:

TotalDryAttenuation + TotalWetAttenuation

Aumentar o tamanho de TotalWetAttenuation em relação a TotalDryAttenuation produz um som cada vez mais abafado. Os dois fatores de atenuação são calculados com base na posição, orientação e cone de som da fonte de som.

Quando um KSPROPERTY_ITD3D_PARAMS solicitação set-property altera TotalDryAttenuation ou TotalWetAttenuation, a alteração no nível de atenuação é suavizada em vários exemplos para evitar gerar ruídos de clique espúrios. O membro VolSmoothScale especifica a quantidade pela qual dimensionar a atenuação do sinal durante cada etapa no processo de suavização. Esse parâmetro será um valor ligeiramente menor que 1 se a atenuação estiver aumentando ou um pouco maior que 1 se a atenuação estiver diminuindo. Em cada etapa do processo de suavização, a atenuação da etapa anterior é multiplicada por esse parâmetro. O processo é concluído quando a atenuação de destino é atingida.

Requisitos

Requisito Valor
Cabeçalho ksmedia.h (inclua Ksmedia.h)

Confira também

KSDS3D_ITD_PARAMS_MSG

KSPROPERTY_ITD3D_PARAMS