How to record your computer’s sound output (on Windows) with Audacity, Virtual Audio Cable and SoundLeech

Update on 12 August 2014: In the comments, Riverlandsmj alerted me to another, simpler way to record your computer’s sound output while still playing it through normal speakers. I added this method below and generally revamped the article. Thanks!

This is a tricky question I’ve bumped up against multiple times. What if I want to record my computer’s sound output? I can use the microphone to record what’s coming out of the speakers…but there’s naturally going to be a large loss of quality, since the sound has to go through both my bad speakers and my bad microphone. It would be much better to to have software on my computer directly record what’s coming out of my computer. If you do a little searching, you’ll find lots of people saying, “Oh, just use Audacity and select ‘Stereo Mix’ or something of the sort as the microphone!” Sorry…but not all computers support that – including mine! You will probably also find various programs that promise to record sound output…but that you have to, like, pay for. Which perhaps is fine if you intend to be recording sound output a lot, but not for me, who only needs to once in a while. But despair not! There is a free solution. In fact, there are THREE!

I’m going to show you the three methods I’ve come across, in order of how good I think they are. First, you can use Audacity, which is fairly simple, works in all situations, and lets you still output your computer’s sound through your normal speakers/headphones/whatever it is. Secondly, you can use VB-Audio Virtual Cable (catchy name, I know), which also works dependably, but is more complicated to use and can’t keep playing your sound normally unless you install extra programs. Finally, there’s SoundLeech, which is very simple to use and lets you still output your sound normally, but doesn’t work in all situations.

Audacity

This lovely open-source sound recording and editing program runs on Windows 2000, XP, Vista, 7 and 8, and is also available for other platforms, though the protocol for recording sound output is probably different on different operating systems. A feature was recently added that lets you choose a sound output device as an input device – so for instance, you can choose your speakers as your microphone. Let’s see how this works.

First of all, let’s download Audacity:

Audacity Free Audio Editor and Recorder - Google Chrome_2014-08-12_17-25-57

Once you’ve downloaded the file, run the installer:

Downloads_2014-08-12_17-31-03

Tell Windows that you really do want to run the installer:

Open File - Security Warning_2014-08-12_17-32-34

You may need to tell Windows again that you really, honestly, do want to run the installer, but eventually you should get to the language selection dialog.

Select Setup Language_2014-08-12_17-39-54

Now just follow the dialogs to install Audacity. When you’re done, open it up if you haven’t already.

Greenshot_2014-08-12_17-41-33

Now look at the upper left corner, at the bar right underneath the controls for stopping, pausing, etc. Do you see that first drop-down box, the one that says “MME” right now?

Audacity_2014-08-12_17-45-28

Click on it and choose “Windows WASAPI”.

Audacity_2014-08-12_17-45-58

Now move over to the third drop-down box, the one with a little microphone next to it. Choose the sound output device that you want to record sound from – probably your speakers.

Audacity_2014-08-12_17-46-41

Start recording by clicking on the big, round red button. Don’t worry if nothing much happens at first.

Audacity_2014-08-12_17-47-51

Now start playing whatever you want to record through the sound output device you picked (again, probably your speakers), check back, and there you go! Audacity is recording your sound output even as you’re hearing it.

Greenshot_2014-08-12_17-51-59

If you want to change the volume of what you’re recording, you’ll need to change the volume in the program playing the sound; changing the volume of your speakers or whatever other output device you chose won’t make a difference, in my experience.

Greenshot_2014-08-12_17-54-29

You can also always use Audacity’s “Amplify” effect once you’re done recording to change the volume.

Greenshot_2014-08-12_17-58-03

Both Riverlandsmj and I experienced some problems with the sound dropping out occasionally while recording this way, particularly at the beginning of recording, which seems to be because Audacity has a different default sampling rate than our sound cards. To fix this, Riverlandsmj suggests changing the sampling rate on your speakers to the same level as Audacity’s, like this. Go to the system tray in the bottom right corner of your screen, and find the volume control. Right-click on it and choose “Playback devices”.

_2014-08-12_18-01-28

Select the speaker in question, and then choose “Properties” below.

Sound_2014-08-12_18-02-15

Now go to the “Advanced” tab…

Speakers Properties_2014-08-12_18-02-47

…and in the first drop-down box, pick “24 bit, 44100 Hz (Studio Quality)”.

Speakers Properties_2014-08-12_18-04-40

Click “OK” below, and hopefully this will fix the problem!

Speakers Properties_2014-08-12_18-04-49

 

If it doesn’t, you can try opening up Audacity, then going to Edit > Preferences > Quality and seeing what the “Default Sample Rate” is. Then you can change your speakers’ rate to be the same, as I demonstrated above.

