Final Fantasy: Crystal Chronicles (GC) BGM/WD/WI reverse-engineered by BlackFurniture at 12:24 AM EDT on August 16, 2016
Hi everyone
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.
@Delon: Some of BGM MIDI commands don't map very well to standard MIDI. Also, at least in FFCC, you have long acoustic recordings or premixed clips that are turned on using note-ons. You obviously can't convert that to meaningful MIDI.
Generally, I'm not particularly interested in exporting/importing MIDI, or really modding any files.
@hcs, @Nisto: Thanks! I'm currently uploading a render of all the songs to SoundCloud. Will update the thread when it's done.
It also includes audio streams (which were already playable with vgmstream).
I'm still in the process of renaming the tracks, but this should do for now. I'm uploading the raw .wav files as well, and will update the thread when done :)
100 - Departure 101 - Annual Festival 105 - Today, Becoming Tomorrow 106 - Across the Divide 107 - The First Town 109 - Magii is Everything (sans opening) 111 - Monster's Dance ~Rondo~ 112 - I'm Moogle 113 - Make a Resolution 115 - Goblin's Lair 118 - To the Successor of the Crystal 120 - Sleeping Treasure in the Sand 121 - Orgel of Water 123 - Mag Mail 131 - Promised Grace 134 - Eternal Oath (sans opening) 135 - Something Burns in the Heart (sans opening) 136 - Unite, Descent 137 - Sad Monster 139 - My Den 156 - Silence 159 - Magii is Everything (Opening) 184 - Eternal Oath (Opening) 185 - Something Burns in the Heart (Opening) str0001 - Myrrh Tree str0002 - Sound of the Wind str0003 - Starry Moonlit Night str0006 - Thoroughly Blue str0007 - Water of Life