AECMicArray

This sample uses the Core Audio APIs to capture a high-quality voice stream. The sample supports acoustic echo cancellation (AEC) and microphone array processing by using the the AEC DMO, also called the Voice capture DSP, provided by Microsoft .

This topic containes the following sections.

Description

This sample demonstrates the following features.

Requirements

ProductVersion
Windows SDKWindows Vista or later
Visual Studio 2005 (non-express editions)

 

Downloading the Sample

This sample is available in the following locations.

LocationPath/URL
Windows SDK\Program Files\Microsoft SDKs\Windows\v7.0\Samples\Multimedia\Audio\AECMicArray\...

 

Building the Sample

To build the AecSDKDemo sample, use the following steps:

  1. Open an SDK command window.
  2. Type cd %MSSDK%\Setup.
  3. Run VCIntegrate.exe.

    From this point forward, command windows will have the proper environment settings to build an application that takes advantage of the SDK.

  4. Build the sample.

Running the Sample

If you build the demo application successfully, an executable file, AecSDKDemo.exe is generated. To run it, type AecSDKDemo in a command window followed by required or optional arguments as described below.

AecSDKDemo -out mic_out.pcm -mod system_mode [-option value]

The following table shows the arguments.

ArgumentDescription
-outRequired. Specifies output file name.
-modRequired. Specifies voice capture system mode. Refer to "Configuring the voice capture DMO" section in the sample readme for details.
-featOptional. Turns feature mode on (1) or off (0).
-nsOptional. Turns noise suppression on (1) or off (0). Feature mode must be on for specifying this.
-agcOptional. Turns digital AGC on (1) or off (0). Feature mode must be on for specifying this.
-cntrclipOptional. Turns center clipping on (1) or off (0). Feature mode must be on for specifying this.
-spkdevOptional. Specifies speaker device index. If not specified, the user will be asked to select.
-micdevOptional. Specifies microphone device index. If not specified, the user will be asked to select.
-durationOptional. Specifies how long the application runs.

 

This sample application does not play any signals. To run the demo properly for AEC enabled modes (mode 0 and 4), users must play some audio signals through the same speaker device specified for the DMO (that is, the device specified by the "-spkdev" option), which simulates the far-end voice in a two-way chatting scenario. Users can use any player to play any audio signals. If there is no active render stream on the selected speaker device, the DMO will fail to process.

Related topics

SDK Samples That Use the Core Audio APIs

 

 

Show: