Skip to main content

Adding "Stereo Mixer" to Windows 7 with Conexant sound card

This procedure worked for my laptop (Thinkpad E530) with a Conexant 20671 sound card, but I suspect it will work for other sound cards in the Conexant family.

I was playing with CamStudio to do a video capture of a Flash-based cartoon so that I can put it on the WDTV media player and play it on the big screen in the living room for my kids. The video capture worked brilliantly, but to do a sound capture, I needed to do some hacking.

Apparently, there was this recording device called "Stereo Mixer" that was pretty standard in the Windows XP days. This allowed you to capture whatever was played to the speaker in all its digital glory. Then under pressure from various organizations on the dark side of the force, Microsoft and soundcard makers starting disabling this wonderful feature from Windows Vista onwards.

So after much Googling around, I found out that for most sound cards, the hardware feature is still there, just not enabled on the software side. Unfortunately, to enable the "Stereo Mixer" feature is not as simple as ticking a checkbox. The procedure is frequently complicated and is different for various soundcard chipset families.

Luckily, for the Conexant sound card on my laptop, the procedure to enable the stereo mixer feature was comparatively straightforward.

First, right-click on the "Sound" icon in the system tray and select "Recording devices":


Then right-click on the whitespace and select "Show Disabled Devices":


Make sure you don't see a "Stereo Mix" device that was previously hidden.

Now, you need to add some entries to the registry. Create a ".reg" file with a text editor with the following content:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}\0000\Settings\EPattributes\EpSettings\StereoMixEnable]
"Enable"=hex:01
"MixAssocSeq"=hex:e0,e0
"MuteGainSettings"=hex:00,00


Double-click on the .reg file and enter it into the registry. Verify by firing up "regedit".


This enters the "StereoMixEnable" values under "HKLM\System\CurrentControlSet". You also need to enter this into all "ControlSet00x" subtrees under "HKLM\System". So for example, since I have "ControlSet001" and "ControlSet002" under "HKLM\System" on my machine, I edit the .reg file to:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\
ControlSet001\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}\0000\Settings\EPattributes\EpSettings\StereoMixEnable]
"Enable"=hex:01
"MixAssocSeq"=hex:e0,e0
"MuteGainSettings"=hex:00,00


and double-click to enter it into the registry. I repeat for "ControlSet002".

Now reboot the machine. Then follow the previous steps to bring up the recording devices. If all goes well, you should now see a new, disabled "Stereo Mix" device in the list.

Right-click on the device and select "Enable":


Then set it to the default device by highlighting it, and selecting "Set Default".


Now, under CamStudio, I select "Options, Record audio from microphone". Since the default recording device is now "Stereo Mix", anything that is played through the speaker is now piped through to CamStudio for recording.

Mission accomplished!

