Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
APOs (objetos de processamento de áudio), fornecem processamento de sinal digital baseado em software personalizável para fluxos de áudio do Windows.
Visão geral dos objetos de processamento de áudio
O Windows permite que os OEMs e os fabricantes de hardware de áudio de terceiros incluam efeitos personalizados de processamento de sinal digital como parte dos recursos de valor agregado do driver de áudio. Esses efeitos são empacotados como Objetos de Processamento de Áudio (APOs) no modo de usuário do sistema.
APOs (objetos de processamento de áudio), fornecem processamento de sinal digital baseado em software para fluxos de áudio do Windows. Um APO é um objeto host COM que contém um algoritmo escrito para fornecer um efeito específico de DSP (Processamento de Sinal Digital). Essa funcionalidade é conhecida informalmente como um "efeito de áudio". Exemplos de APOs incluem equalizadores gráficos, reverb, tremolo, AEC (Cancelamento de Eco Acústico) e AGC (Controle de Ganho Automático). APOs são objetos baseados em COM, em tempo real e em processo.
Nota As descrições e a terminologia nesta documentação referem-se principalmente a dispositivos de saída, como alto-falantes. No entanto, a tecnologia é simétrica e funciona essencialmente em reversão para dispositivos de entrada.
APOs de software versus DSP de hardware
Um DSP (processador de sinal digital de hardware) é um microprocessador especializado (ou um bloco SIP), com sua arquitetura otimizada para as necessidades operacionais de processamento de sinal digital. Pode haver vantagens significativas ao implementar o processamento de áudio em hardware dedicado versus usar APO de software. Uma vantagem é que o uso da CPU e o consumo de energia associado podem ser menores com um DSP implementado por hardware.
Há outras vantagens e desvantagens a serem consideradas, específicas das metas e restrições de seus projetos que você desejará considerar antes de implementar um APO baseado em software.
Os efeitos baseados em software são inseridos no pipeline do dispositivo de software durante a inicialização do fluxo. Essas soluções realizam todo o processamento de efeitos na CPU principal e não dependem de hardware externo. Esse tipo de solução é melhor para soluções de áudio tradicionais do Windows, como dispositivos HDAudio, USB e Bluetooth, quando o driver e o hardware dão suporte apenas ao processamento RAW. Para obter mais informações sobre o processamento RAW, consulte Modos de Processamento de Sinal de Áudio.
APO Proxy para DSP de hardware
Todos os efeitos aplicados no DSP de hardware precisam ser anunciados por meio de um APO proxy. A Microsoft fornece um APO proxy padrão (MsApoFxProxy.dll). Para usar o APO fornecido pela Microsoft, esse conjunto de propriedades e propriedade devem ter suporte.
Opcionalmente, você pode implementar seu próprio APO proxy.
APOs fornecidos pelo Windows (Sistema)
O Windows instala um conjunto padrão de APOs, que fornecem vários efeitos de áudio diferentes. Para obter uma lista dos efeitos do APO fornecidos pelo sistema, consulte Modos de Processamento de Sinal de Áudio.
Os OEMs podem incluir todas as APOs fornecidas pelo sistema ou substituir algumas ou todas elas por APOs personalizadas.
APOs personalizados
É possível criar APOs personalizadas para aprimorar a experiência de áudio do Windows adicionando efeitos de áudio adicionais.
O OEM pode incluir qualquer combinação dos APOs do Windows fornecidos e dos APOs personalizados ao despacharem o Windows.
Um APO personalizado pode ser instalado por um OEM ou por terceiros para aprimorar a experiência de áudio após a compra do dispositivo. Quando os usuários instalam um driver de dispositivo de áudio usando o arquivo INF padrão, eles automaticamente têm acesso às APOs do sistema. Os IHVs (fornecedores independentes de hardware) e os OEMs (fabricantes de equipamentos originais) podem fornecer efeitos personalizados adicionais do sistema enquanto ainda utilizam os drivers de classe da Microsoft. Eles fazem isso empacotando seus algoritmos DSP como APOs e modificando o arquivo INF padrão para inserir suas APOs no grafo de processamento de sinal do mecanismo de áudio.
Para obter mais informações sobre como criar APOs personalizadas, consulte Implementando objetos de processamento de áudio.
Aplicativo de suporte personalizado do APO
Para permitir que o usuário defina as configurações associadas ao seu APO personalizado, a abordagem recomendada é criar um aplicativo de suporte de hardware. Para obter mais informações, consulte HSA (Aplicativo de Suporte a Hardware): passos para desenvolvedores de drivers.
Requisitos e testes de APO personalizados
O Microsoft HLK fornece testes que podem ser usados com APOs. Para obter mais informações sobre testes de áudio, consulte Device.Audio Testing e Device.Audio Tests.
Esses dois testes podem ser particularmente úteis ao trabalhar com APOs.
Verificar Descoberta de Efeitos de Áudio (Manual) – Certificação
Para obter informações sobre requisitos de áudio para dar suporte a APOs, consulte Device.Audio Requirements.
Ferramentas e utilitários personalizados do APO
Você pode usar o "Exemplo de Descoberta de Efeitos de Áudio" para explorar os efeitos de áudio disponíveis. Este exemplo demonstra como consultar efeitos de áudio em dispositivos de áudio de renderização e captura e como monitorar alterações com os efeitos de áudio. Ele é incluído como parte dos exemplos do SDK e pode ser baixado usando este link:
Exemplo de descoberta de efeitos de áudio
Gerenciamento de efeito de áudio do aplicativo
Os aplicativos têm a capacidade de chamar APIs para determinar quais efeitos de áudio estão ativos no sistema no momento. Para obter mais informações sobre as APIs de reconhecimento de efeitos de áudio, consulte a classe AudioRenderEffectsManager.
Arquitetura de objetos de processamento de áudio
Posicionamento de efeitos de áudio
Há três locais diferentes para efeitos de áudio implementados como APOs. Eles estão em efeitos de transmissão (SFX), efeitos de modo (MFX) e efeitos de endpoints (EFX).
Efeito Streaming (SFX)
Um APO de efeito de fluxo tem uma instância do efeito para cada fluxo. Os efeitos de stream são aplicados antes da mixagem (renderização) ou após o tee (captura) para um determinado modo e podem ser usados para alterar a contagem de canais antes do misturador. Os efeitos de fluxo não são utilizados para fluxos de dados brutos.
Algumas versões do Windows, como otimização, não carregam APOs SFX ou MFX no modo RAW.
- O Windows 8.1 não carrega RAW SFX ou RAW MFX
- O Windows 10 carrega RAW MFX, mas não o RAW SFX
Efeito modo (MFX)
Os efeitos de modo (MFX) são aplicados a todos os fluxos mapeados para o mesmo modo. Os efeitos de modo são aplicados após a combinação (renderização) ou antes do tee (captura) para um determinado modo, mas antes da mistura (renderização) ou após o tee (captura) de todos os modos. Qualquer efeito específico de cenário ou efeito que não precise das especificidades do efeito de fluxo deve ser colocado aqui. É mais eficiente em termos de energia usar um efeito de modo, pois há uma instância para vários fluxos que compartilham as mesmas características, como periodicidade e formato.
Efeito de ponto de extremidade (EFX)
O Efeito de Ponto de Extremidade (EFX) é aplicado a todos os fluxos que usam o mesmo ponto de extremidade. Um efeito de ponto de extremidade é sempre aplicado, mesmo a fluxos brutos. Ou seja, é depois da combinação (renderização) ou antes do tee (captura) de todos os modos. Os efeitos de ponto final devem ser usados com cuidado e, quando em dúvida, um efeito deve ser colocado na área de Modo. Alguns efeitos que devem ser colocados na área do endpoint são a proteção do alto-falante e a compensação do alto-falante.
Este diagrama mostra os possíveis locais para os efeitos de fluxo (SFX), modo (MFX) e ponto de extremidade (EFX) para Windows 10.
Vários efeitos de APO personalizados
É possível configurar vários efeitos baseados em APO para trabalhar com aplicativos diferentes.
Este diagrama ilustra como vários aplicativos podem acessar várias combinações de efeitos de fluxo, modo e ponto de extremidade do APO. Todas as APOs são baseadas em COM e executadas no modo de usuário. Nesse cenário, nenhum dos efeitos está em execução no hardware ou no modo kernel.
Nota Você pode usar a barra de rolagem na parte inferior desta página para exibir todo esse diagrama.
Efeitos de modo de software e efeitos de extremidade de hardware para renderização e captura
Este diagrama ilustra os efeitos do modo de software e os efeitos de endpoint de hardware para renderização e captura.
Sistema equipado com DSP com efeitos de hardware
Este diagrama ilustra um sistema equipado com DSP que implementa efeitos no hardware. Nesse cenário, um APO proxy deve ser criado para informar os aplicativos sobre os efeitos implementados no hardware.