Sunday, February 20, 2011

USB Microphone levels too high in Windows 7 - Problems with distortion in Audacity

Distortion and overdriving is being reported by users of MXL and Samson USB microphones who have switched to Windows 7 from XP. The problem exists in the 32 bit and 64 bit versions. It also affects USB turntables and other USB audio devices. Typically the microphone volume has to be reduced in the windows audio mixer to practically zero to prevent overdriving and distortion. Even at these levels there can be occasional buzzing or other distortion. If the microphone (like the MXL ones) has a built in attenuator then setting this to low output helps a bit, but the audio quality is compromised because the full dynamic range of the microphone is affected. The same problem may also affect USB audio interfaces and mixers.

See my update at the end of this article for a possible solution.

I have used an MXL USB.006 large diaphragm USB microphone for several years on both WIndows XP and Ubuntu Linux, recording into Audacity with no problems, but it won’t work properly with Windows 7.

The bad news is that there is no proper fix for this. It is not caused by Audacity or the operating system itself. The problem is the generic USB audio driver for Windows 7 seeing all inputs as low level microphone inputs rather than high level line inputs (which is how these devices were designed and how they worked under Windows XP). This happened because Windows 7 is optimised for teleconferencing, VOIP and using a headset. Until someone designs a USB audio driver for Windows 7 which corrects this, then there is no real solution.

Some users are reporting fixes related to bit rate settings or using the speech recognition microphone set up wizard in Windows. I have tried these and they sometimes seem to work, but that seems to just be coincidence as the intermittent buzzing comes back. I have tried Windows direct sound and MME and both have the same problem. Its all drive level related.

The only options I can see to resolve this are:


  1. Keep the gain turned down, keep the attenuator padding turned on, accept the poorer audio quality, and hope there is no distortion midway through your recording.
  2. Get a separate PC running Windows XP or Linux for audio recording purposes.
  3. Buy a standard XLR dynamic microphone and a seperate mixer which can provide ghost power and plug into the soundcard line input, NOT a USB socket.


All of these are an extra expense and quite disappointing, but I may just have to bite the bullet and replace my microphone and add a mixer.

Update 10th October 2011
Well, I have found a solution to the distorted buzzing sound on recordings. I increased the "audio to buffer" setting in the Recording Preferences in Audacity from 200ms to 300ms. This has stopped the distortion. Recording levels are still too high, but with the attenuator turned on and the mic gain set at 0.1 it does work.

11 comments:

  1. Uh oh! After two years of frustration with Vista looks like I won't be completely out of the woods yet, then! I just ordered my new laptop, should get here sometime next week. It has Windows 7 on it, so I may end up experiencing exactly these issues.

    My question for you is if you've tried using ASIO drivers yet. Sometimes manufacturers supply their own, but if not, there is a good generic ASIO driver at this location:

    http://www.asio4all.com/

    ASIO = low level, low latency = the only way I've been able to record and monitor in real-time with my current laptop.

    I'll bookmark this comment and reply back on my results, if you haven't by then.

    ReplyDelete
  2. I tried that but I couldn't get Windows to use the correct driver. May just be bad luck on my part. I think I will try it again today. Shouldn't be necessary though. Microsoft should supply just provide the options they used to on their driver.

    ReplyDelete
  3. OK, apparently Audacity does not support ASIO4ALL. It certainly does not show as an option even though its installed:

    http://forum.audacityteam.org/viewtopic.php?f=12&t=19881

    ReplyDelete
  4. I have updated this article with a fix that has worked for me.

    ReplyDelete
  5. I have discovered a work-around for the win7 generic USB sound device running at mic level, not line level (thus overloading):
    Go to properties for the sound card:
    (right click volume icon/select recording device/double click your USB sound device (or select it and hit properties),/then in Advanced tab, select |Set Default| and |Apply| or |OK|.
    Now do it again and select |2 channel 48k| (or whatever you want) and hit |OK|.
    NOW IMPORTANT BIT!!!DO NOT CLOSE THE SOUND CONTROL PANEL. it is now set to line level as long as you don't close it, just move it out of the way!!! open your sound app and you will see that the input is at line level, and you can leave the levels tab at 100% and not have distorted/clipped sound!
    If you close your application and close the control panel and open your application again the input will be overloading again.

    ...spread the word...

    ReplyDelete
    Replies
    1. This comment has been removed by the author.

      Delete
    2. Many thanks for the advice; I also found that by lowering the Level to below 10 (e.g. 8 or 9), I could get a reasonably good level. Not quite sure how you managed to figure that out. Thanks once again and regards.

      Delete
  6. Thanks for the advice. I tried this a few times and it made no difference for me, but it may be sound card dependent.

    ReplyDelete
  7. @SoundBloke : This works! Thank you so much :) A real shame MS couldn't put this as an option in the audio driver. We need line level inputs!

    ReplyDelete
  8. I tried this the other day on Windows 8.1, and was pleasantly surprised to see this working. I was accustomed to dropping the microphone level to 5/100 to avoid distortion in Windows 7, and all of a sudden it works like I expect it to. Looks like they fixed it at some point.

    ReplyDelete
  9. Thanks Ryan. This is good news. I have a brand new laptop waiting to be configured for my son and I bought Windows 8 for it. Doing a dual boot with Ubuntu, but useful that USB audio will work correctly in Win 8.

    ReplyDelete