DirectSound 캡처 효과

DirectSound 8은 오디오 캡처 중에 타사 효과를 사용하도록 설정하고 제어하기 위한 몇 가지 새로운 기능을 추가합니다. 이 이상 버전의 DirectSound는 다음 두 가지 캡처 효과를 지원합니다.

  • AEC(음향 에코 취소)

  • NS(노이즈 억제)

전화 회의와 같은 전체 이중 오디오 애플리케이션에서는 스피커를 통해 출력되는 렌더링 스트림의 에코가 캡처 스트림을 생성하는 마이크에서 포착됩니다. 방이나 다른 물리적 환경에서 사운드 리플렉션의 특징을 지정한 후 전체 이중 시스템은 AEC를 사용하여 렌더링 스트림을 모니터링하여 캡처 스트림에 추가하는 에코를 취소합니다. 시스템은 NS를 사용하여 노이즈 스파이크를 감지하고 스트림에서 제거하여 캡처 스트림의 품질을 더욱 향상시킬 수 있습니다.

전체 이중 DirectSound 애플리케이션은 IDirectSoundCaptureFXAecIDirectSoundCaptureFXNoiseSuppress 인터페이스를 사용하여 AEC 및 NS 효과를 제어할 수 있습니다. IDirectSoundCaptureBuffer::GetObjectInPath 메서드는 이러한 인터페이스를 사용하여 개체에 대한 포인터를 검색합니다. DirectSoundFullDuplexCreate 함수는 IDirectSoundCaptureBuffer 개체를 만들고 호출자가 이 함수에 전달하는 매개 변수에는 DSCEFFECTDESC 구조체의 배열이 포함됩니다. 배열은 캡처 버퍼에서 사용하도록 설정할 효과를 지정합니다. 배열에 있는 각 구조체의 guidDSCFXClass 멤버에는 효과를 지정하는 GUID(AEC 또는 NS)가 포함되어 있습니다. 각 GUID의 DirectSound 이름은 동일한 GUID 값에 대한 KS 이름과 함께 다음 표에 나와 있습니다. 자세한 내용은 DirectX 8.0 SDK 설명서를 참조하세요.

DirectSound GUID 이름 KS GUID 이름

GUID_DSCFX_CLASS_AEC

KSNODETYPE_ACOUSTIC_ECHO_CANCEL

GUID_DSCFX_CLASS_NS

KSNODETYPE_NOISE_SUPPRESS

Microsoft Windows XP 이상에서는 오디오 장치의 하드웨어 가속 캡처 효과를 DirectSound 애플리케이션에 노출할 수 있습니다. 또한 AEC 시스템 필터(Aec.sys)는 AEC 및 NS 효과의 소프트웨어 에뮬레이션을 제공합니다.

이러한 topics 이 섹션의 나머지 부분에서 설명합니다.

Hardware-Accelerated 캡처 효과 노출

AEC 시스템 필터