Join Date: Feb 2007
Location: wicklow mts
Thanked 7 Times in 7 Posts
Using a microphone array to enhance sound capture
Below is a post from my colleague Richard Fricks, a Program Manager on the Windows Vista Audio team, discussing Windows Vista's treatment of microphone arrays when used to capture audio. If this entry prompts questions, let me know via the Comments section below and I'll pass them along to Richard.
Providing a solid audio capture experience is not a simple task. It requires a holistic approach that takes into consideration the entire life-time of the audio signal. A weakness at any one point in the path can result in a degraded signal. Take as an example this recording:
This was made from my laptop. Can you hear all that noise? It's caused by electrical interference from components inside the laptop itself. As you can tell, even the physical layout of the components in the PC can impact the quality of the audio signal. When you consider room acoustics such as reverberation and background noise you may find that the signal that is going into the microphone may not be that good to start out with. Couple that with potential electrical interferences from other sources and chances for a high-quality signal arriving at the application can be bleak.
The solution? You could invest in a recording booth, high-end studio microphone, and some high-quality shielded cables. Or, you could use Windows Vista's new Microphone Array technology. The former can cost many thousands of dollars. The latter comes free with Windows Vista and when coupled with a PC equipped with a microphone array, the results can be dramatic.
So what exactly is a microphone array?
Simply stated, a microphone array is two or more microphones used at the same time to capture sound. Windows Vista supports microphone arrays that consist of two or four microphones. The advantage of using more than one microphone to capture sound is that it allows the software that is processing the microphone signals to determine the position of the sound in the room. This is accomplished by comparing the arrival times of the sound to each of the microphones. For example, if the sound comes into the microphone on the right before it enters the microphone on the left, then you know the person talking is to the right of the PC. During sound capturing, the microphone array software searches for the speaker's position and aims a capturing beam in that direction. If the person speaking moves, the capture beam will follow the sound. It's like having two highly directional microphones: one constantly scanning the workspace measuring the sound level, and the other pointing to the direction with the highest sound level; that is, to the person talking. In addition, the higher directivity of the microphone array reduces the amount of captured ambient noises and reverberated sound. The result? A much clearer representation of the speaker's voice.
The real strength in Windows Vista for improving microphone capture quality, however, is not just its microphone array technology. Remember when I mentioned that good quality capture requires a holistic approach? Windows Vista has acted on this precept by integrating its Microphone Array technology as part of a complete end-to-end strategy. This strategy starts at the microphone and covers the audio signal all the way up to the application. Approaches that do not consider this can find that the high-quality signal it produced can quickly be negated by problems that occur later in the path.
Consider the following. A third-party provider of microphone array technology will generally embed this functionality inside the audio device driver. However, if the microphone array functionality is performed inside the audio device driver then the signal sent to the Acoustic Echo Cancellation (AEC) component in Windows Vista is unable to perform the echo cancellation effectively. This is due to the fact that the signals that started out as individual streams coming from each microphone will have already been merged together by the microphone array processor. This combined signal coming into the AEC as a single stream does not contain the necessary per-stream information needed, and as a result the AEC's ability to properly remove echoes from the stream is greatly impaired. With Windows Vista's end-to-end approach, each signal processing function works together in the proper order to assure the highest quality audio signal can be generated. The following chart shows how all of these components fit together inside Windows Vista:
The above chart shows that in addition to the microphone array processing, Windows Vista also provides the following Digital Signal Processing:
Are you looking to expand the use of computer technology in the area of communications, speech recognition, or just simple voice recordings for email or note-taking? If so, Microphone Array technology in Windows Vista is definitely something you are going to want to look into. In my next post, I will go into the details you should consider when looking for a computer equipped with a microphone array. In a follow-up post to that one, I will cover information of interest to software developers such as how to design software that will take advantage of this technology.
Until then, happy recording!
- Richard Fricks, Program Manager, Windows Sound Team
- Acoustic Echo Cancellation
- Stationary Noise Suppressor
- Automatic Gain Control
- Wideband quality sound capture and processing