Comments

  1. This comment has been removed by the author.

    ReplyDelete
  2. Danke! Hat super geklappt beim Thinkpad E-325.

    Lediglich die Settings waren bei mir unter 0007 statt 0000 zu finden:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}\0007\Settings\EPattributes\EpSettings\StereoMixEnable]
    "Enable"=hex:01
    "MixAssocSeq"=hex:e0,e0
    "MuteGainSettings"=hex:00,00

    ReplyDelete
  3. So sad it doesn't work for me (Conexant 20672 sound card).
    I added these new things to registry (I confirm they are there), but nothing new appears in "Recording devices" (of course I have enabled "Show disabled devices" etc.)

    Help !

    ReplyDelete
  4. Thank you very much! after I rebooted, I can now use Stereo Mix!!

    ReplyDelete
  5. I've tried it carefully with my T410 and even removed the driver updated with newest version and have tried everything... but doesn't work for me ;(

    very frustrating - some one can help!?

    Even I've tried same values for several other places in the regestry:

    Of course I've always as well put same keys for as well for "ControlSet001" and "...2" and each time have rebootet.

    I've been having "settings" at ...}\0001\

    so that's where I've tried first - but I've tried the same for ...}\0000\

    ok, now I could try as well ...}\0003\ to ...}\00012\

    But I still hope some one with more experience can help!

    Thanks in advance!

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}\0001\Settings\EPattributes\EpSettings\StereoMixEnable]
    "Enable"=hex:01
    "MixAssocSeq"=hex:e0,e0
    "MuteGainSettings"=hex:00,00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}\0001\MixerSettings\StereoMixEnable]
    "Enable"=hex:01
    "MixAssocSeq"=hex:e0,e0
    "MuteGainSettings"=hex:00,00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}\0001\MixerSettings\EPattributes\EpSettings\StereoMixEnable]
    "Enable"=hex:01
    "MixAssocSeq"=hex:e0,e0
    "MuteGainSettings"=hex:00,00

    Could it be Class {4D36E96D-E325-11CE-BFC1-08002BE10318}
    maybe?

    I've seen this class is about the conexant sound card as well!


    Or should I searach for every part in the regestry that says something aobut the conexant sound card?


    Thanks for your help folks!

    ReplyDelete
  6. I have the same laptop and the same audio card. I followed your steps, but it did not work for me. ;9(

    ReplyDelete
  7. Worked for me. Windows 8, Lenovo E530, gotten just last year.

    ReplyDelete
  8. thanks, worked for the stereo mixer but how about the line in?

    ReplyDelete
  9. This comment has been removed by a blog administrator.

    ReplyDelete
  10. This process worked great & restored the stereo mix back to my recording devices. Although for whatever reason it is not functioning the way i would like it to & the way it seems to for others. I would like to know how to reset the registry back to the way it was before i made the changes to it.

    ReplyDelete
  11. Perfect! Thank you.
    Worked in my Lenovo Yoga 2 11" Windows 8.1
    Conexant Smart Audio HD
    hdaudio\func_01&ven_14f1&dev_5114&subsys_17aa3801

    Cannot understand why they disable this great functionallity.

    ReplyDelete
  12. Happen to have the exact same problem on the same sound card as you had on the exact same computer model. I didn´t know what to do until I found this thread, and the solution worked! Thanks ;)

    ReplyDelete
  13. Thanks a lot for the solution, it worked under Win7 on a Lenovo G40-70 laptop although instead of [...]\0000\Settings\EPattributes\EpSettings I got [...]\0001\Settings\EPattributes\EpSettings

    And I also could enable stereo mix under Windows 8.1 in the same laptop with the same reg files used under w7. Yes, I have dual boot.

    ReplyDelete
  14. Thanks a lot, it worked!
    Windows 10, Toshiba Satellite i7

    ReplyDelete
  15. Disadvantage is that if you are a DJ and have a microphone, the sound will be terrible

    ReplyDelete
  16. It works great on my Thinkpad E420 Win7 64bit. Thanks!!

    In the registry, there were CurrentControlSet and ControlSet001~003, to all of which I added the parameter. Restarting the computer made it show Stereo Mixer icon, but enabling it caused blue screen error. I updated the driver to 8.32.34.50, which was not available for E420 but available for other models. Restarting and enabling the stereo mixer works successfully then.

    ReplyDelete
  17. It works well on my Ideapad 300 Win10 64bit too. Thanks so much!!

    ReplyDelete
  18. You are one of my personal heroes now! Worked on my new Lenovo!

    ReplyDelete
  19. Worked for me, E530/Windows 7, Conexant 20671 sound card. Thanks!

    ReplyDelete
  20. I LIKE THE FACT THAT IT WORKED FOR LOT OF PEOPLE BUT IF YOU CAN PLEASE HELP ME. I UNDERSTAND ABOUT MAKING *.REG WITH THE TXT THAT YOU HAVE WRITTEN. BUT WHAT DO I DO WITH THE *.REG FILE?? WHEN I OPEN REGEDIT WHOLE LIST OF THINGS OPEN UP. CAN YOU PLEASE BREAK IT DOWN INTO BABY STEPS FOR ME THANKS

    ReplyDelete
    Replies
    1. Instead of double-clicking, you can also run RegEdit, then select "File, Import" then select the *.reg file to import the registry entries.

      If you are not familiar with messing with the registry, I strongly suggest you find a friend who's more familiar to sit you through it and make sure you don't do anything disastrous.

      Delete
    2. It workes for my lenovo B71-80 with windows 10 and conexant as well. I updated the conexant driver and the drivers from lenovo systemupdate5.07.0053.exe. I searched for EPSettings inside the registry and entered the new key and the binary values on two positions. After the reboot the stereomix was available. A perfect solution! Thanks a lot to the first advisor!

      Delete
    3. This comment has been removed by a blog administrator.

      Delete
  21. Is there anyway to get this working on windows 10 and realtek card? My notebook is a Lenovo T440p, pls pls pls!!

    ReplyDelete
  22. Thank you for this post, even 5 years later, and the helpful comments. Like Gabriel, I found my settings under "instead of [...]\0000\Settings\EPattributes\EpSettings I got [...]\0001\Settings\EPattributes\EpSettings" The best way to find where to actually put the registry changes was following Siegfried's advice - navigate to [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class and then do a search (ctrl+F) for "EpSettings" and add the new folder/values in that existing folder. This worked for me on a Lenovo E540, Windows 10, Conexant 20751. Thanks again!!

    ReplyDelete
  23. Thank you very much for this!!!

    ReplyDelete
  24. testing date: 8 may 2020
    laptop_model: Lenovo 310-15ISK Laptop (ideapad)
    OS: windows 10 (latest update till now)

    result: working perfect(without reboot also)

    these two registry need to added.
    (CurrentControlSet and ControlSet001 )

    thanks man..thanks a lot...

    ReplyDelete

