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) |