Preferences Quality_2014-08-15_10-52-18

VB-Audio Virtual Cable

Okay, on to VB-Cable! As I mentioned earlier, this program works consistently, but it’s trickier to use and you can’t output sound through a speaker while you’re recording from it. VB-Cable is supposed to work on Windows XP, Vista, 7 and 8. It basically works by pretending to Windows that it’s some speakers and also pretending that it’s a microphone. Then, if you tell Windows to output to VB-Cable’s “speakers,” VB-Cable will send whatever goes into those speakers to the VB-Cable “microphone.” So if you use a recording program – Audacity or whatever else – and select the VB-Cable “microphone” to record, you’ll get whatever is being sent to the VB-Cable “speakers.” I’ll demonstrate below by trying to record Windows Media Player playing an MIDI file using Audacity.

First we’ll need to download VB-Cable from its beautiful website:

VB-Audio Virtual Cable - Google Chrome_2014-01-09_07-16-19

You’ll get a .zip file. Extract it somewhere, look inside, and you’ll see…a lot of stuff. Never mind all that. Look at readme.txt if you want to. Then, if you have a 32-bit version of Windows, right-click on VBCABLE_Setup.exe and choose “Run as administrator;” or, if you have a 64-bit version, right-click VBCABLE_Setup_x64.exe and choose “Run as administrator.”

VBCABLEDriver_Pack42b_2014-01-09_07-17-52

If you’re not sure what sort of operating system you have, open up the Start Menu and go to “Control Panel,” then “System,” and look at “System type” under “System.”

All Control Panel Items_2014-01-09_07-18-50

System_2014-01-09_07-18-59

(I know, I don’t have a very impressive computer.)

Windows will make sure you really want to run this program – click “Yes.” Now click “Install Driver” to actually start installing VB-Cable. It may say it’s not responding for a while, but that’s fine.

VB-Audio Virtual Cable Driver Installation (Version 1.0.3.2)_2014-01-09_07-21-22

Windows will make sure you want to install VB-Cable’s drivers – these are its fake speakers and microphone. Click “Yes,” and there you go! You might want to restart after finishing, as the program tells you to, but I got away with not rebooting, at any rate.

VBCABLE Installation_2014-01-09_07-22-12

Now let’s see what VB-Cable can really do! First, right-click on the volume control in the system try and choose “Playback Devices.”

_2014-01-09_07-26-56

Click on the sound device called “CABLE Input” (that’s VB-Cable’s fake speakers) and click “Set Default” below.

Sound_2014-01-09_07-28-02

Now all sound the computer outputs will be sent to VB-Cable, which VB-Cable will then promptly send to its fake microphone, which you can see if you click on the “Recording” tab.

Sound_2014-01-09_07-28-58

So, let’s open Audacity and choose “CABLE Output” as the microphone…

Audacity_2014-01-09_07-29-48

Start recording…

Audacity_2014-01-09_07-30-14

Now I can open up my MIDI file in Windows Media Player and let it play, and when I check in Audacity – ah yes, it’s recording the sound produced by Windows Media Player!

Greenshot_2014-01-09_07-33-26

To finish off, I can stop recording in Audacity, save the file, etc., then right-click on the volume control and pick “Playback devices” again, and set my normal speakers as default again.

Sound_2014-01-09_07-34-25

This reveals one problem with VB-Cable – you can’t record sound output with VB-Cable and listen to it at the same time, since Windows is sending the sound to VB-Cable instead of actual speakers. If you want to listen while recording sound output, you could, again, try the Audacity or SoundLeech methods.

SoundLeech

So there’s also SoundLeech, the simplest program, which runs on Windows XP, Vista and 7 (not sure about Windows 8). Here’s the basic idea: When it’s running and you tell it to “start leeching,” it tries to detect any programs playing sound, and then records what they’re playing to a .wav file. The problem is that it doesn’t always detect programs playing sound – it only seems to support some programs. So if you’d rather not mess with Audacity or VB-Cable, you could try SoundLeech, but it’s a bit less flexible and doesn’t work 100% of the time. I think SoundLeech is pretty straightforward, and the developer also has some info on how to use it on his website, so I won’t demonstrate it here.

Conclusion

And there you have it! I am very happy that I finally found some good solutions for this problem. Hopefully they will be useful to you too!

Comments

