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.
Objetos de processamento de áudio (APOs), fornecem processamento de sinal digital baseado em software personalizável para fluxos de áudio do Windows.
Visão geral de objetos de processamento de áudio
O Windows permite que OEMs e fabricantes de hardware de áudio de terceiros incluam efeitos personalizados de processamento de sinal digital como parte dos recursos de valor agregado de seus drivers de áudio. Esses efeitos são empacotados como objetos de processamento de áudio (APOs) destinados ao efeito de sistema no modo de utilizador.
Objetos de processamento de áudio (APOs), 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 que é escrito para fornecer um efeito específico de processamento de sinal digital (DSP). Esse recurso é conhecido informalmente como "efeito de áudio". Exemplos de APOs incluem equalizadores gráficos, reverberação, tremolo, cancelamento de eco acústico (AEC) e controle automático de ganho (AGC). APOs são objetos em processo baseados em COM, em tempo real.
Observação As descrições e 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 sentido inverso para dispositivos de entrada.
APOs de Software vs. DSP de Hardware
Um processador de sinal digital de hardware (DSP) é um microprocessador especializado (ou um bloco SIP), com sua arquitetura otimizada para as necessidades operacionais de processamento de sinal digital. Pode haver vantagens significativas para implementar o processamento de áudio em hardware construído para fins específicos versus o uso de um software APO. Uma vantagem é que o uso da CPU e o consumo de energia associado podem ser menores com um DSP implementado por hardware.
Existem outras vantagens e desvantagens a considerar, específicas para os objetivos e restrições do seu projeto que você vai querer considerar antes de implementar um APO baseado em software.
Os efeitos baseados em software são inseridos no pipe do dispositivo de software na inicialização do fluxo. Estas soluções fazem todo o seu processamento de efeitos na CPU principal e não dependem de hardware externo. Este tipo de solução é melhor para soluções de áudio tradicionais do Windows, como HDAudio, dispositivos USB e Bluetooth, quando o driver e o hardware suportam apenas processamento RAW. Para obter mais informações sobre processamento RAW, consulte Modos de processamento de sinal de áudio.
Proxy APO para DSP de hardware
Quaisquer efeitos aplicados no hardware DSP precisam ser anunciados através de um proxy APO. A Microsoft fornece um APO proxy padrão (MsApoFxProxy.dll). Para usar o APO fornecido pela Microsoft, este conjunto de propriedades e esta propriedade devem ser suportados.
Opcionalmente, você pode implementar seu próprio APO de proxy.
APOs (Sistema) fornecidos pelo Windows
O Windows instala um conjunto padrão de APOs, que fornecem vários efeitos de áudio diferentes. Para obter uma lista dos efeitos APO fornecidos pelo sistema, consulte Modos de processamento de sinal de áudio.
Os OEMs podem incluir todos os APOs fornecidos pelo sistema ou substituir alguns ou todos eles por APOs personalizados.
APOs personalizados
É possível criar APOs personalizados para melhorar a experiência de áudio do Windows adicionando efeitos de áudio adicionais.
O fabricante OEM pode incluir qualquer combinação dos APOs fornecidos do Windows e dos APOs personalizados quando envia o Windows.
Um APO personalizado pode ser instalado por um OEM ou um terceiro para melhorar 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 aos APOs do sistema. Fornecedores independentes de hardware (IHVs) e fabricantes de equipamentos originais (OEMs) podem fornecer efeitos de sistema personalizados adicionais enquanto ainda usam os drivers de classe da Microsoft. Eles fazem isso empacotando os algoritmos DSP como APOs e modificando o arquivo INF padrão para inserir os APOs no gráfico de processamento de sinais do motor de áudio.
Para obter mais informações sobre como criar APOs personalizados, consulte Implementando objetos de processamento de áudio.
Aplicativo de suporte APO personalizado
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 a aplicação de suporte de hardware (HSA): Passos para Desenvolvedores de Drivers.
Testes e requisitos personalizados do APO
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.
Estes dois testes podem ser particularmente úteis quando se trabalha com APOs.
Verificar efeitos de áudioDiscovery (Manual) - Certificação
Para obter informações sobre os requisitos de áudio para suportar APOs, consulte Device.Audio Requirements.
Ferramentas e utilitários APO personalizados
Você pode usar a "Amostra 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 renderização e captura de áudio e como monitorar alterações com os efeitos de áudio. Ele está incluído como parte dos exemplos do SDK e pode ser baixado usando este link:
Exemplo de descoberta de efeitos de áudio
Reconhecimento de efeitos de áudio de aplicativos
Os aplicativos têm a capacidade de chamar APIs para determinar quais efeitos de áudio estão atualmente ativos no sistema. Para obter mais informações sobre as APIs de reconhecimento de efeitos de áudio, consulte Classe AudioRenderEffectsManager.
Arquitetura de objetos de processamento de áudio
Colocação de efeitos de áudio
Existem três locais diferentes para efeitos de áudio implementados como APOs. Eles estão presentes nos efeitos de fluxo (SFX), efeitos de modo (MFX) e efeitos de término (EFX).
Efeito de fluxo (SFX)
Um APO de efeito de transmissão possui uma instância do efeito para cada fluxo. Os efeitos de fluxo são antes da mistura (renderização) ou depois do tee (captura) para um determinado modo e podem ser usados para alterar a contagem de canais antes do misturador. Os efeitos de transmissão não são usados para transmissões brutas.
Algumas versões do Windows, como parte de uma otimização, não carregam os APOs SFX ou MFX no modo RAW.
- Windows 8.1 não carrega RAW SFX ou RAW MFX
- Windows 10 carrega RAW MFX, mas não RAW SFX
Efeito de 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 mistura (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 do cenário ou outro 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, uma vez que há uma instância para vários fluxos que compartilham as mesmas características, como periodicidade e formato.
Efeito final (EFX)
O Endpoint Effect (EFX) é aplicado a todos os fluxos que usam o mesmo ponto de extremidade. Um efeito de ponto final é sempre aplicado, mesmo a fluxos brutos. Ou seja, é depois da mistura (renderização) ou antes do tee (captura) de todos os modos. Os efeitos do endpoint devem ser utilizados com cuidado e, em caso de dúvida, deve ser colocado um efeito na área de Modo. Alguns efeitos que devem ser colocados na área do ponto final são a proteção do alto-falante e a compensação do alto-falante.
Este diagrama mostra os locais possíveis para efeitos de fluxo (SFX), modo (MFX) e ponto final (EFX) para o Windows 10.
Vários efeitos APO personalizados
É possível configurar vários efeitos baseados em APO para trabalhar com diferentes aplicações.
Este diagrama ilustra como múltiplas aplicações podem aceder a diversas combinações de efeitos APO de fluxo, modo e ponto final. Todos os APOs são baseados em COM e executados no modo de usuário. Nesse cenário, nenhum dos efeitos está sendo executado no hardware ou no modo núcleo.
Observação Você pode usar a barra de rolagem na parte inferior desta página para visualizar todo esse diagrama.
Efeitos de modo de software e efeitos de ponto final de hardware para renderização e captura
Este diagrama ilustra efeitos de modo de software e efeitos de ponto final 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 em hardware. Nesse cenário, um Proxy APO deve ser criado para informar os aplicativos dos efeitos que são implementados no hardware.