Режимы обработки звуковых сигналов

Драйверы объявляют поддерживаемые режимы обработки звуковых сигналов для каждого устройства.

Доступные режимы обработки сигналов

Категории звука (выбранные приложениями) сопоставляются с звуковыми режимами (определяемыми драйверами). Windows определяет семь режимов обработки звуковых сигналов. Изготовители оборудования и IHV могут определить, какие режимы они хотят реализовать. Рекомендуется использовать новые режимы для добавления звуковых эффектов, которые оптимизируют звуковой сигнал для обеспечения наилучшего взаимодействия с пользователем. Режимы приведены в таблице ниже.

Режим Отрисовка и запись Описание
Raw Оба Режим "Необработанный" указывает, что к потоку не должна применяться обработка сигналов. Приложение может запрашивать необработанный поток, который полностью нетронут и выполнять собственную обработку сигналов.
Default Оба Этот режим определяет обработку звука по умолчанию.
Фильмы* Render Воспроизведение звука фильма
Носителя* Оба Воспроизведение звука музыки (по умолчанию для большинства потоков мультимедиа)
Речи* Сбор Запись человеческого голоса (например, входные данные в Кортану)
Коммуникаций* Оба Отрисовка и запись VOIP (например, Skype, Lync)
Уведомления* Render Мелодии звонка, будильники, оповещения и т. д.

* Новые возможности в Windows 10.

Требования к драйверу режима обработки сигналов

Драйверы звуковых устройств должны поддерживать по крайней мере режим "Необработанный" или "По умолчанию ". Поддержка дополнительных режимов является необязательной.

Возможно, не все режимы могут быть доступны для конкретной системы. Драйверы определяют, какие режимы обработки сигналов они поддерживают (т. е. какие типы APOs устанавливаются в составе драйвера) и информируют ОС соответствующим образом. Если драйвер не поддерживает определенный режим, Windows будет использовать следующий режим соответствия.

На следующей схеме показана система, поддерживающая несколько режимов:

Схема, на которую показана система, поддерживающая несколько звуковых режимов с несколькими эффектами SFX и MFX.

Категории аудиопотока Windows

Чтобы сообщить системе об использовании аудиопотока, приложения могут пометить поток определенной категорией аудиопотока. Приложения могут задать категорию звука с помощью любого api аудио сразу после создания аудиопотока. В Windows 10 существует девять категорий аудиопотоков.

Категория Описание
Кинофильм Фильмы, видео с диалогом (заменяет ForegroundOnlyMedia)
Мультимедиа Категория по умолчанию для воспроизведения мультимедиа (заменяет BackgroundCapableMedia)
Игровой чат Взаимодействие между пользователями в игре (новая категория в Windows 10)
Речь Голосовой ввод (например, личные помощник) и выходные данные (например, приложения навигации) (новая категория в Windows 10)
Коммуникации VOIP, чат в режиме реального времени
видны узлы Будильник, сигнал звонка, уведомления
Звуковые эффекты Звуковые сигналы, зазубления и т. д.
Игровые мультимедиа В музыке игры
Игровые эффекты Шары подпрыгивая, звуки двигателя автомобиля, пули и т. д.
Другое Некатегоризированные потоки

Как упоминалось ранее, категории звука (выбранные приложениями) сопоставляются со звуковыми режимами (определяемыми драйверами). Приложения могут помечать каждый из своих потоков одной из 10 категорий звука.

Приложения не могут изменять сопоставление между категорией звука и режимом обработки сигнала. Приложения не осведомлены о концепции "режима обработки звука". Они не могут узнать, какой режим используется для каждого из своих потоков.

Пример кода WASAPI

В следующем коде WASAPI из примера WASAPIAudio показано, как задать различные категории звука.

// The ActivateAudioInterfaceAsync is a replacment for IMMDevice::Activate
IActivateAudioInterfaceAsyncOperation *asyncOp = nullptr;
HRESULT hr = S_OK;

