Yes, I'm aware that there's iTunes for Windows. This, however, doesn't require you to download twenty megabytes of installer just to encode and listen to music. You also can't encode VBR with iTunes.

So, one of your shiftless friends has gone and bought themselves a Mac and an iPod. Because it's a rather new iPod, and supports MPEG-4 AAC format music files, they've decided to convert their entire music collection to it. And, because you're such a wonderful and dutiful friend (but mostly because they'll complain if you don't), you've decided to send them some (completely legal, of course) music encoded in this great new format. The problem, of course, is that you have no idea how to do it. MP3, Ogg Vorbis, WMA... encoders for those are a dime a dozen on any platform. After a few months of careful web searching, forum browsing, experimentation, late nights, and the occasional candle-lit chicken sacrifice, I've come up with a fairly foolproof method that will produce a file that your friend will be able to play.

You'll need:

You might want:

  • The in_mp4 plugin for Winamp2/5 (http://www.saunalahti.fi/cse/files/in_mp4.zip)
  • richard123's tagger with UTF support (http://users.rcn.com/rpritz/tgutf.zip)

Right! I'll assume that you've installed and set up CDEX to do things like call FreeDB to get track names 4, and where to put the encoded files 5, and so forth. The first thing you'll want to do is create a folder called "PsytelAAC" under your CDEX directory (probably c:\program files\cdex\). Done that? Great! Now:

  1. Open up the aacenc_v215.zip file, and extract the aacenc.exe file to the directory you just created.
  2. Open up the ia32math.zip file and extract ia32math.dll into the same directory.
  3. Open up the MPEG4IP.Server.Utils-1.0.zip file and extract the mp4creator60.exe file into the same directory. If it ends up in a subdirectory, take it out and put it into the right one.
  4. Extract tg030910exe.zip into the same directory as above.

Next you'll need to create the batch file that'll do all the nasty encoding and converting for you. The script is below; start copying where it says "start", stop where it says "stop", paste it into notepad, and save it as encode.bat under the directory you just unzipped all that stuff into.

rem --- START COPYING HERE ---

@echo off

set encoder="c:\progra~1\cdex\psytelaac\aacenc.exe"
set converter="c:\progra~1\cdex\psytelaac\mp4creator60.exe"
set tagger="c:\progra~1\cdex\psytelaac\tg.exe"

set infile=%1
set outfile=%2
set tempfile=%3
set bitrate=%4
set artist=%5
set album=%6
set track=%7
set genre=%8
set year=%9
shift
set tracknum=%9
shift
set totals=%9

%encoder% -br %bitrate% -if %infile% -of %tempfile%
%converter% -aac-profile=4 -optimize -create=%tempfile% %outfile%

del %tempfile%

%tagger% %outfile% --artist %artist% --album %album% --title %track%
%tagger% %outfile% --year %year% --genre %genre%
%tagger% %outfile% --track %tracknum% --total %totals%
%tagger% %outfile% --tool "CDex / Psytel AAC / MP4creator / TG"

rem --- STOP COPYING HERE ---

If you want to encode into VBR you can just put the switch -vbrhi somewhere in the line that calls the encoder. The files should turn out with a bitrate somewhere in the range of what the Lame MP3 encoder's r3mix option would produce.

Next is the fun part, and when I say "fun", I mean "configuration".

  1. Open up CDEX's configuration options and select the "Generic" tab. Set the "ID3 tag version" to "none" - this is so CDEX doesn't go and mess the file up by adding incompatible (and redundant) tags after the encoding process.
  2. Select the "Encoder" tab, and set the encoder dropdown list to "external encoder".
  3. Select the "..." under "encoder path", and type c:\progra~1\cdex\psytelaac\encode.bat into the open dialog that appears. It seems that the encoding process won't work if you put a space in the path to the encoder, for some reason.
  4. Put "%1" "%2" "%2.aac" %4 "%a" "%b" "%t" "%g" %y %tn %tt (yes, quotes and all) into the "parameter string" box. This translates out to "input file, output file, temporary file, bitrate in kbs, track information".
  5. Set the bitrate to 128 kbs and the file extension to m4a . You can set it to anything, of course, but 128k is a nice sane rate, and also roughly the aural equivalent of a 192k MP3 file.
  6. Make sure "on the fly encoding" isn't selected. This is of the utmost importance.
  7. Hit "ok".

If all has gone well, you should be able to pop a CD in the drive, select some tracks, and hit the encode button. A DOS window should pop up, say something about encoding the file, give you a warning about changing a container type (ignore it), and then quickly scroll through some ID-tagging information. Check the directory you told CDEX to output files in to see if they're really there, and if you want, install the Winamp plugin so you can play the tracks. Don't try to change the tags in Winamp unless you want the file to be mysteriously corrupted and rendered unplayable, though (possibly fixed in whatever the latest version of Winamp is. I haven't used it for about a year now, so I have no idea.).

Yay! Now you can send your Mac-enabled friends music in a format that they probably won't complain about. It's also quite a good format to encode stuff for yourself in, being fairly high quality with a small file size and everything.


1 It'll probably also work for EAC, as long as you translate the string of variables sent to the encoder properly. And the paths in the batch file, obviously.

2 You can also use the Psytel "fast" encoder (http://pessoal.onda.com.br/rjamorim/psytfast.zip) if you want. It'll encode at about twice the speed of the original version, but at the loss of some sound quality. Don't forget to change the reference to the file name if you're going to use it.

3 This doesn't seem to come with AACenc any more, which stumped me when I was redoing this on my PC - for an hour and a half, damnit.

4 To do this, go into CDEX's options screen, click the "remote CDDB" tab, and fill in your email address in the "email address" box. It's kind of like anonymous FTP in the sense that you need to tell it that you're somebody before it'll let you in. To retrieve info on the CD you've currently got in the drive, either press the CDDB button on the toolbar (the magnifying glass/CD icon) or select "Read from remote CDDB" from the CDDB menu.

5 To change the directory where encoded files will be placed, select the "Filenames" tab in CDEX's options screen and click the "..." next to "wav -> mp3" and "recorded tracks", and set them both to a convenient directory for you (I'd suggest using your desktop folder). You can also change the names (and directory structure) the encoded files end up with by changing the variables in the "filename format" box (click the "?" button for a description). The One True MP3 Filename Format node has some good suggestions a lot less information than it used to, but there's still some useful tips, and CDEX's default in this case is quite acceptable. I prefer using the string %1\%Y - %2\%7 - %4, myself (this roughly translates out to "Artist\Year - Album title\Track number - Song name").

Log in or register to write something here or to contact authors.