Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Os drivers declaram os modos de processamento de sinal de áudio suportados para cada dispositivo.
Modos de processamento de sinal disponíveis
As categorias de áudio (selecionadas por aplicativos) são mapeadas para os modos de áudio (definidos pelos drivers). O Windows define sete modos de processamento de sinal de áudio. OEMs e IHVs podem determinar quais modos desejam implementar. Recomenda-se que os IHVs/OEMs utilizem os novos modos para adicionar efeitos de áudio que otimizem o sinal de áudio para fornecer a melhor experiência ao usuário. Os modos estão resumidos na tabela abaixo.
| Modo | Renderização/captura | Descrição |
|---|---|---|
| Cru | Ambos | O modo bruto especifica que não deve haver nenhum processamento de sinal aplicado ao fluxo. Um aplicativo pode solicitar um fluxo bruto que é completamente intocado e executar seu próprio processamento de sinal. |
| Predefinido | Ambos | Este modo define o processamento de áudio padrão. |
| Filmes* | Renderização | Reprodução de áudio de filme |
| Meios de comunicação* | Ambos | Reprodução de áudio de música (padrão para a maioria dos fluxos de mídia) |
| Discurso* | Recolha | Captura de voz humana (por exemplo, entrada para assistente pessoal) |
| Comunicações* | Ambos | Renderização e captura de VOIP (por exemplo, Teams, Skype, Lync) |
| Notificação* | Renderização | Toques, alarmes, alertas, etc. |
* Novo no Windows 10.
Importante
Os fluxos de captura brutos não devem incluir nenhum processamento adaptável ou variável de tempo, como controle de eco, controle automático de ganho ou supressão de ruído. O único processamento de áudio permitido na captura bruta é a equalização linear para achatar a resposta de frequência.
Requisitos do driver do modo de processamento de sinais
Os drivers de dispositivo de áudio precisam suportar pelo menos o modo Bruto ou Padrão. O suporte a modos adicionais é opcional.
É possível que nem todos os modos estejam disponíveis para um determinado sistema. Os drivers definem quais modos de processamento de sinal eles suportam (ou seja, quais tipos de APOs são instalados como parte do driver) e informam o sistema operacional de acordo. Se um determinado modo não for suportado pelo driver, o Windows usará o próximo melhor modo de correspondência.
O diagrama a seguir mostra um sistema que suporta vários modos:
Diagrama que mostra um sistema que suporta múltiplos modos de áudio, com efeitos de som SFX e MFX variados.
Categorias de fluxo de áudio do Windows
A fim de informar o sistema sobre o uso de um fluxo de áudio, os aplicativos têm a opção de marcar o fluxo com uma categoria específica de fluxo de áudio. Os aplicativos podem definir a categoria de áudio, usando qualquer uma das APIs de áudio, logo após a criação do fluxo de áudio. No Windows, há nove categorias de fluxo de áudio.
| Categoria | Descrição |
|---|---|
| Filme | Filmes, vídeo com caixa de diálogo (substitui ForegroundOnlyMedia) |
| MÍDIA | Categoria padrão para reprodução de mídia (substitui BackgroundCapableMedia) |
| Bate-papo do jogo | Comunicação no jogo entre utilizadores (Nova categoria no Windows 10) |
| Voz | Entrada de voz (por exemplo, assistente pessoal) e saída (por exemplo, aplicativos de navegação) (Nova categoria no Windows 10) |
| Comunicações | VOIP, chat em tempo real |
| Alertas | Alarme, toque, notificações |
| Efeitos sonoros | Bips, toques, etc. |
| Mídia do jogo | Na música do jogo |
| Efeitos do jogo | Bolas saltando, sons do motor do carro, balas, etc. |
| Outros | Fluxos sem categoria |
Como mencionado anteriormente, as categorias de áudio (selecionadas por aplicativos) são mapeadas para modos de áudio (definidos por drivers). Os aplicativos podem marcar cada um de seus fluxos com uma das 10 categorias de áudio.
Os aplicativos não têm a opção de alterar o mapeamento entre uma categoria de áudio e um modo de processamento de sinal. As aplicações não têm consciência do conceito de um "modo de processamento de áudio". Eles não podem descobrir qual modo é usado para cada um de seus fluxos.
Exemplo de código WASAPI
O seguinte código WASAPI do exemplo WASAPIAudio mostra como definir diferentes categorias de áudio.
// 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 ) ) { … }
…
Modos e efeitos de processamento de sinal
Os OEMs definem quais efeitos serão usados para cada modo. O Windows define uma lista de dezassete tipos de efeitos de áudio.
Para obter informações sobre como associar APOs a modos, consulte Implementing Audio Processing Objects.
É possível que os aplicativos perguntem quais efeitos seriam aplicados a um fluxo específico para processamento RAW ou não-RAW. Os aplicativos também podem pedir para serem notificados quando os efeitos ou o estado de processamento bruto mudarem. O aplicativo pode usar essas informações para determinar se um efeito de streaming específico, como "cancelamento de eco acústico", está disponível ou se nenhum efeito está em uso. Se nenhum efeito estiver em uso, a aplicação pode determinar quanta do seu próprio processamento de áudio deseja adicionar.
Se System.Devices.AudioDevice.RawProcessingSupported for verdadeiro, as aplicações também têm a opção de definir um sinalizador «use RAW» em determinados fluxos. Se System.Devices.AudioDevice.RawProcessingSupported for falso, as aplicações não poderão definir o sinalizador "use RAW".
Os aplicativos não têm visibilidade de quantos modos estão presentes, com exceção de RAW/non-RAW.
Os aplicativos devem solicitar o processamento ideal de efeitos de áudio, independentemente da configuração de hardware de áudio. Por exemplo, marcar um fluxo como Comunicações permitirá que o Windows pause a música de fundo.
Para obter mais informações sobre as categorias de fluxo de áudio estático, consulte a enumeração AudioCategory e a propriedade MediaElement.AudioCategory.
CLSIDs para efeitos do sistema
FX_DISCOVER_EFFECTS_APO_CLSID
Este é o CLSID para o MsApoFxProxy.dll "efeito proxy", que consulta o driver para obter a lista de efeitos ativos;
FX_DISCOVER_EFFECTS_APO_CLSID = "{889C03C8-ABAD-4004-BF0A-BC7BB825E166}"
KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE
KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE é um identificador para o Kernel Streaming que identifica que o atributo específico que está sendo referenciado é o atributo do modo de processamento de sinal.
As instruções #define mostradas aqui estão disponíveis no arquivo de cabeçalho 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 é utilizado por drivers que reconhecem o modo com uma estrutura de KSDATARANGE que contém uma KSATTRIBUTE_LIST. Esta lista tem um único elemento, que é um KSATTRIBUTE. O membro Attribute da estrutura KSATTRIBUTE é definido como KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE.
Efeitos de áudio
Os seguintes efeitos de áudio estão disponíveis para uso no Windows 10.
| Efeito de áudio | Descrição |
|---|---|
| Cancelamento de Eco Acústico (AEC) | O Cancelamento de Eco Acústico (AEC) melhora a qualidade do áudio removendo o eco, depois que ele já está presente no fluxo de áudio. |
| Supressão de ruído (NS) | A Supressão Simples de Ruído (NS) suprime ruídos como zumbe e zumbidos quando está presente no fluxo de áudio. |
| Supressão de ruído profundo | A Supressão Profunda de Ruído utiliza técnicas avançadas de IA/aprendizagem automática para suprimir o ruído, particularmente em chamadas de voz. |
| Controle automático de ganho (AGC) | Controle de ganho automático (AGC) - é projetado para fornecer uma amplitude de sinal controlada em sua saída, apesar da variação da amplitude no sinal de entrada. O nível médio ou de pico do sinal de saída é usado para ajustar dinamicamente o ganho de entrada para saída para um valor adequado, permitindo um nível estável de saída, mesmo com uma ampla gama de níveis de sinal de entrada. |
| Formação de feixe (BF) | Beam Forming (BF) é uma técnica de processamento de sinal usada para transmissão ou receção de sinal direcional. Isto é conseguido através da combinação de elementos em uma matriz faseada de tal forma que os sinais em ângulos específicos experimentam interferência construtiva, enquanto outros experimentam interferência destrutiva. A melhoria em comparação com a receção/transmissão omnidirecional é conhecida como ganho (ou perda) de receção/transmissão. |
| Remoção de Tom Constante | A remoção de tons constante é usada para atenuar o ruído de fundo constante, como chiado de fita, ventiladores elétricos ou zumbidos. |
| Equalizador | O efeito Equalizer é usado para alterar a resposta de frequência de um sistema de áudio usando filtros lineares. Isso permite que diferentes partes do sinal sejam realçadas, semelhante a uma configuração de agudos ou graves. |
| Equalizador de volume | O efeito equalizador de volume reduz as diferenças de volume percebidas, nivelando a saída de áudio para que os sons mais altos e silenciosos estejam mais próximos de um nível médio de intensidade. |
| Aumento de graves | Em sistemas como laptops que possuem alto-falantes com capacidade limitada de graves, às vezes é possível aumentar a qualidade percebida do áudio, aumentando a resposta de graves na faixa de frequência suportada pelo alto-falante. O aumento de graves melhora o som em dispositivos móveis com altifalantes muito pequenos, aumentando o ganho na gama de graves médios. |
| Virtual Surround | Virtual surround usa métodos digitais simples para combinar um sinal multicanal em dois canais. Isto é feito de forma a permitir que o sinal transformado seja restaurado para o sinal multicanal original, usando os descodificadores Pro Logic que estão disponíveis na maioria dos recetores de áudio modernos. O surround virtual é ideal para um sistema com um hardware de som de dois canais e um recetor com um mecanismo de melhoria do som surround. |
| Auscultadores Virtuais | O som surround virtualizado permite aos utilizadores que usam auscultadores distinguir o som da frente para trás, bem como de um lado para o outro. Isto é feito através da transmissão de pistas espaciais que ajudam o cérebro a localizar os sons e integrá-los em um campo sonoro. Isto tem o efeito de fazer com que o som pareça transcender os auscultadores, criando uma experiência de audição "fora da cabeça". Este efeito é conseguido através da utilização de uma tecnologia avançada denominada Funções de Transferência Relacionadas com a Cabeça (HRTF). HRTF gera pistas acústicas que são baseadas na forma da cabeça humana. Essas pistas não só ajudam os ouvintes a localizar a direção e a fonte do som, mas também melhoram o tipo de ambiente acústico que está ao redor do ouvinte. |
| Preenchimento de alto-falante | A maioria da música é produzida com apenas dois canais e, portanto, não é otimizada para o equipamento de áudio multicanal do entusiasta típico de áudio ou vídeo. Assim, ter música emanada apenas dos altifalantes frontais esquerdo e dianteiro-direito é uma experiência áudio aquém do ideal. O preenchimento do altifalante simula uma configuração de altifalante multicanal. Permite que a música que, de outra forma, seria ouvida em apenas dois altifalantes seja reproduzida em todos os altifalantes da sala, aumentando a sensação espacial. |
| Correção de sala | A correção de sala otimiza a experiência de audição para um determinado local da sala, por exemplo, a almofada central do sofá, calculando automaticamente a combinação ideal de atraso, resposta de frequência e ajustes de ganho. O recurso de correção de sala combina melhor o som com a imagem na tela de vídeo e também é útil nos casos em que os alto-falantes da área de trabalho são colocados em locais fora do padrão. O processamento de correção de sala é uma melhoria em relação a características semelhantes em recetores de gama alta porque leva melhor em consideração a forma como o ouvido humano perceciona o som. A calibração é realizada com a ajuda de um microfone, e o procedimento pode ser usado com sistemas estéreo e multicanal. O usuário coloca o microfone onde o usuário pretende se sentar e, em seguida, ativa um assistente que mede a resposta da sala. O assistente reproduz um conjunto de tons especialmente concebidos de cada altifalante por sua vez e mede a distância, a resposta de frequência e o ganho global de cada altifalante a partir da localização do microfone. |
| Gestão de graves | Existem dois modos de gestão de graves: gestão de graves avançada e gestão de graves reversa. Gerenciamento avançado de graves filtra o conteúdo de baixa frequência do fluxo de dados de áudio. O algoritmo de gestão de graves avançada redireciona a saída filtrada para o subwoofer ou para os canais de altifalantes frontais esquerdo e direito, dependendo dos canais que suportam frequências de graves profundos. Esta decisão baseia-se na definição da bandeira LRBig. Para definir o sinalizador LRBig, o usuário usa o miniaplicativo Som no Painel de Controle para acessar a caixa de diálogo Configurações de Gerenciamento de Graves. O utilizador seleciona uma caixa de seleção para indicar, por exemplo, que os altifalantes frontal direito e frontal esquerdo estão em gama completa e esta ação marca o indicador LRBig. Para limpar esse sinalizador, marque a caixa de seleção. A gestão de graves inversa distribui o sinal do canal do subwoofer para os outros canais de saída. O sinal é direcionado para todos os canais ou para os canais frontais esquerdo e direito, dependendo da configuração do sinalizador LRBig. Este processo utiliza uma redução substancial do ganho ao misturar o sinal do subwoofer nos outros canais. O modo de gestão de graves utilizado depende da disponibilidade de um subwoofer e da capacidade de manipulação de graves das colunas principais. No Windows, o usuário fornece essas informações através do miniaplicativo Som no Painel de Controle. |
| Efeitos ambientais | Os efeitos ambientais trabalham para aumentar a realidade da reprodução de áudio simulando com mais precisão ambientes de áudio do mundo real. Há uma série de ambientes diferentes que você pode selecionar, por exemplo, "estádio" simula a acústica de um estádio de esportes. |
| Proteção de alto-falantes | O objetivo da proteção dos altifalantes é suprimir as frequências de ressonância que fariam com que os altifalantes causassem danos físicos a qualquer um dos componentes do sistema dos PCs. Por exemplo, alguns discos rígidos físicos podem ser danificados pela reprodução de um som alto na frequência certa. Secundariamente, a proteção dos altifalantes funciona para minimizar os danos causados aos altifalantes, atenuando o sinal, quando este excede determinados valores. |
| Compensação do orador | Alguns alto-falantes são melhores em reproduzir som do que outros. Por exemplo, um determinado alto-falante pode atenuar sons abaixo de 100 Hz. Às vezes, drivers de áudio e soluções DSP de firmware têm conhecimento sobre as características específicas de desempenho das colunas para as quais estão a tocar, e podem ainda adicionar processamento projetado para compensar as limitações das colunas. Por exemplo, pode ser criado um efeito final (EFX) que aplique o ganho a frequências inferiores a 100 Hz. Este efeito, quando combinado com a atenuação no altifalante físico, resulta numa fidelidade áudio melhorada. |
| Compressão de faixa dinâmica | A compressão de faixa dinâmica amplifica sons silenciosos estreitando ou "comprimindo" a faixa dinâmica de um sinal de áudio. A compressão de áudio amplifica sons silenciosos que estão abaixo de um determinado limite, enquanto os sons altos permanecem inalterados. |
As instruções #define mostradas aqui estão disponíveis no arquivo de cabeçalho KSMedia.h.
INCUMPRIMENTO
#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)
CRU
#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)
CANCELAMENTO DE ECO ACÚSTICO
#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)
SUPRESSÃO DE RUÍDO
#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)
CONTROLO AUTOMÁTICO DE GANHO
#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)
FORMAÇÃO DE FEIXES
#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)
REMOÇÃO DE TOM CONSTANTE
#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)
EQUALIZADOR
#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)
EQUALIZADOR DE VOLUME
#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)
REFORÇO BAIXO
#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)
VIRTUAL SURROUND
#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)
AUSCULTADORES VIRTUAIS
#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)
CORREÇÃO DE SALA
#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)
GESTÃO DE BASS
#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)
EFEITOS AMBIENTAIS
#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)
PROTEÇÃO DE ALTO-FALANTES
#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)
COMPENSAÇÃO DO ORADOR
#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)
COMPRESSÃO DE FAIXA DINÂMICA
#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)
Supressão de ruído profundo
A partir do Windows 11, versão 24H2, um novo GUID está disponível para habilitar a supressão profunda de ruído.
Existem dois identificadores para os efeitos de supressão de ruído. Existe um identificador existente para Supressão de Ruído e o novo identificador que é adicionado para Supressão de Ruído Profundo. O primeiro é para supressão de ruído "baixo" (simples), enquanto o segundo é "alto" e é implementado como uma solução de IA / aprendizado de máquina. Tal como acontece com todos os efeitos de áudio disponíveis, cabe ao aplicativo escolher qual deles pode querer usar, dependendo de suas necessidades e cenários particulares.
#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)
Efeitos de áudio, como Deep Noise Suppression, são implementados como um objeto de processamento de áudio - APO. Para obter mais informações, consulte Objetos de processamento de áudio do Windows.
A APO precisa implementar a interface IAudioSystemEffects3 se quiser expor efeitos cujo estado pode ser ativado ou desativado dinamicamente. Para obter mais informações, consulte interface IAudioSystemEffects3 (audioengineextensionapo.h).