Turning MOD:s to MP3
[Edit] Found a better method! Both work but I recommend the latter.
For me “Amiga” is as much a culture as a computer series and design philosophy. This includes its most popular games, the demo scene and, of course, its music! Being able to play 8 bit sound in 4 channels was unheard of in a personal computer in 1985. The years passed and when Commodore went belly up in 1994 they hadn’t changed the design at all for 9 whole years. This can either be proof of how cheap they where; not investing in its computer line. Or it can be proof that this was still in the early 90’s pretty darn good for a personal computer. I think both statements are equally true.
Today I’m pretty happy they didn’t change the design. OK, if Commodore had survived and still produced the Amiga they would have had to up the hardware and given the computer a true 16 bit, 32 channel sound chip. It would have kept it competable but the Amiga would have also lost that certain sound so much associated with the Amiga. The sound of a really good module! The limitations is thus what makes the Amiga sound what it is and I still listens to them: some 25 years after hearing the very first one.
Of course, as times went by other technologies took the spotlight and now we have MP3 and pocket music players. And they can not *surprise surprise* play modules. If we want to play our favourite songs in our pocket players we simply have to transform our MOD:s to MP3:s.
First we need some modules. I want to recommend the Mods Anthology that comes as a 4 CD collection. That’s a hell of a lot of modules, and they have been collected over a period of seven years. Putting personal taste aside, you can at least be sure of that the untold number of crappy songs that do exist isn’t included. You can download the 4 CD:s as ISO files here (it took me about an hour for all four files):
When you are done you can just double click on the ISO and look for a nice module to copy. I found one I liked a lot (note how small in size it is):
Judgement Day by SMT. I want this in my music player so I copied it for convenience to another partition I have named Depot:
In a perfect world we would have a MOD –> MP3 program already but sadly we don’t. So instead we need to turn it into a WAV file first. For that, we use Aminet Radio. You need to download the program either here or via Grunch (using Grunch is highly recommended. Read more about it here). And you also need the additional MOD player that you can download here or via Grunch.
Please do yourself a favour and use Grunch!
Once you have it installed you should be able to play the module like any other MP3 file:
Next, right click on the player and choose Control –> Save audio output as wave:
You can choose in the settings where you want the WAV to be saved (Savers –> Save directory):
If you have the Repeat function on it will keep recording until you uncheck it or click stop. This is a pretty good thing if you have a very short MOD and you want it to loop a couple of times. Otherwise, make sure it’s off.
The song needs to be played from beginning to end which takes us over 7 minutes. Then the song stops (I have repeat off) and we suddenly have a WAV of about 76.5 MB in size. The song will either be named the same as the original file, or if it doesn’t work it will be named just “.wav”. I renamed the file afterwards:
Now we are halfway there. Next we need an encoder. I recommend Lame, which you can read about here (including how to download it). Once you have downloaded and installed it we start a shell (Right click in Ambient –> Ambient –> New shell). We go to where the file is and start writing the Lame command:
I recommend the above command (lame -h wavfile.wav mp3file.mp3) since it gives a good compromise between size and quality (especially considering that modules have pretty low sound quality to begin with). There are plenty of settings to play with though (write lame –help or lame –longhelp to see them. Note that there are two short dashes and not a long one). We are happy with this though so we press enter:
This means we are encoding it into MP3. After a couple of seconds (depending on your hardware) we are done and we now have an MP3 of about 7 MB in size:
And now we are done! Just e-mail it to yourself, use a USB stick or whatever, put it in your portable MP3 player and party like its still 1989!
A note though: some modules doesn’t work that well with Aminet Radio and the WAV file get some odd behavior. In the case of this song, some time at the end the pacing gets messed up which is a shame. Most modules works nicely but not all. So I still hope there will one of these days someone will make a nicely working MOD 2 MP3 converter. Maybe a good project for a beginner Hollywood programmer?
It didn’t take more than 5 minutes before a blog follower enlightened me via IRC of a better method. It’s a little more complicated, but it will give you much better results.
For this you need a program named UADE, which is basically an UAE Amiga emulator with only sound. I use it to play modules but up until now I didn’t know it could convert to other formats. You can download it from here (not via Grunch). Place it where ever you want.
Then you need another program named SoX. This is a sound file converter. You can download it from here (this not via Grunch as well). After you download it, open it and place the file called sox in c:
You also need Lame. If you still don’t got it, go back and read again on how to download and use it.
We will start shell again and go to the UADE drawer. Then we will write:
uade -P players/PTK-Prowiz -M depot:Judgement_Day.mod -outpipe 1 >depot:smt.raw
I choose a new name so we can tell the files apart.
Let’s take a moment to see what PTK-prowiz is. It’s the player used for playing Protracker files. There are a lot of players in the UADE player drawer to choose from since Amiga have a whole lot of music formats. Very useful, but it can also be quite confusing of course.
Now we will have a RAW file. If you try to use Lame here the end result will sound terrible. We need to convert this to a WAV. Write in the same shell:
sox -u -b 16 -r 44100 -c 2 -s depot:smt.raw depot:smt.wav
Now we will have a WAV file. The only thing left is to encode it into MP3 like above:
lame -h depot:smt.wav depot:smt.mp3
Now this drawer should have 6 files:
Even though the first method of converting is simpler, the second one has a much higher chance of giving the correct sound. For this reason alone I must now recommend that you use the second, shell based way.
You learn new something every day!