<?xml version="1.0"?>
<entry xmlns="http://www.w3.org/2005/Atom"><title>Free MP3 Encoding on Windows Media Player XP</title><author><name>Matt Read</name></author><link rel="alternate" href="https://mattread.com/free-mp3-encoding-wmp"/><link rel="edit" href="https://mattread.com/free-mp3-encoding-wmp/atom"/><id>http://www.mattread.com/archives/2004/03/free-mp3-encoding-wmp/</id><updated>2007-06-09T04:51:19-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-10-09T14:14:07-04:00</app:edited><published>2004-03-04T21:04:22-05:00</published><category term="articles"/><content type="html">&lt;p&gt;The information in this article applies only to: Microsoft Windows Media Player for Windows XP &lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Windows Media Player for Windows XP has MP3 encoding plug-in support. To enable the Windows Media Player to encode MP3 files, you must download and install a compatible MP3 encoder. Windows Media Player supports only Audio Compression Manager (ACM) functions to communicate with the MP3 encoders. Therefore, the codec must be an ACM codec. I use the Fraunhaufer Pro ACM MP3 Codec. you can get it, like all other files, from my site.&lt;!--more--&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;MP3 Compression Only. Windows Media Player for Windows XP supports only plugging in an MP3 encoder. Using any other compression creates invalid MP3 files. Therefore, the only compression support that is provided by the codec is for MP3. The codec accept only raw data and output-compressed data. &lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Windows does already come with the Fraunhaufer Standard ACM MP3 Codec (L3CODECA.ACM) but it only supports very low bitrates, unacceptable for music. So get the good one from my site.&lt;/p&gt;&#xD;
&#xD;
&lt;h3&gt;Installation &lt;/h3&gt;&#xD;
&#xD;
&lt;p&gt;Thanks to &lt;a href="http://www.impactmediaworks.com/"&gt;Justin Leoni&lt;/a&gt; there is now an &lt;a href="http://www.impactmediaworks.com/files/imp3-setup.exe"&gt;installer&lt;/a&gt; that does all the work for you. Or, to do it the manual way, continue reading.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;All you need to do after obtaining the ACM Codec is to copy your Preferred Codec (L3CODECP.ACM, LAMEACM.ACM, etc.) to the windows system32 directory, &#x201C;c:/windows/system32/&#x201D;. Thats the simple part, but don't worry the rest is easy. Now we edit that registry.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;You must have administrator rights on the computer to change any of the registry settings. But before we do that we need to know a few things. &lt;/p&gt;&#xD;
&#xD;
&lt;h3&gt;A Few things about MP3&lt;/h3&gt;&#xD;
&#xD;
&lt;p&gt;Every MP3 files has two settings, the Bit Rate and The Sample Rate.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;The Bit Rate is measured in kilobytes per second (KBps). Everyone who has heard of MP3's knows about this. Higher quality music has higher bit rates. eg. most MP3's on the internet are encoded at 96 - 128 kBps, this is lower quality but has quite small file sizes and is good for sharing over the internet. Higher quality MP3's generally use 192 kBps, This is what I like because it gives a good balance between quality and size. And those audiophiles amongst us use 256 kBps or higher.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;The second Thing is the Sample Rate. This is the frequency at which the music is recorded. I'm no audio engineer but the higher this value is, the more "analog-like" (better) your music will be. CD's are recorded at 44.1 Kilohertz (kHz) (1kHz = 1000 cycles/second). Music off of your DVD Movies is recorded at 48 kHz. And the new DVD Audio is encoded at 96 kHz, and in my opinion sounds just as good as a high quality vinyl record.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Now that we know this lets make a few decisions. If we set our Codec Settings for 96 kHz, it sounds cool, but is a wast since we are using lossy compression and CD's are at best recorded at 44.1 kHz. So our first decision is to use a sample rate of 48 kHz. You say, why not 44.1, well, why not 48. Not much difference there.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Our second decision is to choose FOUR bitrates. Windows Media Player XP only supports four different bitrates. I find that the good choice here is 96, 128, 192, and 256 kBps. You'll probably only use one, so just pick what you like best, then pick one higher and one lower. You'll have to play around here to find out what your codec supports. As I say though, I know the Fraunhaufer supports 128, 192, and 256 kBps @ 48 kHz, it gives a good range.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Also note the following:&lt;/p&gt;&#xD;
&lt;ol&gt;&#xD;
  &lt;li&gt;1 kHz = 1000 Hz&lt;/li&gt;&#xD;
  &lt;li&gt;1 kBps = 1000 Bps&lt;/li&gt;&#xD;
