Effetti di acquisizione DirectSound

DirectSound 8 aggiunge alcune nuove funzionalità per abilitare e controllare gli effetti di terze parti durante l'acquisizione audio. Questa e versioni successive di DirectSound supportano i due effetti di acquisizione seguenti:

  • Annullamento dell'eco acustico (AEC)

  • Eliminazione del rumore (NS)

In un'applicazione audio full-duplex, ad esempio le conferenze telefoniche, le eco del flusso di rendering restituito tramite gli altoparlanti vengono prelevate nel microfono che genera il flusso di acquisizione. Dopo aver caratterizzato i riflessi audio nella stanza o in un altro ambiente fisico, il sistema full-duplex usa AEC per monitorare il flusso di rendering per annullare gli eco aggiunti al flusso di acquisizione. Il sistema può migliorare ulteriormente la qualità del flusso di acquisizione usando NS per rilevare picchi di rumore e rimuoverli dal flusso.

Un'applicazione DirectSound full-duplex può usare le interfacce IDirectSoundCaptureFXAec e IDirectSoundCaptureFXNoiseSuppress per controllare gli effetti AEC e NS. Il metodo IDirectSoundCaptureBuffer::GetObjectInPath recupera i puntatori agli oggetti con queste interfacce. La funzione DirectSoundFullDuplexCreate crea l'oggetto IDirectSoundCaptureBuffer e i parametri passati dal chiamante a questa funzione includono una matrice di strutture DSCEFFECTDESC. La matrice specifica gli effetti che devono essere abilitati nel buffer di acquisizione. Il membro guidDSCFXClass di ogni struttura della matrice contiene un GUID che specifica un effetto: AEC o NS. Il nome DirectSound per ogni GUID viene visualizzato nella tabella seguente, insieme al nome KS per lo stesso valore GUID. Per informazioni dettagliate, vedere la documentazione di DirectX 8.0 SDK.

Nome GUID DirectSound KS GUID Name

GUID_DSCFX_CLASS_AEC

KSNODETYPE_ACOUSTIC_ECHO_CANCEL

GUID_DSCFX_CLASS_NS

KSNODETYPE_NOISE_SUPPRESS

In Microsoft Windows XP e versioni successive è possibile esporre gli effetti di acquisizione accelerati hardware del dispositivo audio alle applicazioni DirectSound. Inoltre, il filtro di sistema AEC (Aec.sys) fornisce l'emulazione software degli effetti AEC e NS.

Questi argomenti sono descritti nella parte restante di questa sezione:

Esposizione degli effetti di acquisizione di Hardware-Accelerated

Filtro di sistema AEC