Режимы обработки звуковых сигналов
Драйверы объявляют поддерживаемые режимы обработки звуковых сигналов для каждого устройства.
Доступные режимы обработки сигналов
Категории звука (выбранные приложениями) сопоставляются с звуковыми режимами (определяются драйверами). Windows определяет семь режимов обработки звуковых сигналов. Изготовители оборудования и IHV могут определить, какие режимы они хотят реализовать. Рекомендуется использовать новые режимы для добавления звуковых эффектов, которые оптимизируют звуковой сигнал, чтобы обеспечить лучший пользовательский интерфейс. Режимы приведены в таблице ниже.
Режим | Отрисовка и запись | Description |
---|---|---|
Необработанные | Оба | Необработанный режим указывает, что к потоку не следует применять обработку сигналов. Приложение может запрашивать необработанный поток, который полностью не тронут и выполнять собственную обработку сигналов. |
По умолчанию. | Оба | Этот режим определяет обработку звука по умолчанию. |
Фильмы* | Render | Воспроизведение звука фильма |
Носителя* | Оба | Воспроизведение звука музыки (по умолчанию для большинства потоков мультимедиа) |
Речи* | Capture | Запись голоса человека (например, входные данные для личных помощник) |
Коммуникаций* | Оба | Визуализация и запись VOIP (например, Teams, Skype, Lync) |
Уведомления* | Render | Мелодии, оповещения, оповещения и т. д. |
* Новые возможности Windows 10.
Требования к драйверу режима обработки сигналов
Драйверы аудиоустройств должны поддерживать по крайней мере режим "Необработанный" или "Стандартный". Поддержка дополнительных режимов является необязательным.
Возможно, для определенной системы могут быть доступны не все режимы. Драйверы определяют, какие режимы обработки сигналов они поддерживают (т. е. какие типы API устанавливаются в составе драйвера) и уведомляют ОС соответствующим образом. Если определенный режим не поддерживается драйвером, Windows будет использовать следующий лучший режим сопоставления.
На следующей схеме показана система, поддерживающая несколько режимов:
Категории аудиопотоков Windows
Чтобы сообщить системе об использовании аудиопотока, приложения могут пометить поток с определенной категорией аудиопотока. Приложения могут задать категорию звука, используя любой из API аудио, сразу после создания аудиопотока. В Windows есть девять категорий аудиопотоков.
Категория | Description |
---|---|
Кинофильм | Фильмы, видео с диалогом (заменяет ForegroundOnlyMedia) |
Средства массовой информации | Категория по умолчанию для воспроизведения мультимедиа (заменяет BackgroundCapableMedia) |
Игровой чат | Взаимодействие между пользователями в игре (новая категория в Windows 10) |
Речь | Входные данные речи (например, личные помощник) и выходные данные (например, приложения навигации) (новая категория в Windows 10) |
Сообщения | VOIP, чат в режиме реального времени |
видны узлы | Сигнализация, кольцевой тон, уведомления |
Звуковые эффекты | Beeps, dings и т. д. |
Игровые носители | В игре музыка |
Игровые эффекты | Шары отскочили, звуки двигателя автомобиля, пули и т. д. |
Другие | Некатегоризованные потоки |
Как упоминание ранее, категории звука (выбранные приложениями) сопоставляются с звуковыми режимами (определенными драйверами). Приложения могут пометить каждый из своих потоков одним из 10 категорий аудио.
Приложения не имеют возможности изменять сопоставление между звуковой категорией и режимом обработки сигналов. Приложения не имеют осведомленности о концепции "режима обработки звука". Они не могут узнать, какой режим используется для каждого из потоков.
Пример кода WASAPI
Следующий код WASAPI из примера WASAPIAudio показывает, как задать различные категории звука.
// The ActivateAudioInterfaceAsync is a replacement 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 определяет список семнадцати типов звуковых эффектов.
Сведения о связывании API с режимами см. в разделе "Реализация объектов обработки звука".
Приложения могут задавать, какие эффекты будут применяться к определенному потоку для обработки RAW или не-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. Для элемента атрибута структуры KSATTRIBUTE задано значение KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE.
Звуковые эффекты
Следующие звуковые эффекты доступны для использования в Windows 10.
Звуковой эффект | Description |
---|---|
Акустическая отмена эхо (AEC) | Акустическая отмена эхо (AEC) улучшает качество звука, удаляя эхо, после того как он уже присутствует в аудиопотоке. |
Подавление шума (NS) | Простое подавление шума (NS) подавляет такие шумы, как шум и шум, когда он присутствует в звуковом потоке. |
Глубокое подавление шума | Глубокое подавление шума использует расширенные методы искусственного интеллекта или машинного обучения для подавления шума, особенно в голосовых звонках. |
Автоматическое управление получением (AGC) | Автоматическое управление получением (AGC) — предназначено для обеспечения управляемой амплитуды сигнала в выходных данных, несмотря на вариацию амплитуды в входном сигнале. Средний или пиковый уровень сигнала выходных данных используется для динамической корректировки входного и выходного значения, что позволяет обеспечить стабильный уровень выходных данных, даже с широким диапазоном уровней входных сигналов. |
Формирование луча (BF) | Формирование луча (BF) — это метод обработки сигналов, используемый для передачи или приема сигнала направления. Это достигается путем объединения элементов в поэтапном массиве таким образом, чтобы сигналы на определенных углах испытывают конструктивное вмешательство, а другие испытывают разрушительные помехи. Улучшение по сравнению с всенаправленным приемом или передачей называется получением и передачей (или потерей). |
Удаление константного тона | Постоянное удаление тонов используется для затенения постоянных фоновых шумов, таких как ленты его, электрические вентиляторы или хумы. |
Equalizer | Эффект эквалайзера используется для изменения частоты отклика звуковой системы с помощью линейных фильтров. Это позволяет повысить различные части сигнала, аналогичные треблу или басовой настройке. |
Уравнитель громкости | Эффект равенства громкости уменьшает предполагаемые различия громкости путем выравнивания выходных данных звука, чтобы более громкие и тихие звуки ближе к среднему уровню громкости. |
Бас-бум | В таких системах, как ноутбуки, имеющие динамики с ограниченными возможностями баса, иногда можно увеличить предполагаемое качество звука, повышая бас-ответ в диапазоне частот, поддерживаемый динамиком. Бас-повышение улучшает звук на мобильных устройствах с очень небольшими динамиками, увеличивая рост в середине басового диапазона. |
Виртуальная окружная сеть | Виртуальная окружность использует простые цифровые методы для объединения многоканального сигнала в два канала. Это делается таким образом, чтобы преобразованный сигнал был восстановлен до исходного многоканального сигнала с помощью декодаторов логики Pro, доступных в большинстве современных приемников звука. Виртуальная окружении идеально подходит для системы с двухканавым звуковым оборудованием и приемником, который имеет механизм улучшения звука вокруг. |
Виртуальные наушники | Виртуализированный окружающий звук позволяет пользователям, которые носят наушники, чтобы отличать звук от передней до задней, а также от стороны к стороне. Это делается путем передачи пространственных сигналов, которые помогают мозгу локализовать звуки и интегрировать их в звуковое поле. Это имеет эффект сделать звук, как он выходит за рамки наушников, создавая "вне головы" прослушивание. Этот эффект достигается с помощью расширенной технологии с именем "Функции передачи головы" (HRTF). HRTF создает акустические подсказки, основанные на форме человеческой головы. Эти подсказки не только помогают прослушивателям находить направление и источник звука, но и повышает тип акустической среды, которая окружает прослушиватель. |
Заливка говорящего | Большая часть музыки производится только с двумя каналами и, следовательно, не оптимизирована для мультиканального звукового оборудования типичного аудио- или видеолюбителя. Таким образом, имея музыку исходят только от переднего левого и переднего правого громкоговорителей является менее чем идеальный аудио опыт. Заливка динамиков имитирует настройку многоканального громкоговорителя. Это позволяет музыке, которая бы в противном случае была слышна только на двух динамиков, чтобы играть на всех громкоговорителях в комнате, повышая пространственное ощущение. |
Исправление комнаты | Исправление комнаты оптимизирует взаимодействие с прослушиванием для определенного расположения в комнате, например центр подушки дивана, автоматически вычисляя оптимальную комбинацию задержки, частоты отклика и получения корректировки. Функция исправления помещений лучше соответствует звуку изображения на экране видео, а также полезно в случаях, когда динамики настольных компьютеров размещаются в нестандартных местах. Обработка коррекции помещений является улучшением по сравнению с аналогичными функциями в высокоуровневых приемниках, потому что он лучше учитывает способ, в котором человеческие ухи обрабатывают звук. Калибровка выполняется с помощью микрофона, а процедура может использоваться как с стерео- и многоканальными системами. Пользователь помещает микрофон, где пользователь намерен сидеть, а затем активирует мастер, который измеряет ответ комнаты. Мастер играет набор специально разработанных тонов от каждого громкоговорительный оператор, в свою очередь, и измеряет расстояние, частоту отклика и общее получение каждого громкоговорительный сигнал от расположения микрофона. |
Управление басами | Существует два режима управления басами: управление басами вперед и обратное управление басами. Переадресация управления басами фильтрует низкочастотный контент потока звуковых данных. Алгоритм управления басами вперед перенаправляет отфильтрованные выходные данные на подвуфер или на каналы переднего и правого громкоговорителя в зависимости от каналов, которые могут обрабатывать глубокие частоты басов. Это решение основано на настройке флага LRBig. Чтобы задать флаг LRBig, пользователь использует applet Sound в панель управления для доступа к диалоговому окне "Управление басами" Параметры. Пользователь выбирает поле проверка, указывающее, например, что передние и левые динамики являются полным диапазоном, и это действие задает флаг LRBig. Чтобы очистить этот флаг, выберите поле проверка. Управление обратным басом распределяет сигнал от канала подвуфера к другим выходным каналам. Сигнал направляется либо ко всем каналам, либо к левым и передним правым каналам в зависимости от параметра флага LRBig. Этот процесс использует существенное снижение прибыли при смешении сигнала подвуфера в другие каналы. Режим управления басами зависит от доступности субвуфера и возможностей обработки басов основных динамиков. В Windows пользователь предоставляет эти сведения с помощью апплета Sound в панель управления. |
Воздействие окружающей среды | Экологические эффекты работают для повышения реальности воспроизведения звука путем более точного имитации реальных звуковых сред. Существует несколько различных сред, которые можно выбрать, например "стадион" имитирует акустику спортивного стадиона. |
Защита динамиков | Цель защиты динамиков заключается в подавлении резонентных частот, которые могут привести к физическому ущербу для любого из системных компонентов пк. Например, некоторые физические жесткие диски могут быть повреждены, играя громкий звук с правильной частотой. Во-вторых, защита динамиков работает, чтобы свести к минимуму ущерб динамиков, за счет уменьшения сигнала при превышении определенных значений. |
Компенсация динамиков | Некоторые динамики лучше воспроизводит звук, чем другие. Например, конкретный динамик может затенять звуки ниже 100 Гц. Иногда звуковые драйверы и решения DSP встроенного ПО обладают знаниями о конкретных характеристиках производительности воспроизводимых динамиков, и они могут добавлять обработку, предназначенную для компенсации ограничений динамиков. Например, можно создать эффект конечной точки (EFX), который применяется к частоте ниже 100 Гц. Этот эффект, при сочетании с затуханием в физическом динамике, приводит к повышению точности звука. |
Сжатие динамического диапазона | Динамическое сжатие диапазона усиливает тихие звуки путем сужения или сжатия динамического диапазона звукового сигнала. Сжатие звука усиливает тихие звуки, которые ниже определенного порога, в то время как громкие звуки остаются не затронутыми. |
Инструкции #define, показанные здесь, доступны в файле заголовка KSMedia.h.
ПО УМОЛЧАНИЮ
#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)
НЕОБРАБОТАННЫЕ
#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)
Глубокое подавление шума
Начиная с Windows 11 версии 24H2, новый GUID доступен для включения глубокого подавления шума.
Существует два идентификатора для эффектов подавления шума. Существует существующий идентификатор подавления шума и новый идентификатор, добавленный для глубокого подавления шума. Первый — для "низкого" (простого) подавления шума, в то время как последний является "высоким" и реализуется в качестве решения искусственного интеллекта и машинного обучения. Как и в случае со всеми доступными звуковыми эффектами, приложение зависит от того, какой из них может потребоваться использовать, в зависимости от их потребностей и конкретных сценариев.
#define STATIC_AUDIO_EFFECT_TYPE_DEEP_NOISE_SUPPRESSION 0x6f64add0, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64add0-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_DEEP_NOISE_SUPPRESSION);
#define AUDIO_EFFECT_TYPE_DEEP_NOISE_SUPPRESSION DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_DEEP_NOISE_SUPPRESSION)
Звуковые эффекты, такие как глубокое подавление шума, реализуются как объект обработки звука — APO. Дополнительные сведения см. в разделе "Объекты обработки звука Windows".
APO должен реализовать IAudioSystemEffects3
интерфейс, если он собирается предоставлять эффекты, состояние которых можно динамически включить или отключить. Дополнительные сведения см. в интерфейсе IAudioSystemEffects3 (audioengineextensionapo.h).