Поделиться через


Audio Resampler DSP

Resampler audio выполняет одно или оба следующих действия в звуковом потоке.

  • Изменение частоты выборки.
  • Изменение количества каналов.

CLSID

CLSID_CResamplerMediaObject

Интерфейсы

Форматы

PCM или IEEE с плавающей запятой

Тип носителя должен указывать формат аудиофайлов без сжатия PCM или с плавающей запятой.

Свойства

Обязательные атрибуты

Для рересимплера необходимо задать следующие атрибуты:

Сопоставление настраиваемых каналов

Реамплер звука сопоставляет входные звуковые каналы с выходными звуковыми каналами на основе следующих сведений:

  • Число каналов. Это значение задается в атрибуте MF_MT_AUDIO_NUM_CHANNELS типа носителя или в элементе nChannels структуры WAVEFORMATEX .
  • Маска канала, которая назначает каналы в положение говорящего. Маска канала задается в атрибуте MF_MT_AUDIO_CHANNEL_MASK типа носителя или в элементе dwChannelMask структуры WAVEFORMATEXTENSIBLE .
  • Матрица весовых коэффициентов сопоставления.

Матрица содержит ряд весовых коэффициентов, чтобы каждый выходной канал был взвешенный средний входных каналов.

Можно указать настраиваемую матрицу для сопоставления каналов, вызвав метод IWMResamplerProps::SetUserChannelMtx или задав свойство MFPKEY_WMRESAMP_CHANNELMTX . Если пользовательская матрица не указана, resampler audio использует набор матриц по умолчанию.

Сопоставление каналов по умолчанию

Если пользовательская матрица не указана, DSP Audio Resampler DSP использует значения по умолчанию для сопоставления каналов.

В следующих таблицах каналы сокращены:

  • L: слева
  • R: справа
  • C: Центр
  • LFE: эффекты низкой frequence
  • BL: назад слева
  • BR: Назад вправо
  • SL: окружное левое
  • SR: окружное правое

В следующей таблице показаны коэффициенты по умолчанию для сопоставления 6 каналов (маски 0x3F) с 2 каналами.

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

В следующей таблице показаны коэффициенты по умолчанию для сопоставления 6 каналов (маски 0x60F) с 2 каналами.

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

В следующей таблице показаны коэффициенты по умолчанию для сопоставления 6 каналов (маскирование 0x3F или 0x60F) с 1 каналом.

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

В следующей таблице показаны коэффициенты по умолчанию для сопоставления 8 каналов (маски 0x63F) с 2 каналами.

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

В следующей таблице показаны коэффициенты по умолчанию для сопоставления 8 каналов (маски 0x63F) с 1 каналом.

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

В следующей таблице показаны коэффициенты по умолчанию для сопоставления 8 каналов (0x63F маски) и 6 каналов (маски 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

В следующей таблице показаны коэффициенты по умолчанию для сопоставления 8 каналов (0x63F маски) и 6 каналов (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

Чтобы понять, как интерпретировать таблицы коэффициентов, рассмотрим первую таблицу, которая сопоставляет 6 каналов с 2. Первая строка таблицы (0,314, 0, 0,222, 0,031, 0,268, 0,164) — это вектор весовых коэффициентов, указывающий, насколько сильно каждый входной канал влияет на левый канал выходных данных. Вторая строка таблицы (0, 0,314, 0,222, 0,031, 0,164, 0,268) — это вектор весовых коэффициентов, указывающий, насколько сильно каждый канал ввода вносит свой вклад в правый канал выходных данных.

В следующих формулах показано, как вычисляются выходные каналы.

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

Примечание

Если вы используете DSP Audio Resampler для увеличения числа каналов, добавленным каналам будут присвоены значения 0.

Качество вывода

Вы можете указать качество вывода DSP Resampler Audio, вызвав IWMResamplerProps::SetHalfFilterLength или задав свойство MFPKEY_WMRESAMP_FILTERQUALITY . Если не указать качество вывода, поставщик служб DSP audio Resampler использует значение качества по умолчанию 30.

Требования

Требование Значение
Минимальная версия клиента
Windows Vista [только классические приложения]
Минимальная версия сервера
Windows Server 2008 [только классические приложения]
Заголовок
Wmcodecdsp.h
DLL
Resampledmo.dll

См. также раздел

Цифровые обработчики сигналов