Your best source of information and news about BIOS, hardware and secrets on the internet

Vista ARTICLES TOP 50 Spyware Virus Vista SOFT Vista HELP

Audio

You are currently browsing the articles from MS Windows Vista Compatible Software matching the category Audio.

An Overview of Windows Sound and Music “Glitching” Issues

The following post comes from my colleague Steve Ball, Senior Program Manager for Sound in Windows Vista, and continues his team’s on-going series on how Windows Vista treats various forms of audio.

—–

Part I: Why does my Windows sound sometimes “glitch?”

Windows is a rich and complex OS designed for multi-tasking users whose tasks must share access to scarce system hardware and resources.  Unfortunately, despite multiple decades of incredible advances in PC and CPU architectures, there are non-trivial, complex interactions between applications, processes, and devices in even the most advanced personal computers that make a supposedly “easy” task — like playing back music without occasional glitches — much more difficult than it may seem at first glance.

Another way of thinking about this:  it seems odd that a modern >$2000 PC may sometimes have trouble seamlessly playing back music when $20 CD players can effortlessly playback music without glitches. 

So why do many $2000 PCs occasionally glitch while playing back music?  The quick answer is this:  Windows is not a single-function device like a CD player.

A slightly longer answer goes like this:  even an average Windows machine today is commonly used simultaneously as a media player, word processor, presentation projector, spreadsheet number cruncher, authoring tool, photo editor, media server, video recorder, music composition tool, communications device, search engine, virus detector, data compressor and decompressor, and backup manager.  And these are only a few of the possible tasks and processes that are run at the same time on the hundreds of millions of Windows machines that are in use today.  Each of these tasks or processes, in isolation, would hardly tax the resources of modern PC hardware.  But in our multi-tasking world, unavoidable resource conflicts do sometimes occur between the huge and diverse ecosystem of Windows hardware that enables these tasks.  Even on the most expensive, brand-new machine, occasional glitches can occur if and when the system attempts to divide its finite resources among these multiple, diverse, independent, power-hungry activities.

What is a glitch?

A glitch is a perceivable error, gap or pop in the sound caused by discontinuities in the audio signal during playback or recording which result from processing or timing problems.  Glitches during music playback can sound like a loud “pop” or like a brief slice of silence randomly inserted where your music should have been.  Some customers have also described what “glitching” in their own words as:

  • audio stops a little bit
  • breaks up
  • choppy
  • clicking
  • corruption
  • crackle/crackling/crackly
  • interruption
  • jitters
  • jumpy
  • skipping/skip/skips

For the purpose of this discussion, let’s lump all of these descriptions together under one general class of problems and call these “glitching.”  While a glitch that happens during music playback can be annoying and unsettling, a glitch that occurs while you are recording or communicating with someone can result in frustrating and unacceptable data loss.

What causes my Windows sound and music to glitch?

Digital media processing is time-sensitive.  Playback requires specific work to be performed by a given deadline — otherwise presentation or data loss can occur.  A “glitch” occurs when a deadline for time-sensitive processing is missed or when time-sensitive data is lost.

For example, in Windows Vista, playing back music involves “work” that must be done at least every 10 milliseconds so that there can be a continuous stream of music out to your speakers.  The “simple” task of playing back music consists of the following steps, all of which must be completed before a strict deadline:

  1. a small chunk of data from a music file needs to be read from a disc (CD or hard drive)
  2. this data needs to be “decompressed” or “decoded” (usually in system memory) so it can be streamed out to your speakers in a format that your sound hardware understands
  3. the decompressed sound data needs to be copied from system memory to your sound hardware memory
  4. the data in your sound hardware needs to be sent to your speakers at the appropriate time
  5. repeat steps 1-4 flawlessly every 10 milliseconds (ms)

In this example, if any of these steps aren’t completed on time, then the user could hear a glitch in the music playback.