25 replies

  1. Very nice tutorial ! VB-Cable is really just a cable to connect 2 audio applications together. If you need mixer / routing services, (for example to listen what you record with Audacity), you need more than a cable, you need a mixing console. This is the purpose of Voicemeeter, also based on VB-CABLE technologie to mix different audio device inputs to different outputs (including virtul i/o) ! give it a try ! …

  2. Thanks so much…….soundleech didn’t work for me, but this did…followed u’r steps & began recording in minutes…thanks agin for the write up.

  3. Thanks for this handy tip. I have been using the Avnex Virtual Audio Device which installs with the Voice Changer Gold demo in a similar fashion. I have setup the playback and record as you have demonstrated but I have discovered that you can listen to the sound by clicking on the virtual device under the “Recording” tab. Click on the “Properties” button then click on the “Listen” tab. Check the “Listen to this device” box and arrow down to your actual sound card. Click OK.

    I would suggest a reboot. You will then see two volume sliders when you click on the bottom right speaker icon. You can put the virtual device slider up to full (the right one) and use your real sound card volume (the left one) to adjust the output volume. Once this is setup you can leave it as is and the recording software will work as you have shown.

  4. Another option for recording your sound output without the “stereo mix” function is to use the “Windows WASAPI” option from within Audacity.

    In the screenshot above there is a pulldown menu box under the “pause” button that shows “MME”. Click on this and you should see “Windows DirectSound” and “Windows WASAPI”. Click on “Windows WASAPI”. NOTE: I am using Audacity 2.0.5 which is current.

    The recording level seems to be locked but it doesn’t distort. The output volume can be adjusted without affecting the recording level.

      1. Alison:

        Upon further testing with the WASAPI, I found that I had some dropouts in the recorded sound, especially at the beginning of the file. It may be just an issue with my system but you might want to double check. Cheers!

      2. Alison:

        Upon even further investigation, I was able to resolve the WASAPI dropout problems in Audacity by changing the sampling rate on my soundcard from the default 48000 to 41000.

        As per the above screenshots, click on the “playback” tab then click on the “Speakers” item. Click on the “Properties” button then click on the “Advanced” tab. In the “Default Format” section click on the down arrow to the right of the white box and click on “24 bit, 44100 Hz (Studio Quality)”. Click the “OK” button. Cheers!

        1. Alison:

          The updated article looks great. It seems that the dropout problems are due to a mismatch in the sampling rate of the soundcard – default 48000 – and Audacity’s default of 41000. I believe that Audacity’s attempt to lower the sampling rate during the recording somehow causes the dropouts. Another way to resolve this issue is to leave the sound card sampling rate as is – as long as it’s 48000 – and change the default sample rate in Audacity to 48000: “Edit” pulldown menu > Preferences > Quality > Default Sample Rate.

          The trick is to just have them match. Either way the sound is very good and there’s no fiddling with the input level to prevent distortion.

          It’s still a good idea to use the VB Cable driver as other sound/screen recording programs usually require the “stereo mix” type input. Cheers.

  5. Alison:

    Wham, bang, poot, supper whammy ding dong! The first Audacity method worked and I didn’t even have to mess with the volume adjustments. Almost nothing with computers (exception-they don’t work right………..this one is easy) is ever this easy. Thanks for figuring it all out for us.
    Now I’m going to try the other ideas e.g. VB-Audio Virtual Cable and SoundLeech etc. just to see what happens.

  6. Thank you for this article! Since VB Audio Cable doesn’t seem to come with a manual, this was the best info on what it actually does I’ve found so far!

  7. Hello, I’m using the audacity method but the sound is not very good compared to the source (streaming radio or video). I know for a fact that some radio recorders produce mp3 files of a better quality… How is it possible not to get the audio source which is sent to the speakers ???

    1. I’m not sure. The sound must be going through some other protocol or process before it gets to the Audacity input…

      Sorry Audacity hasn’t worked well for you!

  8. Nice article but you say “This reveals one problem with VB-Cable – you can’t record sound output with VB-Cable and listen to it at the same time, since Windows is sending the sound to VB-Cable instead of actual speakers.”
    You can. Select the CABLE Out recording device, click Properties, select the Listen tab, check the ‘Listen to this device’ checkbox then select your speakers from the ‘Playback through this device’ combo box.

  9. I tried the suggestion in the previous comment and VB cable works for me now. I can hear what is being recorded. I use Cool Edit. Previously I tried voice meeter but found thst confusing and complicated. Many thanks to Andrew.

  10. Another way to hear the audio while using VBCable is to use the “Repeater” app that comes with VBCable. Set Wave In to Line 1, Wave Out to your speakers, and hey presto.

  11. Very informative! Thanks for showing clearly how to record audio with Audacity. I’d recommend Acethinker Audio Recorder which I have been using for many years. It supports recording system and microphone or both. I always take it to capture sound to make video for my YouTube channel so that I can share with friends. Share it here as an alternative to Audacity.

Leave a Reply

Your email address will not be published. Required fields are marked *