Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Gli oggetti di elaborazione audio (API) offrono un'elaborazione dei segnali digitali basata su software personalizzabile per i flussi audio Windows.
Panoramica degli oggetti di elaborazione audio
Windows consente agli OEM e ai produttori di hardware audio di terze parti di includere effetti di elaborazione dei segnali digitali personalizzati come parte delle funzionalità aggiunte di valore del driver audio. Questi effetti vengono confezionati come oggetti di elaborazione degli effetti di sistema in modalità utente (APO) per l'audio.
Gli oggetti di elaborazione audio (API), forniscono l'elaborazione di segnali digitali basata su software per i flussi audio Windows. Un APO è un oggetto host COM che contiene un algoritmo scritto per fornire un effetto DSP (Digital Signal Processing) specifico. Questa funzionalità è nota in modo informale come "effetto audio". Tra gli esempi di API sono inclusi equalizzatori grafici, riverbero, tremolo, Acoustic Echo Cancellation (AEC) e Automatic Gain Control (AGC). Gli APO sono oggetti in-process basati su COM, in tempo reale.
Nota Le descrizioni e la terminologia in questa documentazione si riferiscono principalmente ai dispositivi di output, ad esempio gli altoparlanti. Tuttavia, la tecnologia è simmetrica e funziona essenzialmente inversa per i dispositivi di input.
APO software vs. DSP hardware
Un processore DSP (Hardware Digital Signal Processor) è un microprocessore specializzato (o un blocco SIP), con l'architettura ottimizzata per le esigenze operative di elaborazione dei segnali digitali. Può esserci un vantaggio significativo per implementare l'elaborazione audio in hardware creato appositamente rispetto all'uso di un software APO. Un vantaggio è che l'uso della CPU e il consumo di energia associato possono essere inferiori con un DSP implementato dall'hardware.
Esistono altri vantaggi e svantaggi da considerare, specifici degli obiettivi e dei vincoli dei progetti da considerare prima di implementare un software basato su APO.
Gli effetti basati su software vengono inseriti nel canale del dispositivo software durante l'inizializzazione del flusso. Queste soluzioni eseguono tutte le loro operazioni di elaborazione sulla CPU principale e non si basano su hardware esterno. Questo tipo di soluzione è ideale per soluzioni audio Windows tradizionali, ad esempio HDAudio, USB e Bluetooth, quando il driver e l'hardware supportano solo l'elaborazione RAW. Per altre informazioni sull'elaborazione RAW, vedere Modalità di elaborazione del segnale audio.
PROXY APO per DSP hardware
Tutti gli effetti applicati in DSP hardware devono essere annunciati tramite un proxy APO. Microsoft fornisce un proxy APO predefinito (MsApoFxProxy.dll). Per usare l'APO fornito da Microsoft, è necessario che questo set di proprietà e questa proprietà siano supportati.
Facoltativamente, è possibile implementare il proprio proxy APO.
API fornite da Windows (System)
Windows installa un set predefinito di API che forniscono diversi effetti audio. Per un elenco degli effetti APO forniti dal sistema, vedi Modalità di elaborazione del segnale audio.
Gli OEM possono includere tutte le API fornite dal sistema o sostituirle con API personalizzate.
APO personalizzati
È possibile creare API personalizzate per migliorare l'esperienza audio di Windows aggiungendo altri effetti audio.
L'OEM può includere qualsiasi combinazione delle API Windows fornite e delle API personalizzate quando includono Windows.
Un APO personalizzato può essere installato da un OEM o da terze parti per migliorare l'esperienza audio dopo l'acquisto del dispositivo. Quando gli utenti installano un driver di dispositivo audio usando il file INF standard, hanno automaticamente accesso alle API del sistema. I fornitori di hardware indipendenti (IHV) e i produttori di apparecchiature originali (OEM) possono fornire ulteriori effetti di sistema personalizzati, pur usando i driver di classe Microsoft. A tale scopo, crea un pacchetto degli algoritmi DSP come API e modifica il file INF standard per inserire le API nel grafico di elaborazione dei segnali del motore audio.
Per altre informazioni sulla creazione di API personalizzate, vedere Implementazione di oggetti di elaborazione audio.
App di supporto APO personalizzata
Per consentire all'utente di configurare le impostazioni associate all'APO personalizzato, l'approccio consigliato consiste nel creare un'app di supporto hardware. Per altre informazioni, vedere Hardware Support App (HSA): Steps for Driver Developers.
Test e requisiti APO personalizzati
Microsoft HLK fornisce test che possono essere usati con le API. Per altre informazioni sui test audio, vedere Device.Audio Testing e Device.Audio Tests.
Questi due test possono essere particolarmente utili quando si lavora con le API.
Verifica effetti audioDiscovery (manuale) - Certificazione
Per informazioni sui requisiti audio per supportare le API, vedere Requisiti di Device.Audio.
Strumenti e utilità APO personalizzati
Puoi usare "Audio Effects Discovery Sample" per esplorare gli effetti audio disponibili. Questo esempio illustra come eseguire query sugli effetti audio su dispositivi audio di rendering e acquisizione e su come monitorare le modifiche con gli effetti audio. È incluso come parte degli esempi dell'SDK e può essere scaricato usando questo collegamento:
Esempio di individuazione degli effetti audio
Riconoscimento dell'effetto audio dell'applicazione
Le applicazioni possono chiamare le API per determinare quali effetti audio sono attualmente attivi nel sistema. Per altre informazioni sulle API di riconoscimento degli effetti audio, vedi Classe AudioRenderEffectsManager.
Architettura degli oggetti di elaborazione audio
Posizionamento di effetti audio
Esistono tre posizioni diverse per gli effetti audio implementati come API. Si trovano negli effetti di stream (SFX), effetti di modalità (MFX) ed effetti di endpoint (EFX).
Effetto flusso (SFX)
Un effetto flusso APO ha un'istanza dell'effetto per ogni flusso. Gli effetti dello stream sono prima del mixer (rendering) o dopo il tee (acquisizione) per una determinata modalità e possono essere usati per modificare il numero di canali prima del mixer. Gli effetti del flusso non vengono usati per i flussi non elaborati.
Alcune versioni di Windows, come parte dell'ottimizzazione, non caricano gli APO SFX o MFX in modalità RAW.
- Windows 8.1 non carica RAW SFX o RAW MFX
- Windows 10 carica RAW MFX ma non RAW SFX
Effetto modalità (MFX)
Gli effetti di modalità (MFX) vengono applicati a tutti i flussi mappati alla stessa modalità. Gli effetti modalità vengono applicati dopo il mix (rendering) o prima del tee (acquisizione) per una determinata modalità, ma prima del mix (rendering) o dopo il tee (acquisizione) di tutte le modalità. Qualsiasi effetto o effetto specifico dello scenario che non richiede le specifiche dell'effetto flusso deve essere inserito qui. È più efficiente usare un effetto modalità poiché è presente un'istanza per più flussi che condividono le stesse caratteristiche, ad esempio periodicità e formato.
Effetto endpoint (EFX)
L'effetto endpoint (EFX) viene applicato a tutti i flussi che usano lo stesso endpoint. Un effetto endpoint viene sempre applicato, anche ai flussi non elaborati. Vale a dire, è dopo la combinazione (rendering) o prima del tee (acquisizione) di tutte le modalità. Gli effetti sugli endpoint devono essere usati con attenzione e, in caso di dubbio, un effetto deve essere posto nell'area Modalità. Alcuni effetti che devono essere posizionati nell'area endpoint sono la protezione dell'altoparlante e la compensazione dell'altoparlante.
Questo diagramma mostra le posizioni possibili per gli effetti di flusso (SFX), modalità (MFX) ed endpoint (EFX) per Windows 10.
Effetti APO personalizzati multipli
È possibile configurare più effetti basati su APO per funzionare con applicazioni diverse.
Questo diagramma mostra come più applicazioni possono accedere a diverse combinazioni di effetti APO relativi a flusso, modalità ed endpoint. Tutte le API sono basate su COM ed eseguite in modalità utente. In questo scenario, nessuno degli effetti è in esecuzione in hardware o in modalità kernel.
Nota È possibile usare la barra di scorrimento nella parte inferiore della pagina per visualizzare tutto questo diagramma.
Effetti della modalità software ed effetti dell'endpoint hardware per il rendering e l'acquisizione
Questo diagramma illustra gli effetti della modalità software e gli effetti dell'endpoint hardware per il rendering e l'acquisizione.
Sistema DSP dotato di effetti hardware
Questo diagramma illustra un sistema dotato di DSP che implementa gli effetti nell'hardware. In questo scenario, è necessario creare un proxy APO per informare le app degli effetti implementati nell'hardware.