Enabling Fraunhofer IIS MPEG Layer-3 Codec (Professional) in Windows 10, 8.1, 7, Vista and Windows Server 2016 down to 2008

This article is a guide on how to enable Fraunhofer MP3 ACM codec in Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2, and Windows Server 2008.
MP3 Logo

Microsoft says in KB937141 that we are not allowed to produce MP3 using Fraunhofer IIS MPEG Layer-3 ACM codec, and that it’s because of Microsoft’s licensing restrictions—or as District Judge Rudi Brewster prefers, patent infringement issues. There are great encoding software that don’t include their own encoders, so they rely on Windows Audio Compression Manger (ACM) codecs for audio encoding purposes. The most idiotic solution to fix codec problems is to install a codec pack, like K-Lite. So to be able to encode audio in MP3 format without any further codec installation, we need to solve the problem with the professional edition of Fraunhofer MP3 ACM codec in Microsoft Windows 10 / Windows Server 2016, Windows 8.1 / Windows Server 2012 R2, Windows 8 / Windows Server 2012, Windows 7 / Windows Server 2008 R2, and Windows Vista / Windows Server 2008.

MP3 ACM Restrictions since Windows Vista / Windows Server 2008

By default both advanced (l3codeca.acm) and professional (l3codecp.acm) ACM codec files are installed in the System32 folder of Windows Vista / Windows Server 2008 (and newer), but the advanced edition is activated rather than the professional, and that means we’re stuck at low-quality 56 kbps monaural audio, which I can’t tolerate personally. So we need to activate the professional edition (l3codecp.acm) if you’re using Windows Vista / Windows Server 2008 or newer.

Automated Fix—Chortkeh Fraunhofer IIS MPEG Layer-3 Codec Fix for Windows 10 down to Vista / Windows Server 2016 down to 2008

I’ve written a command-line script patch to enable Fraunhofer IIS MPEG Layer-3 ACM Codec in Windows 10, 8.1, 8, 7, Vista and their Windows Server equivalents. Download and run the CMD patch file as administrator. Technically known as an elevated batch script, because it requires administrative privileges, it’s needed to be run as administrator when you’re not logged in as Administrator.

Download Link

  • Download Chortkeh Fraunhofer IIS MPEG Layer-3 Codec Fix for Windows 10, 8.1, 8, 7, Vista and their Windows Server equivalents by Komeil Bahmanpour (chortkeh-fix-mp3-codec.cmd, Revision 4, July 4, 2013)

Changelog [Updated July 4, 2013]

Last updated on July 4, 2013, chortkeh-fix-mp3-codec.cmd is a batch script that enables Fraunhofer IIS MPEG Layer-3 ACM Codec in Windows 10, 8.1, 8, 7, Vista and their Windows Server equivalents. This record lists all changes of the chortkeh-fix-mp3-codec.cmd releases:

Revision 4 (July 4, 2013)
  • Supported Windows on Windows 64 (WoW64)
  • Changed into path qualifier (%SystemRoot%\System32\l3codecp.acm for x86/x64 and %SystemRoot%\SysWOW64\l3codecp.acm for WoW64) instead of filename (l3codecp.acm) style
  • Supported error message whenever it’s not being run as administrator
  • Hidden reg delete error messages including ERROR: The system was unable to find the specified registry key or value.
Revision 3 (July 6, 2009)
  • Dropped adding msacm.l3codec under HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32
Revision 2 (June 29, 2008)
  • Added checking to see if initial directory differs from SystemRoot%\System32 to show run as administrator warning message.

Fixing by Yourself [Updated July 4, 2013]

Registry Changes Required for the Activation of Fraunhofer IIS MPEG Layer-3 Codec (Professional)

Native Fix – Required for Both 32-Bit and 64-Bit Windows Architectures

