|LateNightHacking Projects 2002||Auth|
2002-02-22 : I really like the game "Spyro The Dragon". After (mostly) beating it last weekend, I still had the music playing in my head, so I though it would be a lot of fun to have that music in my MP3 collection.
I had friends who used to copy PSX games off the net and play them, so I knew the games were in CD format and sometimes had CD-Audio tracks. I put my game in the drive to see if that was the case. Here's the directory structure:
Next I began searching the net to see if I could find any utilities. I knew that people are always trying to copy the games and play the cut-scene movies, so there must be tools out there.
It took a while, but I found a few. Most of the information was about how to copy PSX games, not how to extract multi-media files from them. I found some tools for extracting movies and audio, but must of them had no documentation and poor command line help. None of them seemed to work. They seemed to want MSCDEX, which is a Win9x component, and I'm running XP so it didn't look good.
I did figure out that the soundtracks are stored in a different formate from the game sound effects. The tracks are in XA format, often located in .str files. My game definitely had some of those types of files, so I just needed to get the data out of those files.
I finally found an app that was supposed to play XA files. It complained about not being able to load the ASPI dlls. So I went searching for them. I found a site that had a test program to tell you if you had the dlls (I didn't) and a batch file that could install them and remove them for you. I installed the drivers, and the player worked like a charm. Not the most stable, but it played that unmistakable music. :)
I found the option to save as .wav, and extracted all the files, then compressed them to MP3s. I usually use BladeEnc, but it didn't like the sampling rate of the .wav's, so I tried LAME and it worked like a charm.
I also pretty quickly discovered that there were some duplicates, so that would save some disk space. I decided to just visit the different worlds and identify the soundtrack that went with each one, and see if I could identify any pattern in the numbering.
|0_1||Artisans - Home|
|0_2||Beast Makers - Wild Flight|
|0_3||Artisans - Stone Hill|
|0_4||Peace Keepers - Dry Canyon|
|0_5||Dream Weavers - Haunted Towers|
|0_6||Gnasty's World - Gnork Cove|
|0_7||Artisans - Sunny Flight|
|0_8||Beast Makers - Terrace Village|
|1_1||Peace Keepers - Doctor Shemp|
|1_2||Magic Crafters - Wizard Peak||(similar to 4_8)|
|1_3||Dream Weavers - Icy Flight|
|1_4||Peace Keepers - Night Flight|
|1_5||Dream Weavers - Dark Passage|
|1_6||Peace Keepers - Ice Cavern|
|1_7||Dream Weavers - Lofty Castle|
|1_8||Beast Makers - Home|
|2_1||Magic Crafters - Blowhard|
|2_2||Peace Keepers - Home|
|2_3||Magic Crafters - Crystal Flight|
|2_4||Gnasty's World - Gnasty's Loot|
|2_6||Beast Makers - Misty Bog|
|2_7||Magic Crafters - Alpine Ridge|
|2_8||Beast Makers - Metalhead|
|3_1||Gnasty's World - Twilight Harbor|
|3_2||Gnasty's World - Gnasy Gnork|
|3_3||Artisans - Town Square|
|3_4||Peace Keepers - Cliff Town|
|3_5||Dream Weavers - Jacques||(has noise)|
|3_6||Beast Makers - Tree Tops|
|3_7||Artisans - Dark Hollow||(vaguely similar to 2_6)|
|3_8||Magic Crafters - Home|
|4_1||same as 3_7|
|4_2||Artisans - Toasty; Gnasty's World - Gnork Gnexus|
|4_3||Dream Weavers - Home|
|4_4||same as 4_3|
|4_5||End Credits||(similar to 2_6)|
|4_6||General 1||(vaguely similar to 2_7)|
|4_7||General 2||(vaguely similar to 1_1)|
|4_8||General 3||(similar to 1_2)|
|5_1||Magic Crafters - High Caves|
|5_3||same as 4_5|
|5_4||bitwise same as 4_6|
|5_5||bitwise same as 4_7|
|5_6||bitwise same as 4_8|
|5_7||bitwise same as 5_1|
|5_8||bitwise same as 5_2|
Some of the files seem to have noise (pops) in them. I'm not sure which codec is at fault, though I suspect the XA decoder. 3_5 is the worst, with a barrage at the beginning, while the other few tracks that are affected only have one or two pops. Interestingly enough, my Microsoft digital speakers mask the pops almost completely.
I was able to identify which track went with each level rather easily, though I didn't come up with a pattern. There were four tracks left over. I'm sure I've heard these during the game. I suspect these are played after the initial song for a level is complete, either at random or depending on where you are in the level. I first really noticed this on Haunted Towers, which later played a track (5_2?) so different from the main track (0_5) that I couldn't help but notice.
(2002-03-16) I finished the game (yay!) and finished identifiying the tracks.
The ones that I have marked as being the same were so similar I couldn't hear any difference so I just deleted them. Now I've got 40 songs from the game to add to my music collection!
(2002-11-09) Thanks, Pamela, for the Spyro picture (which I put at the top). It's funny, I get more e-mail about this page than anything else on my site. :)
(2003-07-09) Here are some interesting comments I received from Austin Taft:
Concerning the 4 extra tracks, I have a few bits of info on those:
Lastly, I came across this tracklisting on the internet:
|Spyro the Dragon (Main Title Screen)||Alpine Ridge|
|Intro: The Adventure Begins||Wizard Peak|
|The Artisan World||Confronting Blowhard|
|Town Square #1||Beast Makers World|
|Town Square #2||Terrace Village|
|Stone Hill||Misty Bog|
|Dark Hollow #1||Confronting Metalhead|
|Dark Hollow #2||Dream Weavers World|
|Confronting Toasty||Haunted Towers|
|Peace Keepers World||Dark Passage|
|Ice Cavern #1||Lofty Castle|
|Ice Cavern #2||Gnorc Cove|
|Doctor Shemp||Twilight Harbor|
|Dry Canyon #1||Confronting Gnasty Gnork|
|Dry Canyon #2||Spyro Triumphant|
|Dry Canyon #3||End Titles (reprise)|
|Magic Crafters World|
LOL! I never thought to check the track lengths. That's pretty funny.
The track list is also very interesting! After receiving Austin's message, I did a search and found that track list on a Sting fan site and on another page that suggests that a CD with these tracks is available in Europe. (If anyone has info on that CD, I'd be very interested in hearing about it!) I agree, the track listing is odd compared to what is actually in the game. My guess is that the music was first composed to produce the tracks on the CD, then remixed a bit as it was added to the game. Or maybe the CD tracks were remixed based upon the music in the game. I think this is pretty common. For example, if you look at the Star Wars soundtracks, they don't match exactly what is in the final movie. Music from different sections of the movie is sometimes even put together in one track. Also, I've seen "image albums" for anime movies, which contain music that was composed early in the process to serve as inspiration and guidance for the rest of the movie development.
(2004-05-20) Here are some interesting comments I received from Daniel Mickey:
I never noticed why I was playing the game, but that would sure explain things. :)
(2005-12-09) Here are some comments from Spencer Riedel:
(2005-12-11) Here are some comments from Yatpay:
I downloaded some MP3s of the soundtracks of all three games from the 'net, a couple of years ago; I don't even remember what site it was, but goodness knows it's probably gone now. The soundtrack for Spyro 1 I got had only 41 files, and were mostly unidentified. Your page here is a big improvement.
As for the person who says it plays "too fast": that's because the WAV files have a funny format. Most WAV files are 44,100 samples per second. The Spyro WAV files are usually 37,800 samples per second. If your computer was confused and thought "well, it's a WAV file, must be 44,100", it would play slightly fast, and the pitch would be slightly higher.
It gets weirder. On Spyro 2 and 3, they stored the music and the speech samples in an extractable form, and the speech is at half the rate of the music: 18,900 samples per second. And it's mono to boot! Which makes sense; speech isn't nearly as rich as music, so it doesn't need a very high bit rate to sound good. There's also no point having a person's voice be in stereo.
And, yes, I'm ripping all three games. But not to MP3--to FLAC. It's like MP3, but lossless, so it'll sound just as good as the originals. (See http://flac.sf.net/ for more information.)
Here are the track titles from my downloaded version
of the Spyro 2 soundtrack. The list below is in alphabetical order (only
two tracks were numbered; #1 was "Gateway to Glimmer Forest" and #2 was "Summer Forest"):
Clash with Crush!
? (unknown, related to Crystal Glacier?)
Dance a Hula!!!
Dem Dancin' Bones!
Gateway to Glimmer Forest
Grab the Crystal Popcorn!
Harbor Trolley Trouble!
Let's Play Hockey!
Save the Cavemen!
...Save Them Again!!!
? (Shady Oasis)
Track Agent Zero!
Here are the titles I have for Spyro 3, and happily these were numbered:
1. Opening Theme
Note that it's possible some of those names are my own doing. I don't remember anymore.
2. Sunrise Spring Home
3. Sunny Villa
4. Cloud Spires
5. The Cloud Wakes
6. Molten Crater
7. Seashell Shore
8. The Speedway Theme
9. Sheila's Alp
10. Buzz's Dungeon
11. Midday Gardens Home
12. Icy Peak
13. Enchanted Towers
14. Spooky Swamp
15. Bamboo Terrace
16. Spike's Arena
17. Frozen Altars
18. Lost Fleet
19. Fireworks Factory
20. Charmed Ridge
21. Bentley's Outpost
22. Scorch's Pit
23. Midnight Mountain Home
24. Desert Ruins
25. Agent 9's Lab
26. Unknown Track 1
27. Unknown Track 2
28. Unknown Track 3
Hope this helps,
Sure would be nice if PSXMc did a better job; I emailed the author (I think) but I doubt anything will come of it. I'll probably wind up cutting up the PSMPlay .WAV files for the music, and preserving what I have of the speech tracks from PSXMc.
It includes a special tool that is particularly good at extracting the music and speech data from Spyro 2 and 3.
He has thirteen tracks, listed under what are apparently his original names. All are in the game; twelve of them are extractable from the Spyro CD. The remaining track is track 7, "Orbit". It's been a bit since I played Spyro, but I'm pretty sure that's the opening screen music, the music you hear as you load your save game from the "main menu". And yes, as I just noticed myself, it's not extractable (or at least not yet).
Here's the list of tracks, in his order and with his names; I've put the levels they map to after each.
1. Breather - Tree Tops
2. Rain - Confronting Jacques
3. Frog - Wizard Peak
4. Squid - Confronting Metalhead
5. Stoat - Dream Weavers World
6. Grant - Gnork Cove
7. Orbit - Main Menu
8. Louis - Confronting Blowhard
9. Scary_Flyer - Ice Cavern
10. Five - Dark Hollow
11. Potato - Lofty Castle
12. Tiger - Icy Flight
13. Avacado - Dark Passage
And yes, that's how he spelled "avocado".
Since my last update, I've found seven new tracks for Spyro 1, three new tracks for Spyro 2, and three new tracks for (I think) Spyro 3. There's so much information, I've written a huge new blog entry:
I hope you'll check it out, each and every one of ya. But in case you don't go there,
at least go listen to the fourteen Spyro tracks posted by Stewart Copeland
on his web site:
and go watch this YouTube video of an old interview with Stewart Copeland on the making of
the Spyro 1 soundtracks:
I also got copies of the Japanese releases of the first two Spyro games. (They didn't release the third game over there.) Those didn't have any audio I hadn't heard before.
And finally, the Stewart Copeland organization put up "Spyro Rank Two", with more Spyro music, and three of the tracks didn't appear in any of the games. If you're cagey, you can figure out how to download the MP3s themselves. (Hint: use a proxy server.)
So, I can safely say that, second only to Insomniac Games and Stewart Copeland himself, I have arguably the most complete collection of Stewart Copeland's Spyro music on the planet.
Oh, and, regarding those audio pops: the audio is stored in a lossy format (Sony ADPCM), which can introduce noise. It might be the result of a sloppy encoding. But, regardless, it is in the source data, and little can be done about it. At least the soundtrack CD is crystal-clear.
Anyway, I downloaded PSX Multi Converter and tried to convert the files. In fact, all that came out was some sort of noise. So I decided to try to analyze it instead. Using the .STR converter did not actually make any difference, but the XA Converter made the files both readable and understandable!
(Just if anyone's on my side of the world and not gotten it to work...)
Nice site anyway, keep up the good work...
|Louis K. Thomas <loui sth@hotm ail.co m>||Auth||2007-01-12 (3968 days ago)|