Important information: this site is currently scheduled to go offline indefinitely by end of the year.

Final Fantasy: Crystal Chronicles (GC) BGM/WD/WI decoder

Get help on any and all audio formats, or chip in and help others!
Post Reply
BlackFurniture
ultra-n00b
Posts: 1
Joined: Tue Aug 16, 2016 4:53 pm

Final Fantasy: Crystal Chronicles (GC) BGM/WD/WI decoder

Post by BlackFurniture »

Hi! I've been spending some time reverse-engineering the wavetable (WD), instrument info (WI) and sequence (BGM) files for Final Fantasy: Crystal Chronicles.

The file formats are a similar to the PS2 Squaresoft BGM/WD files, but specifically tailored for the GameCube. For example, the endian is different, looping ADPCMs are used, ADSR is done in software, etc. FFCC also has instrument and sample names stored in .wi files, even though they are not actually used in the game.

I discovered that VGMTrans is slightly off, and misses or misinterprets some variables in the data, so my discoveries may be useful for that project (if it's still being maintained?). Reverse-engineering was helped by the fact that a debug symbol map was left in the game data, so I was able to restore some function names.

I have written a BGM/WD/WI to Renoise song converter, which I believe is quite accurate. It maps everything, i.e. song loops, notes, ADSR, and track effects/commands.

Renoise .xrns for every BGM: Download
Converter source: GitHub

The only thing that was difficult to map was the reverb effect parameters, but I think my solution is pretty faithful to the original.

Please let me know if you hear anything odd in the songs. You can listen to them using the free version of Renoise (even though you can't render to files using the demo).

The next step would be to get rid of Renoise and write a custom player in C++/Python/both. I'm not sure if that would be worth my time, but I'd like to know what you think.
a574045075
ultra-n00b
Posts: 6
Joined: Sun May 29, 2011 9:25 am

Re: Final Fantasy: Crystal Chronicles (GC) BGM/WD/WI decoder

Post by a574045075 »

Thank you for sharing, but how to use the audio.py file?
Post Reply