Convert instances of l3codeca.acm into l3codecp.acm.

  1. In HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers.desc there should be a REG_SZ value named “C:\Windows\System32\l3codecp.acm” (or simply “l3codecp.acm”) with data of “Fraunhofer IIS MPEG Layer-3 Codec (professional)”.
  2. In HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32 there should be a REG_SZ value named “msacm.l3acm” with data of “C:\Windows\System32\l3codecp.acm” (or simply “l3codecp.acm”).

There shouldn’t be any instances of l3codeca.acm remained. Remove if any.

WoW64 (Windows on Windows 64) Fix – Required for 64-Bit Windows Architecture (when 32-Bit applications need Fraunhofer MP3 encoder)

Convert instances of l3codeca.acm to l3codecp.acm.

  1. In HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\drivers.desc there should be a REG_SZ value named “C:\Windows\SysWOW64\l3codecp.acm” (or simply “l3codecp.acm”) with data of “Fraunhofer IIS MPEG Layer-3 Codec (professional)”.
  2. In HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Drivers32 there should be a REG_SZ value named “msacm.l3acm” with data of “C:\Windows\SysWOW64\l3codecp.acm” (or simply “l3codecp.acm”).

Now, there shouldn’t be any instances of l3codeca.acm remained. Remove if any.

Other Registry Keys to Check Just in Case

Although the following keys are set in Windows by default, you might like to investigate them personally:

  • HKLM\SOFTWARE\Microsoft\AudioCompressionManager\DriverCache\msacm.l3acm\aFormatTagCache: 0100000010000000550000001e000000
  • HKLM\SOFTWARE\Microsoft\AudioCompressionManager\DriverCache\msacm.l3acm\cFilterTags: 0
  • HKLM\SOFTWARE\Microsoft\AudioCompressionManager\DriverCache\msacm.l3acm\cFormatTags: 2
  • HKLM\SOFTWARE\Microsoft\AudioCompressionManager\DriverCache\msacm.l3acm\fdwSupport: 1
Registry Keys Dropped in Comparison to Windows XP / Windows Server 2003

The following keys were also defined in media resources section of Windows XP / Windows Server 2003, but they’re no longer required:

  • HKLM\SYSTEM\CurrentControlSet\Control\MediaResources\msacm\msacm.l3acm\Driver: l3codecp.acm
  • HKLM\SYSTEM\CurrentControlSet\Control\MediaResources\msacm\msacm.l3acm\Description: Fraunhofer IIS MPEG Audio Layer-3 Codec (professional)
  • HKLM\SYSTEM\CurrentControlSet\Control\MediaResources\msacm\msacm.l3acm\FriendlyName: Fraunhofer IIS MPEG Audio Layer-3 Codec (professional)
Windows 10 Support [Updated October 22, 2015]

The same patch as described above works fine with all editions of Windows 10 x64 (64-bit) and Windows 10 x86 (32-bit) as well as the older versions of the OS ranging from 8.1 down to Vista and their server equivalents. Again please note changing Registry system configuration requires elevated administrative privileges, so you need to either be logged in as Administrator, or run the patch as administrator.