String ^defaultRender = Windows::Media::Devices::MediaDevice::GetDefaultAudioRenderId( Windows::Media::Devices::AudioDeviceRole::Default );

hr = ActivateAudioInterfaceAsync( defaultRender->Data(), __uuidof( IAudioClient3 ), nullptr, this, &asyncOp );
if ( FAILED( hr ) ) { … }
…

// the app’s implementation of IActivateAudioInterfaceCompetionHandler is invoked asynchronously
HRESULT ActivateAudioInterfaceCompletionHandler::ActivateCompleted( IActivateAudioInterfaceAsyncOperation *activateOperation ) {
    HRESULT hr = S_OK;
    HRESULT hrActivateResult = S_OK;
    IUnknown *pUnknown = nullptr;
    IAudioClient3 *pAudioClient3 = nullptr;

    hr = activateOperation->GetActivateResult( &hrActivateResult, &pUnknown );
    if ( FAILED( hr ) )  { … }
    if ( FAILED( hrActivateResult ) ) { … }

    hr = pUnknown->QueryInterface( IID_PPV_ARGS( &pAudioClient3 ) );
    if ( FAILED( hr ) ) { … }

    // The IAudioClient3::SetClientProperties call needs to happen after activation completes,
    // but before the call to IAudioClient3::Initialize or IAudioClient3::InitializeSharedAudioStream.
    AudioClientProperties props = {};
    props.cbSize = sizeof(props);
    props.eCategory = AudioCategory_GameEffects;
    pAudioClient3->SetClientProperties( &props );
    if ( FAILED( hr ) ) { … }

    hr = pAudioClient3->InitializeSharedAudioStream( … );
    if ( FAILED( hr ) ) { … }

    …

Режимы и эффекты обработки сигналов

Изготовители оборудования определяют, какие эффекты будут использоваться для каждого режима. Windows определяет список из семнадцати типов звуковых эффектов.

Сведения о том, как связать APOs с режимами, см. в разделе Реализация объектов обработки звука.

Приложения могут спросить, какие эффекты будут применены к определенному потоку при обработке raw или non-RAW. Приложения также могут запрашивать уведомления при изменении эффекта или необработанного состояния обработки. Приложение может использовать эти сведения, чтобы определить, доступна ли определенная категория потоковой передачи, например связь, или используется ли только режим RAW. Если доступен только режим RAW, приложение может определить, сколько собственной обработки звука нужно добавить.

Если system.Devices.AudioDevice.RawProcessingSupported имеет значение true, приложения также имеют возможность установить флаг "использовать RAW" для определенных потоков. Если system.Devices.AudioDevice.RawProcessingSupported имеет значение false, приложения не могут установить флаг "использовать RAW".

Приложения не имеют представления о количестве режимов, за исключением raw/non-RAW.

Приложения должны запрашивать оптимальную обработку звуковых эффектов независимо от конфигурации звукового оборудования. Например, добавление к потоку тегов "Связь" позволит Windows приостановить фоновую музыку.

Дополнительные сведения о категориях статического аудиопотока см. в разделах Перечисление AudioCategory и Свойство MediaElement.AudioCategory.

Идентификаторы CLSID для системных эффектов

FX_DISCOVER_EFFECTS_APO_CLSID

Это идентификатор CLSID для MsApoFxProxy.dll "прокси-эффект", который запрашивает у драйвера список активных эффектов;

FX_DISCOVER_EFFECTS_APO_CLSID  = "{889C03C8-ABAD-4004-BF0A-BC7BB825E166}"

KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE

KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE — это идентификатор потоковой передачи ядра, который определяет, что конкретный атрибут, на который ссылается ссылка, является атрибутом режима обработки сигналов.

Инструкции #define, показанные здесь, доступны в файле заголовка KSMedia.h.

#define STATIC_KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE 0xe1f89eb5, 0x5f46, 0x419b, 0x96, 0x7b, 0xff, 0x67, 0x70, 0xb9, 0x84, 0x1
DEFINE_GUIDSTRUCT("E1F89EB5-5F46-419B-967B-FF6770B98401", KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE);
#define KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE DEFINE_GUIDNAMED(KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE)

KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE используется драйверами с поддержкой режима со структурой KSDATARANGE , которая содержит KSATTRIBUTE_LIST. Этот список содержит один элемент, который является KSATTRIBUTE. Элемент Attribute структуры KSATTRIBUTE имеет значение KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE.

Звуковые эффекты

В Windows 10 доступны следующие звуковые эффекты.

Звуковой эффект Описание
Подавление акустического эха (AEC) Акустическая эхо-подавление (AEC) повышает качество звука, удаляя эхо после того, как оно уже присутствует в аудиопотоке.
Подавление шума (NS) Подавление шума (NS) подавляет шум, например жужжание и жужжание, когда он присутствует в звуковом потоке.
Автоматическое управление получением (AGC) Automatic Gain Control (AGC) — предназначен для обеспечения управляемой амплитуды сигнала на выходе, несмотря на изменение амплитуды во входном сигнале. Средний или пиковый уровень выходного сигнала используется для динамической настройки увеличения входных и выходных данных до подходящего значения, обеспечивая стабильный уровень вывода даже при широком диапазоне уровней входных сигналов.
Формирование луча (BF) Формирование луча (BF) — это метод обработки сигнала, используемый для передачи или приема направленных сигналов. Это достигается путем объединения элементов в фазированном массиве таким образом, чтобы сигналы под определенными углами сталкивались с конструктивной интерференцией, а другие — разрушительными. Улучшение по сравнению с всенаправленным приемом и передачей называется получением и передачей (или потерей).
Удаление постоянного тона Постоянное удаление тона используется для снижения постоянного фонового шума, такого как шипение ленты, электрические вентиляторы или гул.
Equalizer Эффект эквалайзера используется для изменения частотного отклика звуковой системы с помощью линейных фильтров. Это позволяет увеличить различные части сигнала, как в высоких или низких частотах.
Эквалайзер громкости Эффект эквалайзера громкости уменьшает воспринимаемые различия громкости, выравнив звуковой вывод, чтобы более громкие и тихие звуки были ближе к среднему уровню громкости.
Повышение баса В таких системах, как ноутбуки с динамиками с ограниченной функциональностью баса, иногда можно повысить качество звука, увеличивая басовую реакцию в диапазоне частот, поддерживаемом динамиком. Повышение баса улучшает звук на мобильных устройствах с очень маленькими динамиками, увеличивая прирост в диапазоне средних басов.
Виртуальное окружение Виртуальное окружение использует простые цифровые методы для объединения многоканального сигнала в два канала. Это делается таким образом, чтобы восстановить преобразованный сигнал в исходный многоканальный сигнал с помощью декодеров Pro Logic, доступных в большинстве современных аудиоресиверов. Виртуальное окружение идеально подходит для системы с двумя каналами звукового оборудования и приемника с механизмом улучшения объемного звука.
Виртуальные наушники Виртуализированный объемный звук позволяет пользователям в наушниках различать звук спереди к спине, а также из стороны в сторону. Это делается путем передачи пространственных подсказок, которые помогают мозгу локализовать звуки и интегрировать их в звуковое поле. Это имеет эффект сделать звук чувствовать, как он выходит за пределы наушников, создавая "вне головы" прослушивание опыта. Этот эффект достигается с помощью передовых технологий, называемых функциями передачи, связанными с головой (HRTF). HRTF создает акустические подсказки, основанные на форме человеческой головы. Эти подсказки не только помогают прослушивателям находить направление и источник звука, но и улучшают тип акустической среды, окружающей прослушиватель.
Заливка говорящего Большая часть музыки производится только с двумя каналами и, следовательно, не оптимизирована для многоканального аудиооборудования типичного аудио- или видео энтузиаста. Таким образом, с музыкой исходит только из переднего левого и переднего правого громкоговорителей менее чем идеальный аудио опыт. Заливка динамиков имитирует настройку многоканального громкоговорителя. Это позволяет музыке, которая в противном случае была бы слышна только на двух динамиках, которые будут воспроизводиться на всех громкоговорителях в комнате, повышая пространственное ощущение.
Исправление помещений Коррекция комнаты оптимизирует прослушивание для определенного места в комнате, например центральной подушки дивана, автоматически вычисляя оптимальное сочетание задержки, частоты отклика и корректировки. Функция коррекции помещений лучше соответствует звуку изображения на видеоэкране, а также полезна в случаях, когда настольные динамики размещены в нестандартных местах. обработка коррекции помещений является улучшением по сравнению с аналогичными функциями в высококлассных приемниках, поскольку она лучше учитывает способ, в котором человеческое ухо обрабатывает звук. Калибровка выполняется с помощью микрофона, а процедуру можно использовать как со стереосистемами, так и с многоканальными системами. Пользователь помещает микрофон в место, где он собирается сидеть, а затем активирует мастер, который измеряет ответ помещения. Мастер, по очереди, воспроизводит набор специально разработанных мелодий из каждого громкоговорищика и измеряет расстояние, частоту отклика и общую прибыль каждого динамика от расположения микрофона.
Управление басами Существует два режима управления басами: управление басами вперед и обратное управление басами. Управление басами вперед отфильтровывает низкочастотный контент потока аудиоданных. Алгоритм управления передними басами перенаправляет отфильтрованные выходные данные на сабвуфер или на передний левый и правый каналы громкоговорителя в зависимости от каналов, которые могут обрабатывать частоты глубоких басов. Это решение основано на установке флага LRBig. Чтобы задать флаг LRBig, пользователь использует апплет "Звук" в панель управления для доступа к диалоговому окку "Параметры управления басами". Пользователь выбирает поле проверка, чтобы указать, например, что передний правый и левый динамики имеют полный диапазон, и это действие устанавливает флаг LRBig. Чтобы снять этот флаг, выберите поле проверка. Управление обратным басом распределяет сигнал из канала сабвуфера в другие выходные каналы. Сигнал направляется либо во все каналы, либо в левый и передний правый каналы в зависимости от установки флага LRBig. Этот процесс использует существенное снижение прироста при смешивании сигнала сабвуфера с другими каналами. Используемый режим управления басами зависит от доступности сабвуфера и возможности обработки басов main динамиков. В Windows пользователь предоставляет эти сведения с помощью апплета "Звук" в панель управления.
Воздействие на окружающую среду Воздействие на окружающую среду повышает реальность воспроизведения звука за счет более точной имитации реальных звуковых сред. Существует несколько различных сред, которые можно выбрать, например , "стадион" имитирует акустику спортивного стадиона.
Защита говорящего Цель защиты говорящего заключается в подавлении резонансных частот, которые могут привести к физическому вреду динамиков любому из системных компонентов компьютеров. Например, некоторые физические жесткие диски могут быть повреждены при воспроизведении громкого звука с нужной частотой. Во-вторых, защита говорящего работает, чтобы свести к минимуму повреждения динамиков, за счет уменьшения сигнала, когда он превышает определенные значения.
Компенсация говорящего Некоторые динамики лучше воспроизводит звук, чем другие. Например, конкретный динамик может затухать звуки ниже 100 Гц. Иногда аудиодрайверы и решения DSP встроенного ПО обладают знаниями о конкретных характеристиках производительности динамиков, с помощью которых они играют, и могут добавить обработку, предназначенную для компенсации ограничений динамиков. Например, можно создать эффект конечной точки (EFX), который применяется к частоте ниже 100 Гц. Этот эффект в сочетании с затуханием в физическом динамике приводит к повышению точности звука.
Сжатие динамического диапазона Сжатие динамического диапазона усиливает тихие звуки, сужая или "сжимая" динамический диапазон звукового сигнала. Сжатие звука усиливает тихие звуки, которые ниже определенного порогового значения, в то время как громкие звуки остаются неизменными.

Инструкции #define, показанные здесь, доступны в файле заголовка KSMedia.h.

DEFAULT

#define STATIC_AUDIO_SIGNALPROCESSINGMODE_DEFAULT 0xc18e2f7e, 0x933d, 0x4965, 0xb7, 0xd1, 0x1e, 0xef, 0x22, 0x8d, 0x2a, 0xf3
DEFINE_GUIDSTRUCT("C18E2F7E-933D-4965-B7D1-1EEF228D2AF3", AUDIO_SIGNALPROCESSINGMODE_DEFAULT);
#define AUDIO_SIGNALPROCESSINGMODE_DEFAULT DEFINE_GUIDNAMED(AUDIO_SIGNALPROCESSINGMODE_DEFAULT)

RAW

#define STATIC_AUDIO_SIGNALPROCESSINGMODE_RAW 0x9e90ea20, 0xb493, 0x4fd1, 0xa1, 0xa8, 0x7e, 0x13, 0x61, 0xa9, 0x56, 0xcf
DEFINE_GUIDSTRUCT("9E90EA20-B493-4FD1-A1A8-7E1361A956CF", AUDIO_SIGNALPROCESSINGMODE_RAW);
#define AUDIO_SIGNALPROCESSINGMODE_RAW DEFINE_GUIDNAMED(AUDIO_SIGNALPROCESSINGMODE_RAW)

АКУСТИЧЕСКОЕ ЭХО-ПОДАВЛЕНИЕ

#define STATIC_AUDIO_EFFECT_TYPE_ACOUSTIC_ECHO_CANCELLATION 0x6f64adbe, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adbe-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_ACOUSTIC_ECHO_CANCELLATION);
#define AUDIO_EFFECT_TYPE_ACOUSTIC_ECHO_CANCELLATION DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_ACOUSTIC_ECHO_CANCELLATION)

ПОДАВЛЕНИЕ ШУМА

#define STATIC_AUDIO_EFFECT_TYPE_NOISE_SUPPRESSION          0x6f64adbf, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adbf-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_NOISE_SUPPRESSION);
#define AUDIO_EFFECT_TYPE_NOISE_SUPPRESSION DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_NOISE_SUPPRESSION)

АВТОМАТИЧЕСКОЕ УПРАВЛЕНИЕ ПОЛУЧЕНИЕМ

#define STATIC_AUDIO_EFFECT_TYPE_AUTOMATIC_GAIN_CONTROL     0x6f64adc0, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc0-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_AUTOMATIC_GAIN_CONTROL);
#define AUDIO_EFFECT_TYPE_AUTOMATIC_GAIN_CONTROL DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_AUTOMATIC_GAIN_CONTROL)

ЛУЧФОРМИРОВАНИЕ

#define STATIC_AUDIO_EFFECT_TYPE_BEAMFORMING                0x6f64adc1, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc1-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_BEAMFORMING);
#define AUDIO_EFFECT_TYPE_BEAMFORMING DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_BEAMFORMING)

УДАЛЕНИЕ ПОСТОЯННОГО ТОНА

#define STATIC_AUDIO_EFFECT_TYPE_CONSTANT_TONE_REMOVAL      0x6f64adc2, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc2-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_CONSTANT_TONE_REMOVAL);
#define AUDIO_EFFECT_TYPE_CONSTANT_TONE_REMOVAL DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_CONSTANT_TONE_REMOVAL)

ЭКВАЛАЙЗЕР

#define STATIC_AUDIO_EFFECT_TYPE_EQUALIZER                  0x6f64adc3, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc3-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_EQUALIZER);
#define AUDIO_EFFECT_TYPE_EQUALIZER DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_EQUALIZER)

ЭКВАЛАЙЗЕР ГРОМКОСТИ

#define STATIC_AUDIO_EFFECT_TYPE_LOUDNESS_EQUALIZER         0x6f64adc4, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc4-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_LOUDNESS_EQUALIZER);
#define AUDIO_EFFECT_TYPE_LOUDNESS_EQUALIZER DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_LOUDNESS_EQUALIZER)

ПОВЫШЕНИЕ БАСА

#define STATIC_AUDIO_EFFECT_TYPE_BASS_BOOST                 0x6f64adc5, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc5-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_BASS_BOOST);
#define AUDIO_EFFECT_TYPE_BASS_BOOST DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_BASS_BOOST)

ВИРТУАЛЬНОЕ ОКРУЖЕНИЕ

#define STATIC_AUDIO_EFFECT_TYPE_VIRTUAL_SURROUND           0x6f64adc6, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc6-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_VIRTUAL_SURROUND);
#define AUDIO_EFFECT_TYPE_VIRTUAL_SURROUND DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_VIRTUAL_SURROUND)

ВИРТУАЛЬНЫЕ НАУШНИКИ

#define STATIC_AUDIO_EFFECT_TYPE_VIRTUAL_HEADPHONES         0x6f64adc7, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc7-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_VIRTUAL_HEADPHONES);
#define AUDIO_EFFECT_TYPE_VIRTUAL_HEADPHONES DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_VIRTUAL_HEADPHONES)

КОРРЕКЦИЯ КОМНАТЫ

#define STATIC_AUDIO_EFFECT_TYPE_ROOM_CORRECTION            0x6f64adc9, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc9-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_ROOM_CORRECTION);
#define AUDIO_EFFECT_TYPE_ROOM_CORRECTION DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_ROOM_CORRECTION)

УПРАВЛЕНИЕ БАСАМИ

#define STATIC_AUDIO_EFFECT_TYPE_BASS_MANAGEMENT            0x6f64adca, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adca-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_BASS_MANAGEMENT);
#define AUDIO_EFFECT_TYPE_BASS_MANAGEMENT DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_BASS_MANAGEMENT)

ВОЗДЕЙСТВИЕ НА ОКРУЖАЮЩУЮ СРЕДУ

#define STATIC_AUDIO_EFFECT_TYPE_ENVIRONMENTAL_EFFECTS      0x6f64adcb, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adcb-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_ENVIRONMENTAL_EFFECTS);
#define AUDIO_EFFECT_TYPE_ENVIRONMENTAL_EFFECTS DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_ENVIRONMENTAL_EFFECTS)

ЗАЩИТА ГОВОРЯЩЕГО

#define STATIC_AUDIO_EFFECT_TYPE_SPEAKER_PROTECTION         0x6f64adcc, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adcc-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_SPEAKER_PROTECTION);
#define AUDIO_EFFECT_TYPE_SPEAKER_PROTECTION DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_SPEAKER_PROTECTION)

КОМПЕНСАЦИЯ ГОВОРЯЩЕГО

#define STATIC_AUDIO_EFFECT_TYPE_SPEAKER_COMPENSATION       0x6f64adcd, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adcd-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_SPEAKER_COMPENSATION);
#define AUDIO_EFFECT_TYPE_SPEAKER_COMPENSATION DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_SPEAKER_COMPENSATION)

ДИНАМИЧЕСКОЕ СЖАТИЕ ДИАПАЗОНА

#define STATIC_AUDIO_EFFECT_TYPE_DYNAMIC_RANGE_COMPRESSION  0x6f64adce, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adce-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_DYNAMIC_RANGE_COMPRESSION);
#define AUDIO_EFFECT_TYPE_DYNAMIC_RANGE_COMPRESSION DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_DYNAMIC_RANGE_COMPRESSION)