SharePoint, XBOX, .NET, Technology - What I am reading

    [Home] [Recent] [Site Map]

   

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:

MicArrayGraph

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


>>
Source Link
>>Blog: Windows Vista Team Blog
>>Publish Date: 10/8/2007 10:22:54 PM
>>Keywords: microphone array

Related Posts
>>Array Microphones #
    Microsoft Research’s annual Techfest is the one of the busiest times of the year for my friends in MSR, who spend months building some the most amazing demos you can imagine. Some of our speech frie
>>The Evolution of RPG Development (Panel Audio) #
    This is the audio from the ‘The Evolution of RPG Development’ session presented earlier this week at GDC. The panelists are Ray Muzyka (Bioware, Mass Effect), Hironobu Sakaguchi (Mistwalke
>>The Evolution of RPG Development (Panel Audio) WMA #
    This is the audio from the ‘The Evolution of RPG Development’ session presented earlier this week at GDC. The panelists are Ray Muzyka (Bioware, Mass Effect), Hironobu Sakaguchi (Mistwalke
>>PowerShell - function return values implementing IEnumerable are decomposed into an array #
    In this blog post I wrote about (by me) unexpected implicit type conversion on return values of functions which is actually really cool: all types returned that implement the IEnumerable interface are
>>JavaScript and .NET Arrays in Silverlight #
    During my tests with the DLR (Dynamic Language Runtime) in Silverlight 1.1 I came accross several things that didn"t work first. Most of them could be fixed by using small workarounds. Managed JavaScr
>>Microsoft Office Communications Server 2007 Optimized IP Devices #
    Today, Microsoft is announcing several products that are optimized to work with Microsoft Office Communications Server 2007. As part of today"s announcement, Microsoft has launched a unified communica
>>Using Generics To See If A List Is Ordered. #
    I had some pretty simple code that checked if an array of integers was in ascending order. I needed to check a second list to see if it was also in ascending order. The only problem was that is was
>>SpeechSaver -- kinda like a screen saver, but for speech recognition"s listening state #
    I was talking to a customer recently, Greg Duncan, and one of the things that he came up was an idea for a utility to automatically turn the speech recognition engine"s state off after a certain amoun
>>Do your Pins overlap? #
    I have posted another pushpin example in the forum. The example uses an array of pins and detects if there is any collision everytime the map view changes. Remember that the overlap will depend on
>>Do your Pins overlap? #
    I have posted another pushpin example in the forum. The example uses an array of pins and detects if there is any collision everytime the map view changes. Remember that the overlap will depend on

Related Posts:
>>Redmond Install Fair later this month
>>Addressing a Windows Update failure after repairing from XP CD
>>New Extenders and Internet TV unveiled for Windows Media Center
>>An update from the Ultimate Extras team
>>Certified for Windows Vista Software Demo Video
>>Windows Vista Security at 180 Days
>>Taking a detailed look at Windows Vista DVD hologram
>>New compatibility update for SD cards
>>Teched 2007 Finale: Data Encryption Toolkit for Mobile PCs
>>Upcoming chats on Offline Files and Backups in Windows Vista
>>Windows Vista Hardware Assessment 2.0 Public Beta Now Available for Download!
>>TechEd 2007 Day Two: Take a Virtual Test Drive of Windows Vista


Month Archives:

Top Tags:
social software social networking .NET mashable Sharepoint ASP.NET Web 2.0 Web2.0 Startups Community News Search Marketplace General Software Development AJAX Windows Vista Microsoft Visual Studio myspace People Powered! YouTube Silverlight Vista Featured News MOSS C# Events Google WPF MOSS 2007 Office 2007 Web



@2007 All rights Reserved