As per usual, a little bit of intro reading follows: A while back I stumbled upon a couple of PS2 games (or, more accurately, audio software) that I’ve been after for quite a while – Music 3000 and Music Generator 2 by Jester Interactive.
The last time I caught a glimpse of a Music 3000 (from now on let’s just call it M3K) copy was about 10 years ago in a basket of this huge suburbian retail store where I used to go shopping, lost amidst a fuckton of other PS2 titles on sale that had been sitting in the shelves for as long as I can recall;
Not being really keen on the idea of spending another 10 years of my life waiting for M3K to randomly pop right before my eyes, I decided to grab it alongside MG2 (which is roughly the same as M3K but with different samples) and give them a new home. Anyway… After quite a while of fooling around with it on the PS2, it was time to peep the DVD contents.
My goal was to snatch the samples as it contained quite a few interesting ones, including some that have been used on one of my favourite albums of all time – “Projecto Mary Witch” by Allen Halloween. Fun fact: as far as I know, the instrumentals in this album were produced with this software, which sounds like both a huge pain in the ass and a huge accomplishment.
It was the first time that I sniffed around a PS2 DVD and, to my surprise, the samples weren’t just sitting around in a directory. After further sniffing, I noticed that there was a big binary file named DATA.DAT which weighed about 900MB. This got my attention as there was a nice chance of it containing the samples.
Searched the web on how to extract a .DAT from a PS2 game but… no luck since basically each developer has its own way of dealing with binary files, and while there is support to a couple of games, there wasn’t anything available for this one. In fact there’s almost nothing on the web related to this game apart from a bunch of YouTube videos of songs made with it and reviews from 2003, back when it was released.
I took the matter to my own hands and opened the .DAT on a hex viewer.
A good amount of time into reading the file, I stumbled upon .AIFF headers… REJOICE FOR THE UNIVERSE HAS BEEN KIND TO ME!!!1! In all seriousness tho, I was super excited to find out that the file wasn’t compressed in some weird way and that the samples were in fact in that file.
For a test, I copied the binary data that should correspond to a sample to a new file, saved it as an .AIFF, opened my DAW, navigated to its path and there it was – a vocal sample. Woop!
Not being quite done with it, I decided to go on and try to find a way to extract all samples without having the trouble of doing it one by one.
csplit came to mind and after a couple of hours working around the file I was getting samples extracted… with some data behind the actual .AIFF header.
Puzzled by this and not being able to figure it out, I went to stackexchange and someone pointed that csplit splits files by the line in which it finds the provided expression. Past that, the same person also went a step further and hooked me up with a way to do this using awk. Check out the thread here for the actual bash script stuff going on.
After that, I succeeded on extracting all ~4500(!) samples. From observation, luckily they were ordered on the .DAT according to their category and one hour into sorting them I was done.
If you’re interested, check out this post to download them!
João


Leave a comment