Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Драйверы объявляют поддерживаемые режимы обработки звуковых сигналов для каждого устройства.
Доступные режимы обработки сигналов
Категории звука (выбранные приложениями) сопоставляются с звуковыми режимами (определяются драйверами). Windows определяет семь режимов обработки звуковых сигналов. Изготовители оборудования и IHV могут определить, какие режимы они хотят реализовать. Рекомендуется, чтобы производители аппаратного обеспечения/оригинальные производители оборудования использовали новые режимы для добавления звуковых эффектов, которые оптимизируют звуковой сигнал и обеспечивают наилучший пользовательский опыт. Режимы приведены в таблице ниже.
| Режим | Отрисовка и запись | Описание |
|---|---|---|
| Необработанные | Оба | Необработанный режим указывает, что к потоку не следует применять обработку сигналов. Приложение может запрашивать необработанный поток, который полностью не тронут и выполнять собственную обработку сигналов. |
| По умолчанию | Оба | Этот режим определяет обработку звука по умолчанию. |
| Кино* | Отображать | Воспроизведение звука фильма |
| Медиа* | Оба | Воспроизведение звука музыки (по умолчанию для большинства потоков мультимедиа) |
| Речь* | Захват | Запись речи человека (например, входные данные для личного помощника) |
| Связь* | Оба | Визуализация и запись VOIP (например, Teams, Skype, Lync) |
| Уведомление* | Отображать | Мелодии, будильники, уведомления и т. д. |
* Новые возможности Windows 10.
Это важно
Потоки необработанного захвата не должны включать в себя любое время, изменяя или адаптивную обработку, например эхо-управление, автоматическое управление получением или подавление шума. Единственная обработка звука, разрешенная в необработанном захвате, — линейная равенства с плоской частотой отклика.
Требования к драйверу режима обработки сигналов
Драйверы аудиоустройств должны поддерживать по крайней мере режим "Необработанный " или "Стандартный ". Поддержка дополнительных режимов является необязательным.
Возможно, для определенной системы могут быть доступны не все режимы. Драйверы определяют, какие режимы обработки сигналов они поддерживают (т. е. какие типы API устанавливаются в составе драйвера) и уведомляют ОС соответствующим образом. Если определенный режим не поддерживается драйвером, Windows будет использовать следующий лучший режим сопоставления.
На следующей схеме показана система, поддерживающая несколько режимов:
Категории аудиопотоков Windows
Чтобы сообщить системе об использовании аудиопотока, приложения могут пометить поток с определенной категорией аудиопотока. Приложения могут задать категорию звука, используя любой из API аудио, сразу после создания аудиопотока. В Windows есть девять категорий аудиопотоков.
| Категория | Описание |
|---|---|
| Кинофильм | Фильмы, видео с диалогом (заменяет 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. Приложения также могут запрашивать уведомление при изменении состояния обработки эффектов или необработанных данных. Приложение может использовать эти сведения, чтобы определить, доступен ли конкретный потоковый эффект, например, "акустическое подавление эха", или если какие-либо эффекты не используются. Если эффекты не используются, приложение может определить, насколько больше аудиообработки добавить самостоятельно.
Если 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 — это идентификатор в Kernel Streaming, который определяет, что конкретный атрибут является атрибутом режима обработки сигналов.
Инструкции #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.
| Звуковой эффект | Описание |
|---|---|
| Акустическая эхокомпенсация (AEC) | Акустическое устранение эха (AEC) улучшает качество звука, удаляя эхо после того, как оно уже присутствует в аудиопотоке. |
| Подавление шума (NS) | Простое подавление шума (NS) подавляет такие шумы, как гул и жужжание, когда они присутствуют в звуковом потоке. |
| Глубокое подавление шума | Глубокое подавление шума использует расширенные методы искусственного интеллекта или машинного обучения для подавления шума, особенно в голосовых звонках. |
| Автоматическая регулировка усиления (AGC) | Автоматическое управление усилением (AGC) предназначено для обеспечения управляемой амплитуды сигнала на выходе, несмотря на изменения амплитуды во входном сигнале. Средний или пиковый уровень сигнала выходных данных используется для динамической корректировки входного и выходного значения, что позволяет обеспечить стабильный уровень выходных данных, даже с широким диапазоном уровней входных сигналов. |
| Формирование луча (BF) | Формирование луча (BF) — это метод обработки сигналов, используемый для передачи или приема сигнала направления. Это достигается путем объединения элементов в поэтапном массиве таким образом, чтобы сигналы на определенных углах испытывают конструктивное вмешательство, а другие испытывают разрушительные помехи. Улучшение по сравнению с всенаправленным приемом/передачей известно как усиление (или ослабление) приема/передачи. |
| Удаление константного тона | Постоянное удаление тонов используется для ослабления постоянных фоновых шумов, таких как шипение ленты, электрические вентиляторы или гудение. |
| Балансир | Эффект эквалайзера используется для изменения частоты отклика звуковой системы с помощью линейных фильтров. Это позволяет различные части сигнала могут быть усилены, аналогично настройкам высоких и низких частот. |
| Уравнитель громкости | Эффект эквалайзера громкости уменьшает воспринимаемые различия громкости посредством выравнивания звукового сигнала, чтобы более громкие и тихие звуки приближались к среднему уровню громкости. |
| Усиление басов | В таких системах, как ноутбуки, имеющие динамики с ограниченными возможностями баса, иногда можно увеличить предполагаемое качество звука, повышая бас-ответ в диапазоне частот, поддерживаемый динамиком. Усиление басов улучшает звук на мобильных устройствах, имеющих очень маленькие динамики, увеличивая усиление в среднем басовом диапазоне. |
| Виртуальный объемный звук | Виртуальная окружность использует простые цифровые методы для объединения многоканального сигнала в два канала. Это делается таким образом, чтобы преобразованный сигнал был восстановлен до исходного многоканального сигнала с помощью декодаторов логики Pro, доступных в большинстве современных приемников звука. Виртуальный Surround идеально подходит для системы с двухканальным звуковым оборудованием и приемником, который имеет механизм улучшения объемного звучания. |
| Виртуальные наушники | Виртуализированный объемный звук позволяет пользователям в наушниках различать направление звука спереди назад и с одной стороны на другую. Это делается путем передачи пространственных сигналов, которые помогают мозгу локализовать звуки и интегрировать их в звуковое поле. Это создает эффект, когда звук выходит за пределы наушников, создавая ощущение, что он находится вне головы. Этот эффект достигается с помощью современной технологии, известной как "Функции передачи, связанные с положением головы" (HRTF). HRTF создает акустические подсказки, основанные на форме человеческой головы. Эти подсказки не только помогают прослушивателям находить направление и источник звука, но и повышает тип акустической среды, которая окружает прослушиватель. |
| Заполнение звука | Большая часть музыки производится только с двумя каналами и, следовательно, не оптимизирована для мультиканального звукового оборудования типичного аудио- или видеолюбителя. Таким образом, если музыка исходит только от переднего левого и переднего правого громкоговорителей, это менее чем идеальный аудиоопыт. Заполнение динамиков имитирует многоканальную настройку громкоговорителей. Это позволяет музыке, которая в противном случае звучала бы только на двух динамиках, звучать во всех громкоговорителях в комнате, усиливая пространственные ощущения. |
| Коррекция акустики помещения | Коррекция акустики помещения оптимизирует впечатления от прослушивания для определенного места в комнате, например, центральной подушки вашего дивана, автоматически вычисляя оптимальную комбинацию задержки, частотной характеристики и усиления. Функция коррекции звучания улучшает соответствие звука изображению на видеопроекторе и также полезна в случаях, когда настольные динамики размещаются в нестандартных местах. Коррекция акустики помещения является улучшением по сравнению с аналогичными функциями в высококлассных ресиверах, так как она лучше учитывает особенности обработки звука человеческим слухом. Калибровка выполняется с помощью микрофона, а процедура может использоваться как с стерео- и многоканальными системами. Пользователь помещает микрофон там, где намеревается сидеть, а затем активирует мастер настройки, который измеряет акустику комнаты. Программа настройки воспроизводит набор специально разработанных тонов из каждого громкоговорителя по очереди и измеряет расстояние, частотный отклик и общий коэффициент усиления каждого громкоговорителя от позиции микрофона. |
| Управление басами (аудио) | Существует два режима управления басами: прямое управление басами и обратное управление басами. Переадресация управления басами фильтрует низкочастотный контент потока звуковых данных. Алгоритм управления басами вперед перенаправляет отфильтрованные выходные данные на подвуфер или на каналы переднего и правого громкоговорителя в зависимости от каналов, которые могут обрабатывать глубокие частоты басов. Это решение основано на настройке флага LRBig. Чтобы задать флаг LRBig, пользователь использует applet Sound в панели управления для доступа к диалоговому окне "Параметры управления басами". Пользователь устанавливает флажок, чтобы указать, например, что передние правые и передние левые динамики являются полного диапазона, и это действие задает флаг LRBig. Чтобы снять этот флаг, отметьте флажок. Управление обратным басом распределяет сигнал от канала подвуфера к другим выходным каналам. Сигнал направляется либо ко всем каналам, либо к фронтальным левым и фронтальным правым каналам в зависимости от установки флага LRBig. Этот процесс использует существенное снижение усиления при смешивании сигнала сабвуфера с другими каналами. Режим управления басами зависит от доступности субвуфера и возможностей обработки басов основных динамиков. В Windows пользователь предоставляет эти сведения с помощью апплета "Звук" на панели управления. |
| Воздействие окружающей среды | Экологические эффекты работают для повышения реальности воспроизведения звука путем более точного имитации реальных звуковых сред. Существует несколько различных сред, которые можно выбрать, например "стадион" имитирует акустику спортивного стадиона. |
| Защита динамиков | Цель защиты динамиков заключается в подавлении резонентных частот, которые могут привести к физическому ущербу для любого из системных компонентов пк. Например, некоторые физические жесткие диски могут быть повреждены, играя громкий звук с правильной частотой. Во-вторых, защита динамиков работает, чтобы свести к минимуму ущерб динамиков, за счет уменьшения сигнала при превышении определенных значений. |
| Компенсация докладчиков | Некоторые динамики лучше воспроизводит звук, чем другие. Например, конкретный динамик может затенять звуки ниже 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).