Next Page

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.

edited 12:25 AM EDT August 16, 2016
by Delon at 2:11 PM EDT on August 16, 2016
What i would like to have is this:
A mid2bgm converter in addition to a bgm2mid converter like vgmtrans.

Since vgmtrans is unable to convert a midi file back to it's original bgm format again.

And have you found this WIP project before? :

Can someone make it work on (Final Fantasy X-2) and not only (Kingdom Hearts) PS2 games?

It's the PSF2 files i want to modify in a midi editor like (FL STUDIO). And then convert them back to the (Final Fantasy X-2) .bgm file format.

And finally use the (mkpsf2) application in cmd.
To create a PSF2 song.

I can't stand waiting a decade or two as jimbo1qaz said to me, until he gets to the PSF2 game specific music drivers and so on + stuff like that.
by hcs at 2:26 PM EDT on August 16, 2016
Delon, that's not relevant to this thread.

Nice work BlackFurniture!
by Nisto at 3:54 PM EDT on August 16, 2016
Yeah, congrats on your work! And cheers for using Renoise.

I might check it out even though I'm not particularly a fan of FF Crystal Chronicles... since I can!

edited 3:54 PM EDT August 16, 2016
by BlackFurniture at 7:17 PM EDT on August 16, 2016
@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.

by BlackFurniture at 10:58 AM EDT on August 17, 2016
The playlist is ready: SoundCloud

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 :)
by starerik at 11:22 AM EDT on August 17, 2016
This sounds amazing! I actually had no clue that CC was sequenced.
by JFD62780 at 4:34 PM EDT on August 17, 2016
*listens to song 120 on the ReNoise Demo which he begrudgingly downloaded... and sobs happily...*

The art of reverse engineering... It's grown up...

I'm so proud of you, BlackFurny... *spills more liquid pride*

edited 4:36 PM EDT August 17, 2016
by BlackFurniture at 6:12 PM EDT on August 21, 2016
All the renders as .wav (including streams).
Download (2.5GB)

Will update the first post as well.

EDIT: Ah, I guess I can't do that?

edited 6:12 PM EDT August 21, 2016
by MurraySkull at 5:31 AM EDT on August 22, 2016
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

Next Page
Go to Page 0 1 2

Search this thread

Show all threads

Reply to this thread:

User Name Tags:

bold: [b]bold[/b]
italics: [i]italics[/i]
emphasis: [em]emphasis[/em]
underline: [u]underline[/u]
small: [small]small[/small]
Link: [url=]Link[/url]


HCS Forum Index
Halley's Comet Software
forum source