I’ve found the Windows Vista Team Blog to be largely disappointing in terms of actual OS information, but they’ve got an interesting post this week from Windows Vista audio team Program Manager Richard Fricks:

Using a microphone array to enhance sound capture

Microphone array recording is a technique for improving recording quality by processing signal from multiple microphones. Compare the signal, and you can more easily focus in on the source. The application here is really not music and “pro audio” — in this case, I think they’re targeting consumer-grade mic arrays that would replace, say, the lousy built-in mics in laptops and webcams. It does sound very useful, that said, and I would be interested to know about any “pro” applications that do exist for this sort of thing, beyond making podcasts and Skype chats work better (which is a worthy thing, and something I myself use).

Mic arrays

The Bigger OS Picture

But here’s why you should care, even if you don’t really care: in Windows XP, a lot of these sorts of functions were handled by device drivers instead of the OS. That could wreak havoc because of the low-level function required for tasks like echo cancellation. One particular third-party vendor (cough, Logitech, cough!) was shipping XP drivers for its webcams with echo cancellation turned on by default. It caused all sorts of problems, disabling pro audio hardware interfaces without warning and even nasty Blue Screens of Death (at least in my experience). It could entirely disable your music setup until you turned it off. Now, some might say you should have a dedicated machine for audio production, but that ignores the reality that lots of third-party, consumer hardware plays just fine on the same machine. That’s part of what’s great about using computers for music. So, clearly, this unnecessary chaos could be avoided.

Here’s the critical note, from Richard’s article:

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.

Ah, there we have it. Now that audio processing functions in Vista have been handed over to the OS, you really do need, as he puts it, an “end-to-end” solution.

Translation: you may never need a mic array, but at least Microsoft is keeping ill-behaved device drivers out of your way so you can get work done. And that seems to me to be a very good thing. In general, all three OSes (Linux, Mac, and Windows) could likely improve overall stability and reliability by better supporting some of these kinds of functions out of the box.

That said, this does sum up some of my frustration with Vista for audio: anything having to do with consumer products got top priority in the new audio features in the OS. Anything having to do with real-world recording and music production seems to have been left off the table. So we’re left with yet another Windows OS that doesn’t handle USB audio and MIDI devices correctly, still has various Registry glitches, still requires ASIO drivers for most devices (with a few new exceptions), and still has no built-in facility for routing MIDI and audio between applications. Never mind that the whole “glitch-free”, later “glitch-resistant” promises about audio never really seemed to materialize. I’m at least hopeful that SP1 will iron out some of the reliability issues with Vista, but ironically, part of the reason that’s likely is that Microsoft is delaying fixes to known problems until that release.

Are there really lots of mic array devices out there? I sure haven’t seen them, but maybe someone can enlighten us. I would be tempted to wonder if, say, the number of USB and FireWire audio devices for audio/music apps don’t outnumber them. Thoughts? Do let us know.w

  • Kyran

    The number of firewire and usb audio/midi devices isn't the right statistic ofcourse. It's the number sold (and therefore used) that is of interest to microsoft.

    The good thing is that they now seem to try to incorporate the stuff of tomorrow. The reason why companies like logitech need to put in cancellation in their drivers is that microsoft didn't do it, because there was no need at the time. They need to know what to put in 3 years before release, and make sure that the product is up to date until 4 years after the release. A lot of new technologies emerge in that time. Hence the need for some OS functionality to be incorporated in the device drivers.

    This shows that ms is at least looking at what's next for consumers. It's a good evolution.

  • joshua

    re: pro applications

    the lab i work in has a spherical microphone array that can form virtual microphones up to 3rd order hypercardioid patterns in any direction. we use it for telecommunications research, but i think (price permitting) these things could drastically change the recording industry. imagine micing a band with one spherical array and having software find the instruments for you and determine the best mic configuration, or just stick one of these in a room and get incredibly realistic surround sound recordings (people do this already with lower order mics – i.e. ambisonics and the soundfield microphone).

  • Joshua, that's very interesting. I wonder if this built-in processing would work for that, though?

  • poopoo

    There are some great papers from hearing aid researchers about creating all sorts of different polar patterns using mic arrays. The catch seems to be the heavy EQ'ing required to get a flat frequency response. Since you have to cut so much in the EQ then boost to compensate, you need to have very good S/N ratio's in the mic elements.

    I don't think this will be in Windows though. With the beam former, I'm thinking cameras that automatically follow a speaker around a room will be one gee whiz application that will appear.

  • poopoo

    …when I say speaker I mean the person.

  • Kyran

    You could use antenna array/smart antenna system technology for those microphone arrays (including tracking). But those algorithms are pretty calculation intensive (especially the direction of arrival estimations) even for smallband antenna systems. The audio channel is actually extremely broadbanded, which complicates things a bit more.

    But the thing is that you could make extremely directional microphones using these arrays, reducing the amount of unwanted noise (not coming from the main direction) and reposition the main beam electrically (without moving the array), by changing the way you add up the different signals. So if done right this has some potential for high fidelity recordings.

  • Pingback: Music News » Blog Archive » Microsoft Details Vista’s New Mic Array Features()

  • Pingback: music » Blog Archive » Microsoft Details Vista’s New Mic Array Features()

  • Sachin

    Can somebody point me to currently available external and internal microphone arrays which will work with windows (vista preferred) and are fully programmable through vista microphone array APIs?