Compartilhar via


DSP do Repositório de Áudio

O Resampler de Áudio executa uma ou ambas as ações a seguir em um fluxo de áudio.

  • Altere a taxa de amostragem.
  • Altere o número de canais.

CLSID

CLSID_CResamplerMediaObject

Interfaces

Formatos

Ponto flutuante PCM ou IEEE

O tipo de mídia deve especificar um pcm descompactado ou um formato de áudio de ponto flutuante.

Propriedades

Atributos necessários.

O resampler requer que os seguintes atributos sejam definidos nele:

Mapeamento de Canal Personalizado

O resampler de áudio mapeia os canais de áudio de entrada para os canais de áudio de saída, com base nas seguintes informações:

  • O número de canais. Isso é fornecido no atributo MF_MT_AUDIO_NUM_CHANNELS do tipo de mídia ou no membro nChannels da estrutura WAVEFORMATEX .
  • A máscara de canal, que atribui canais à posição do locutor. A máscara de canal é fornecida no atributo MF_MT_AUDIO_CHANNEL_MASK do tipo de mídia ou no membro dwChannelMask da estrutura WAVEFORMATEXTENSIBLE .
  • Uma matriz de pesos de mapeamento.

A matriz contém uma série de pesos, de modo que cada canal de saída é uma média ponderada dos canais de entrada.

Você pode especificar uma matriz personalizada para mapeamento de canal chamando IWMResamplerProps::SetUserChannelMtx ou definindo a propriedade MFPKEY_WMRESAMP_CHANNELMTX . Se uma matriz personalizada não for fornecida, o Repositório de Áudio usará um conjunto de matrizes padrão.

Mapeamento de Canal Padrão

Se você não especificar uma matriz personalizada, o DSP do Repositório de Áudio usará valores padrão para mapeamento de canal.

Nas tabelas a seguir, os canais são abreviados:

  • L: Esquerda
  • R: à direita
  • C: Centro
  • LFE: Efeitos de baixa frequência
  • BL: Voltar para a Esquerda
  • BR: Voltar à Direita
  • SL: Surround Left
  • SR: Surround Right

A tabela a seguir mostra os coeficientes padrão para mapear seis canais (máscara 0x3F) para dois canais.

L R C LFE BL BR
L 0.314 0 0,222 0.031 0,268 0.164
R 0 0.314 0,222 0.031 0.164 0,268

A tabela a seguir mostra os coeficientes padrão para mapear seis canais (máscara 0x60F) para dois canais.

L R C LFE SL SR
L 0.320 0 0.226 0.032 0.292 0.130
R 0 0.320 0.226 0.032 0.130 0.292

A tabela a seguir mostra os coeficientes padrão para mapear 6 canais (máscara 0x3F ou 0x60F) para um canal.

L R C LFE BL(SL) BR(SR)
C 0.192 0.192 0.192 0.038 0.192 0.192

A tabela a seguir mostra os coeficientes padrão para mapear 8 canais (máscara 0x63F) para dois canais.

L R C LFE BL BR SL SR
L 0,222 0 0.157 0.022 0,189 0.116 0.203 0.090
R 0 0,222 0.157 0.022 0.116 0,189 0.090 0.203

A tabela a seguir mostra os coeficientes padrão para mapear 8 canais (máscara 0x63F) para um canal.

L R C LFE BL BR SL SR
C 0.139 0.139 0.139 0.028 0.139 0.139 0.139 0.139

A tabela a seguir mostra os coeficientes padrão para mapear 8 canais (máscara 0x63F) para 6 canais (máscara 0x3F).

L R C LFE BL BR SL SR
L 0.518 0 0 0 0 0 0,189 0
R 0 0.518 0 0 0 0 0 0,189
C 0 0 0.518 0 0 0 0 0
LFE 0 0 0 0.518 0 0 0 0
BL 0 0 0 0 0.518 0 0.482 0
BR 0 0 0 0 0 0.518 0 0.482

A tabela a seguir mostra os coeficientes padrão para mapear 8 canais (máscara 0x63F) para 6 canais (máscara 0x60F).

L R C LFE BL BR SL SR
L 0.447 0 0 0 0 0 0 0
R 0 0.447 0 0 0 0 0 0
C 0 0 0.447 0 0 0 0 0
LFE 0 0 0 0.447 0 0 0 0
SL 0 0 0 0 0.429 0.124 0.447 0
SR 0 0 0 0 0.124 0.429 0 0.447

Para entender como interpretar as tabelas de coeficientes, considere a primeira tabela, que mapeia 6 canais para 2. A primeira linha da tabela (0.314, 0, 0.222, 0.031, 0.268, 0.164) é um vetor de pesos que especifica o quanto cada canal de entrada contribui para o canal esquerdo da saída. A segunda linha da tabela (0, 0,314, 0,222, 0,031, 0,164, 0,268) é um vetor de pesos que especifica o quanto cada canal de entrada contribui para o canal direito da saída.

As fórmulas a seguir mostram como os canais de saída são calculados.

L_out = L*0.314 + C*0.222 + LFE*0.031 + BL*0.268 + BR*0.164 
R_out = R*0.314 + C*0.222 + LFE*0.031 + BL*0.164 + BR*0.268

Observação

Se você usar o DSP do Repositório de Áudio para aumentar o número de canais, os canais adicionados receberão valores de 0.

Qualidade da Saída

Você pode especificar a qualidade de saída do DSP do Repositório de Áudio chamando IWMResamplerProps::SetHalfFilterLength ou definindo a propriedade MFPKEY_WMRESAMP_FILTERQUALITY . Se você não especificar a qualidade de saída, o DSP do Repositório de Áudio usará um valor de qualidade padrão de 30.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2008 [somente aplicativos da área de trabalho]
Cabeçalho
Wmcodecdsp.h
DLL
Resampledmo.dll

Confira também

Processadores de sinal digital