52 thoughts on “Enabling Fraunhofer IIS MPEG Layer-3 Codec (Professional) in Windows 10, 8.1, 7, Vista and Windows Server 2016 down to 2008

  1. I encode MPEG-2 files to AVI (DivX + MP3) using VirtualDub. I use Fraunhofer ACM instead of LAME ACM because although LAME is generally considered hassle-free, as an addition to VirtualDub, LAME ACM produces asynchronous audio over video (even in CBR mode) in my tests. Fraunhofer ACM was OK in XP out of the box. Then in Vista I had to fix the problem using the patch at your old site. Today I needed to enable the l3codecp.acm (Fraunhofer IIS MPEG Layer-3 Codec Professional) in Windows 7 x64 on my laptop to encode something in VirtualDub 64-bit. Your patch worked like a charm in Windows 7 64-bit. Thanks.

  2. This article give me help very much! Thanks author! Recently, I have been doing a program about of MPEG Layer-3,On OS xp, I found that 56 kbps monaural audio channels is max value which I can’t tolerate too. On OS vista ,the MPEG Layer-3 is cann’t connected! With this article,these problem had been solved easily! Thanks!

  3. I am running Vista. How would I go about getting this to work on it? I looked for those values but came up with nothing. Any help greatly appreciated

  4. I used the fix in windows 7 x64 Englisch version

    and i receive next massage.

    ¦ Windows Vista Fix for Fraunhofer IIS MPEG Layer-3 Codec ¦
    ¦ Revision 3 ¦
    ¦ July 6, 2009 ¦
    ¦ Copyright (C) 2007-2009 Chortkeh. All rights reserved. ¦

    Removing the advanced edition of Fraunhofer IIS MPEG Layer-3 Codec…
    ERROR: The system was unable to find the specified registry key or value.

    Activating the professional edition of Fraunhofer IIS MPEG Layer-3 Codec…
    The operation completed successfully.
    The operation completed successfully.

    Press any key to continue . . .

    I used it a few times and checked the registry but i can’t detect a typo here however it is not working in Virtualdub

    Can anybody help me with this problem?


    • The Fix should work with Windows 7 x64 English. You need to check your Registry using RegEdit.exe to see if those keys are there.

      Also check the following registry key out:

      HKEY_CURRENT_USER\Software\Microsoft\ActiveMovie\devenum\{33D9A761-90C8-11D0-BD43-00A0C911CE86}\85MPEG Layer-3

      It’s where the ACM wrapper for the MP3 codec is defined as ACM ID (AcmId) 0x00000055 (85) and its friendly name is specified via FriendlyName string value equal to MPEG Layer-3.

      The ERROR message is shown because you “used it a few times.” In fact, you shouldn’t see the error during the first run of the Fix on an unfixed installation of Windows. Once patched, the ERROR message will be shown during further runs of the Fix, but meaning no harm.

      What you’re looking for in VirtualDub is MPEG Layer-3 (MP3 codec’s friendly name) inside Select audio compression.

  5. I am using the Fraunhofer IIS MPEG Layer-3 Codec with two different programs, VirtualDub 1.9.9 and Freez Screen Video Capture 1.2.

    After installing the codec and successfully running the patch, VirtualDub finds the codec, but Freez does not. The registry reveals:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers.desc:

    Name: Type: Value:
    ac3filter.acm REG_SZ AC3Filter ACM codec
    ac3filter64.acm REG_SZ AC3Filter64 ACM codec
    C:\Windows\System32\l3codecp.acm REG_SZ Fraunhofer IIS MPEG Layer-3 Codec
    ff_vfw.dll REG_SZ ffdshow Video Codec
    l3codecp.acm REG_SZ Fraunhofer IIS MPEG Audio Layer-3 Codec (professional)
    wdmaud.drv REG_SZ SB Live! 24-bit
    xvidvfw.dll REG_SZ Xvid MPEG-4 Video Codec

    HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32
    msacm.l3acm REG_SZ l3codecp.acm

    The registry key:

    …does not exist.

    The key:

    …exists, but is empty.

    Running Vista w/SP1, and SystemInfo shows the MPEG Layer-3 Codec (version is installed properly.

    I have used the codec with Freez before, but I am having this problem since I had to reinstall everything, so my hard disk is relatively clean.

    Can you help?

    Thanks in advance, and thanks for a VERY helpful and informative site.

    • Maybe the problem is where your HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers.desc contains two l3codecp.acm keys: One with the full path specified, and one without. This will probably cripple Freez. I’m confused, if you have run my Patch (chortkeh-fix-mp3-codec.cmd), the Patch would have successfully deleted the one with the full path (C:\Windows\System32\l3codecp.acm). I’m guessing you were neither logged in as Administrator, nor ran my Patch as administrator.

    • im sorry but now MPEG layer3 wont work in my sony vegas but i can see him in programm. also i cant see codec at hypercam.any way to reinstall MPEG layer3 or some fix?

  6. Komeil, thanks for an amazingly useful site. After struggling with ALAC/FLAC/WMAL/etc I reached the conclusion there really is no such thing as “lossless encoding”. They all sound like garbage compared to Fraunhofer Pro MP3s.

    • You’re welcome. BTW, lossless files are the bit-for-bit equivalent of the ripped CD’s huge WAV files, only smaller in size because of the lossless compression. Size aside, there’s no way for MP3 (or any other lossy format) to compete. I think there’s a problem with your player / decoder.

      • Well as far as “equivalent” I have just two words: lowpass filter.

        To my ears ALAC is hollow in the upper end, FLACs and WMAL have ringing problems etc. Apple and other vendors are careful to call their codecs mathematically lossless, because accuracy in mathematics doesn’t necessarily equate to pleasing sound quality. Fraunhofer’s developers are audio engineers not computer geeks, they’re 10 years ahead of everyone else in figuring out how to eliminate problems that still plague the lossless encoders I’ve tried.

        • I don’t know about ALAC, I’m not an Apple fanboy. But I know for sure both FLAC and WMAL can reproduce the exact WAV when played back; in other words the result is a bit-for-bit duplicate of the original audio file.

          Reconsider your thoughts. Where’s the LPF? I know it’s hard to believe, because if you ZIP a WAV, it’d only get compressed by 10–20%, but these audio-specific compression algorithms use linear prediction to convert the audio fixed-point PCM samples to a series of small uncorrelated numbers—known as the residuals—that are typically reduced to 50–60% of their original size. As a test, convert a ripped CD track from WAV to FLAC and then back again to WAV, now binary compare the WAV files. For skeptics out there, esteemed audio conversion utilities such as dBPowerAmp have an option for you to check the produced FLAC / WMAL against the original WAV file.

          You want me to believe all the audiophiles archiving (ripping their precious CDs on hi-end CD-ROM drives and losslessly compress the WAV) utilizing FLAC (WMAL produces smaller files in comparison, but FLAC is more widely supported by hi-end players) are losing tiny audio pieces comparing to the original CD? No way.

          I’m done arguing.

          • Komeil, we’re not arguing. Especially since we agree on Apple. 🙂 I know nothing is lost from WAV to lossless codecs. I’m saying certain things are lost in the CDA<>PCM process that Fraunhofer has been working 25+ years to replace.

    • Thanks, but I think it’s not working properly, since you don’t have to check for errors (if errorlevel 1) after reg delete command as it’s probable not to have all those keys present. I’m pretty busy right now, but I’m going to fix the CMD file later.

  7. For Win7x64 another registry entry needs to to be updated.

    After applying your patch I was still getting the odd EventID 3002 error message, specifically when I RDP into the Win7x64 machine from an XP32 machine. Further research I found the following change is also required for a full clean-up.

    In the following key:
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Drivers32

    Change the “msacm.l3acm” entry
    from: “C:\Windows\SysWOW64\l3codeca.acm”
    to: “C:\Windows\SysWOW64\l3codecp.acm”


  8. Hello dear friend Komeil,

    I am using Win 7 64 and have run your program as administrator, I am also using Acronis Try and Decide so I can undo any changes I don’t want on the HD. Each time I have run your nice program it says it completed successfully, yet when I open my :Audiograbber v1.83: and look at the selection of codecs nothing has changed. I have also rebooted thinking maybe that was the trouble but it wasn’t. I know that registry entries are instant and don’t need a reboot. But what the heck it’s worth a try.

    I am successfully using the Fraunhofer codec in Win XP Pro and have for many years. It appears in the list of codecs I can use in Audiograbber.

    Can you tell me what you think might be the trouble?

    Thank you very much I appreciate what you have done! I have screen shots of the Fraunhofer codec being listed in the Audiograbber running on XP if you’d like to see them.

    • Hi,

      Audiograbber is a 32-bit application naturally requiring 32-bit libraries. The ripping process (CD-DA PCM → WAV) is inbuilt, but having it run on a 64-bit Windows, encoding media (WAV → MP3) is a case of WoW64 (Windows on Windows 64) ACM (Audio Compression Manger) dependency.

      Download the patch again and see if it works. The new Revision 4 (of July 4, 2013) supports WoW64.

      Enjoy and happy 4th of July to all Americans!

      • Hello Komeil,

        I am sorry to report that I downloaded your latest cmd program and ran it as administrator on my Win 7 64 system trying to get the codecs to appear in Audiograbber.

        I ran the patch twice and each time it showed success. When I run regedit I see that the keys you’d like to be changed are still the same as they were.

        IE: All the keys under “Other Registry Keys to Check Just in Case” are all still in place as you list them.

        Am I understanding that I can change my keys to what you want using the ” Fixing It Yourself” lines?

        I hate to make registry changes on my own I like the idea of YOU making a nice program that allows it to be done automatically!

        So right now I haven’t changed anything even though the program indicates I did!

        Thank you again for your hard work!

        J Tinsby

        • 1. The recent CMD patch file (Rev 4 of 7/4/2013) checks for being run as admin and throws an error if there’s a problem with that. So that’s not the case here. If it doesn’t display an error message, then you’re fine with that.
          2. The recent patch should display at least two sets of two (a total of 4) “The operation completed successfully” and NO error messages in x64 systems, and then wait for your “any” key. Anything other than that and there’s something wrong.
          3. Check to see if both C:\Windows\System32\l3codecp.acm (178 kB) and C:\Windows\SysWOW64\l3codecp.acm (215 kB) do exist. Note the sizes.
          4. The part I mentioned BEFORE “Other Registry Keys to Check Just in Case” is important, not the part itself. Try checking both native (x64 in your case) and WoW64 keys. On an x64 system, the 32-bit Audiograbber depends on WoW64-based codecs.
          5. The “Other Registry Keys to Check Just in Case” is not to be changed, removed, or even investigated. As its title suggests, it’s not necessary to check, and most importantly, the patch does not patch there. In your case, it’s not important at all.
          6. To make sure, I downloaded, installed, and opened Audiograbber 1.83 Special Edition. Fraunhofer IIS MPEG Audio Layer-3 Codec (professional) is on the list.

          • Dear Friend Komeil.

            Thank you very much for all your efforts to help me.

            I must say that when I right click your .cmd program and choose Run as Admin then click the program, the DOS box comes and goes so fast that I cannot read anything in it! It seemed that at one time it went slowly so I could read what was being indicated, now I cannot do that.

            Sorry I misunderstood your directions about changing the registry! Good thing I had the sense to ask you about it.

            I too am running Audi grabber 1.83 SE I didn’t re-install it but I can do very easily. You should note that I have disabled my virus scanner when I run your program, even though it made no difference.

            I will do as you suggest in Part $ above and see what I find there.

            I think you would agree that once the codecs are enabled Audiograbber should see them immediately. Or should I simply re-install AG 1.83 SE and maybe everything is fine and I don’t know it?

            Regards and thanks again,

            J Tinsby

          • Hello again Komeil,
            First I removed and re-installed AG SE to no avail, the Fraunhofer’s aren’t listed as yet.
            Following your directions above I was able to find that I find all the OLD HKLM Software keys including those needed for WoW64 are all in place and have not been changed to the Professional ones.

            I will backup the registry and make the changes manually as you describe them. I don’t know what else to do at this point.

            Thank you as always,

            J Tinsby

          • Komeil,

            I am happy to report that I WAS able to get your program to work in Win 7 64! Now I can use the Fraunhofer codecs in AudioGrabber if I need to.

            Many thanks for your work!

            J Tinsby

  9. Hi,
    I have different type of music file, I need to calculate music duration and i need to play. So can you suggest me.
    I have to use wav, wma, aiff, mp3, mp4 file name. So i need to calculate total music duration and play the song. But currently i am capable to calculate music duration and play music only mp3.
    Please help me.

  10. The Fraunhofer decoding is far too bass heavy/muddy sounding. Am I the only true audiophile in this ENTIRE thread? I ran your script successfully on both a Windows XP PC and also on a PC with Windows 7. It made all my MP3’s sound awful.

    So I disabled the Fraunhofer codec in XP in device manager, and wow, what a major improvement in sound quality. But how do I undo the damage in Windows 7?

  11. Hello,

    I ran this after someone on the spotify forum adviced me to run it because my mp3 local files wouldnt keep op playing after the previous song had finished. It always gave me an error that there is a problem with the codecs.. So i ran this fix.. And now spotify just WON’T play mp3’s anymore, even Fruity Loops can’t open mp3’s anymore.. Is there a way to reset everything back to original and restarting? Or any insight of what went wrong?

  12. Hello ,I downloaded the switch sound file converter and use the chortkeh as administrator but it doesn’t work,can you help me please,sorry but my english is not so good I use windows 10 greetings Marina

    • Hi. Switch Sound File Converter (by NCH Software) uses its own MP3 encoder located at C:\Program Files (x86)\NCH Software\Components\mp3el\mp3enc.exe. It doesn’t rely on ACM codecs (like Fraunhofer MP3 encoder), so there’s no point in enabling Fraunhofer IIS MPEG Layer-3 Codec (Professional) in Windows 10 for this purpose. Moreover, uninstalling Switch Sound File Converter does not undo the huge amount of changes it did to your system registry (known as installation footprint). Use dBpoweramp instead.

  13. Thanks a lot, I finally manage to enable this codec!
    Just one thing: I had to change the registry by myself, as your cmd fix didn’t change the key for the “native fix”.

    Again, thanks a lot! 🙂

  14. rus: Отличная работа! Windows 10 pro x64, sony vegas pro 64 bit теперь работает MP3 кодек. Несколько секунд и вуа-ля! Спасибо Komeil!!!! Нужное дело делаете товарищ!
    eng: Great job! Windows 10 pro x64, sony vegas pro 64 bit is now working MP3 codec. A few seconds and voilà! Thank You Komeil!!!! The right thing to do, Comrade!

  15. Thank you SO much for THE FIX. I spent several hours trying to fix MP3-CD playback in Kega Fusion emulator on Windows 7 x64. Finally it works as intended. I’m so happy because of your great work!

  16. I’m curious which one is correct?

    In the section called “Fixing by Yourself”
    The instructions say “with data of “Fraunhofer IIS MPEG Layer-3 Codec (professional)”.

    But in the chortkeh-fix-mp3-codec.cmd patch version, it modifies the registry with the value “Fraunhofer IIS MPEG Audio Layer-3 Codec (professional)”

    Look closely and see the “Fixing by Yourself” version has the word “Audio” and the Patch version value doesn’t. I’m guessing this is just a label that shows up when selecting the codec so it probably doesn’t matter. But it is inconsistent right now… Does it work the same?

  17. Hello, Komeil. I’ve got one issue on Windows 10 professional. Your CMD worked fine. I installed CDex 3.91. When I encode at 320 kbps the FHG encoder produces stuttering. Using 320 kbps low quality causes just stuttering, at high quality the encoder produces a horrible sound. How can I solve this problem? Is it a bug in windows 10, CDex or in your CMD file? Thanks in advance.
    Wishing you the best,

    • Don’t know about CDex, but the solution works with other ripping/encoding programs on Windows 10 build 1703. One thing to check is to see if you’re selecting the right codec Fraunhofer IIS MPEG Audio Layer-3 Codec (professional) on the list. Anything other than that and you’re not using what you had to.

Leave a Reply

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