&lt;/ol&gt;&#xD;
&#xD;
&lt;h3&gt;Editing the Registry&lt;/h3&gt;&#xD;
&#xD;
&lt;p class="warning"&gt;&lt;strong&gt;WARNING:&lt;/strong&gt; If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk. Blah, Blah, Blah, Lets Hack...&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;The following registry key should be created:&lt;/p&gt;&#xD;
&#xD;
&lt;pre&gt;&lt;code&gt;HKEY_LOCAL_MACHINE/Software/Microsoft/MediaPlayer/Settings/MP3Encoding&lt;/code&gt;&lt;/pre&gt;&#xD;
&#xD;
&lt;p&gt;The following values may be set:&lt;/p&gt;&#xD;
&#xD;
&lt;pre&gt;&lt;code&gt; DWORD value: LowRate (datarate)&#xD;
 DWORD value: LowRateSample (Sample)&#xD;
 DWORD value: MediumRate (datarate)&#xD;
 DWORD value: MediumRateSample (Sample)&#xD;
 DWORD value: MediumHighRate (datarate)&#xD;
 DWORD value: MediumHighRateSample (Sample)&#xD;
 DWORD value: HighRate (datarate)&#xD;
 DWORD value: HighRateSample (Sample)&#xD;
 String: PreferredCodecName (codec name)&#xD;
 String: PreferredCodecPath (codec path)&lt;/code&gt;&lt;/pre&gt;&#xD;
&#xD;
&lt;p&gt;Don't worry I'll walk you through it. First we need to start the registry editor. Just go the the Start Menu, click Run, the type "regedit" and click enter.&lt;/p&gt;&#xD;
&#xD;
&lt;h4&gt;Creating The Key&lt;/h4&gt;&#xD;
&lt;p&gt;Now navigate to &lt;code&gt;HKEY_LOCAL_MACHINE/Software/Microsoft/MediaPlayer/Settings&lt;/code&gt;, just like exploring your folders, and create a new key in that folder called "MP3Encoding". To create a new key click on the settings folder then go, Edit -&gt; new -&gt; key, and name it "MP3Encoding".&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;img src="/user/files/Freemp3_key.jpg" class="center"&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;h4&gt;Creating The DWORD Values&lt;/h4&gt;&#xD;
&lt;p&gt;Now open the folder "MP3Encoding" and create a "DWORD value" named "LowRate". Create it the same way as the "key" but go, Edit -&gt; new -&gt; DWORD value. Also create a "DWORD value" named LowRateSample the same way. &lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;img src="/user/files/Freemp3_dword.jpg" class="center"&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;div&gt;&lt;figure&gt;&lt;img src="/user/files/Freemp3_both.jpg" class="center"&gt;&lt;figcaption&gt;both are entered&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&#xD;
&#xD;
&lt;p&gt;Now Double Click on the LowRate DWORD value, and set the value data to the lowest bit rate you selected earlier. ie. if you chose 96 kBps then enter 96000 in value data. Everything you enter is in terms of Bps. And enter it as a Decimal NOT Hexadecimal.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;img src="/user/files/Freemp3_rate.jpg" class="center"&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Now repeat the same process for the "LowRateSample" using 48000 as your value data. Everything you enter is in terms of Hz. And again as a Decimal NOT Hexadecimal.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;img src="/user/files/Freemp3_sample.jpg" class="center"&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Now repeat the same for MediumRate, MediumRateSample, MediumHighRate, MediumHighRateSample, HighRate and HighRateSample.&lt;/p&gt;&#xD;
&#xD;
&lt;h4&gt;Creating The Strings&lt;/h4&gt;&#xD;
&lt;p&gt;Now you have to create two strings "PreferredCodecName" and "PreferredCodecPath". You should know how to create a string now, same as DWORD but choose string. The PreferredCodecName is the name of the encoder that will show on Windows Media Player. You use what ever you want. The PreferredCodecPath must be set to "C:\\WINDOWS\\system32\\L3CODECP.ACM", or what ever the filename of your codec is.&lt;/p&gt;&#xD;
&#xD;
&lt;div&gt;&lt;figure&gt;&lt;img src="/user/files/Freemp3_done.jpg" class="center"&gt;&lt;figcaption&gt;you should have something like this when your done&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;&#xD;
&#xD;
&lt;p class="note"&gt;&lt;strong&gt;Note &lt;/strong&gt;that the value for PreferredCodec is limited to 255 characters. The PreferredCodecPath key must contain the fully-qualified path to the location of the codec as well as the file name of the codec. &lt;/p&gt;&#xD;
&#xD;
&lt;h3&gt;Finally&lt;/h3&gt;&#xD;
&#xD;
&lt;p&gt;Just go in to the Windows Media Player options, were you are able to choose the encoder (ie. WMA Losless ... ), and you should see your new encoder there with the bitrate settings your setup earlier.&lt;/p&gt;&#xD;
&#xD;
&lt;ul class="download"&gt;&#xD;
&lt;li&gt;&lt;a href="/user/files/l3codecp.zip"&gt;L3CODECP &lt;i class="icon-box-add"&gt;&lt;/i&gt;&lt;/a&gt; &lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
</content></entry>
