Microsoft Microphone Array
Microsoft Releases Updated Guide to Array Microphone Implementation
A major update to a white paper from Microsoft provides previously-unavailable details on how the Acoustic Echo Cancellation and Microphone-Array Beamforming processing built into Windows Vista is implemented, as well as how to test it and use it. Microsoft has as a white paper available on their website titled How to Build and Use Microphone Arrays for Windows Vista.
Step-by-step instructions are provided on how to structure firmware for USB-based microphone array devices, along along with details on the Microphone Array Geometry Descriptor Format and Audio Packet Overview. The document goes on to describe how an application discovers a microphone array and how to retrieve the microphone array geometry.
Voice Capture DMO Structure and Interfaces are documented, along with step-by-step instructions on how an application can initialize the Voice Capture DMO, set the DMO Output Format, and process DMO inputs and outputs.
Examples are provided for USB Microphone Array Descriptors, Device and Configuration Descriptors, Microphone Terminal and Unit Descriptors, and Audio Streaming Interface Descriptors.
The Microphone Array Coordinate System is also documented.

This is followed by actual source code examples which are similar but not identical to the source code in the AECMicArray demo that is part of the Windows SDK. There is also some new source code for a sample unit test which discovers devices and retrieves array geometry. This code contains some of the functionality included with Microsoft's new Microphone Array Verification Tool.
Click here to download the updated white paper from the Microsoft web site.For additional software details, see the voice capture DMO sample code, which is installed with the Windows Software Development Kit (SDK) under the %MSSDK%\Samples\Multimedia\Audio\AECMicArray\ folder.
Finally, the KSAUDIO_MIC_ARRAY_GEOMETRY and KSAUDIO_MICROPHONE_COORDINATES structures are documented. Any audio driver supporting beamforming microphone arrays must include these properties in order to use the AEC DMO in source mode. Alternately, an application can provide the geometry directly if it uses the DMO in filter mode, though this requires quite a bit more plumbing in order to get the same result.
Click here to see Optimal Sound's previous coverage of the High Quality Voice Capture DirectX Media Object (DMO).
Additional links are provided to white papers from Microsoft researcher Dr. Ivan Tashev:
A New Beamformer Design Algorithm for Microphone Arrays, March 2005
Self-Calibration Procedure for Microphone Arrays, July 2004
.
For Microsoft documentation on DirectX Media Objects, click here .
Microsoft Releases New Microphone Array Verification Tool
Microsoft has released a command-line tool which can verify whether an audio driver accurately reports microphone-array geometry information and whether the Voice Capture DMO operating in microphone-array mode processes the captured data accurately. The tool tests the following characteristics, which are required for proper functioning and integration of the microphone array processing algorithm.
1.Audio client API - Verifies that the Voice Capture DMO operating in microphone array mode can read the Audio driver's property set that contains the microphone array geometry information.
2. Microphone array format descriptor and geometry - Verifies that the microphone array descriptor format is accurate. The test also verifies and reports whether the microphone array geometry reported by the driver falls within the range specified by Microsoft.
3. DMO source mode capture and processing - Verifies that this process is working correctly. This test should pass if the two previous tests are successful.
Currently, this tool will only function with USB array microphone devices and drivers which properly support the KSPROPERTY_AUDIO_MIC_ARRAY_GEOMETRY property. The Microsoft UAA HD Audio class driver will not support this property at Vista launch. If a custom 3rd-party WaveRT audio driver supports this property, then it should be able to pass the verification tests.
Click here to download the Microphone Array Verification Tool.
Use Optimal Sound services to add an audio expert to your team, and ensure that your systems sound great, are easy to understand, and function properly with Windows Vista. Contact us for more info.