Elliot Omiya, Architect on the Sound dev team, puts this 10ms cycle into perspective:  “it’s just slightly longer than the time it takes a nerve impulse to travel from the end of your finger to your brain (~8ms), known as NCV (nerve conduction velocity).  Because synapses are like network switches, there is switching time involved before the nerve impulse gets to the brain, i.e., switching time adds to latency.”

There is some good news in this story:  Windows developers have made significant progress over the years in reducing glitching across key multimedia scenarios.  For example, music playback on an otherwise “lightly loaded” system can be generally as smooth as that $20 CD player.

But because of the multi-tasking nature of Windows and the vast array of new and legacy hardware in the ~1B PCs that are used to playback music today, this allegedly simple process is made more complex by the resource sharing that occurs between applications and hardware.  For example, it is not uncommon for certain older devices driver to occasionally “lock out” the CPU for 10-50ms, thereby causing obvious audio glitches.  This is just one example of the kinds of complex hardware, driver, and OS interactions that can cause glitches.

In summary, some of the common sources of glitches today include:

  • CPU starvation
  • GPU starvation
  • Resource contention from devices and drivers (sometimes called “IO contention”)
  • Network devices
  • And, of course … bugs in applications, OS, drivers and/or hardware

My colleague on the Windows Sound team, Larry Osterman, also pointed out to me recently that humans are actually “hard-wired” to be disturbed by audio glitches.  In an exchange about this topic, Larry observed that audio glitches are more obvious than video glitches because the ear’s tuned to notice high frequency transients — his visceral example of this idea is an image of a stick snapping in the woods behind you as an audio event that wakes you up before a bear wanders into your path. 

In my second post on this topic, I’ll go a bit deeper in sharing details of work we’ve done in Windows Vista to address some of the known sources of potential sound glitches, including some additional background about a recent discovery of an apparent connection between multimedia playback and network throughput.

I wish to acknowledge the contributions and suggestions from my colleagues Hakon Strande, Richard Fricks, Alex Ferreira, Lan Ye, Larry Osterman and Elliot Omiya for this series of posts.

Written by Nick White on October 29th, 2007 with no comments.
Read more articles on Audio and Featured News and Windows Vista.

An Overview of Windows Sound and Music “Glitching” Issues

The following post comes from my colleague Steve Ball, Senior Program Manager for Audio in Windows Vista, and continues his team’s on-going series on how Windows Vista treats various forms of audio. —– Part I: Why does my Windows sound sometimes “glitch?” Read More……(read more)

Written by Windows Vista Team Blog on October 29th, 2007 with no comments.
Read more articles on Audio and Featured News and Windows Vista.

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 Read More……(read more)

Written by Windows Vista Team Blog on September 24th, 2007 with no comments.
Read more articles on Audio and Featured News and Windows Vista.

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:

  • Acoustic Echo Cancellation
  • Stationary Noise Suppressor
  • Automatic Gain Control
  • Wideband quality sound capture and 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

Written by Nick White on September 24th, 2007 with no comments.
Read more articles on Audio and Featured News and Windows Vista.

ITsVISTA Web Links: September 23rd, 2007

Written by Joe on September 23rd, 2007 with no comments.
Read more articles on Audio and GPO and stuff and Domain and Drivers and News.

Top 10 Linux Distributions for Audio Production

Have you ever dreamed of building your own music studio? I know you did and it may come true someday (or not), but until then here are some very interesting 100% FREE, Open Source Linux distributions with enhancements and features aimed at music, sound and even video production.

1. JackLab Audio Distribution (JAD for short) is a Linux distribution created especially for musicians and producers who wish to move over to an Open Source solution. Even if it’s not yet in its final version, JackLab tries very hard to provide its users with the best professional audio tools on an open source platform. The developers choose openSUSE Linux distribution for the grounds of JackLab, because they think it’s the most supported, simple and easy to use and customize distro. (more…)

, , ,

Written by Jason on September 6th, 2007 with no comments.
Read more articles on distributions and Audio and Linux and software.

« Older articles

Newer articles »