Post a Comment

Popular posts from this blog

Update: Line adapter for Ozito Blade Trimmer

Update (Dec 2021): If you access to a 3D printer, I would now recommend this solution , which makes it super easy to replace the trimmer line. I have been using it for a few months now with zero issue.

3D Printer Filament Joiner

I have been looking at various ways of joining 3D printing filaments. One method involves running one end of a filament through a short PTFE tubing, melting it with a lighter or candle, retracting it back into the tubing and immediately plunging the filament to be fused into the tubing: One problem with this method is that you can't really control the temperature at which you melt the filament, so you frequently end up with a brittle joint that breaks upon the slightest bend. Aliexpress even sells a contraption that works along the same line. As it uses a lighter or candle as well, it suffers from the same weakness. I am not even sure why you need a special contraption when a short PTFE tubing will work just as well. Another method involves using shrink tubing/aluminium foil, and a heat gun: But a heat gun is rather expensive, so I wanted to explore other alternatives. The candle + PTFE tubing method actually works quite well when you happen to melt it at the rig

Attiny85 timer programming using Timer1

This Arduino sketch uses Timer1 to drive the LED blinker: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 /* * Program ATTiny85 to blink LED connected to PB1 at 1s interval. * Assumes ATTiny85 is running at 1MHz internal clock speed. */ #include <avr/io.h> #include <avr/wdt.h> #include <avr/sleep.h> #include <avr/interrupt.h> bool timer1 = false , led = true ; // Interrupt service routine for timer1 ISR(TIMER1_COMPA_vect) { timer1 = true ; } void setup() { // Setup output pins pinMode( 1 , OUTPUT); digitalWrite( 1 , led); set_sleep_mode(SLEEP_MODE_IDLE); // Setup timer1 to interrupt every second TCCR1 = 0 ; // Stop timer TCNT1 = 0 ; // Zero timer GTCCR = _BV(PSR1); // Reset prescaler OCR1A = 243 ; // T = prescaler / 1MHz = 0.004096s; OCR1A = (1s/T) - 1 = 243 OCR1C = 243 ; // Set to same value to reset timer1 to