A new update for Ray2Get
Posted: Sun May 13, 2018 8:44 pm
Ten years later (well... more like, ten years too late, amirite?) I'm back with a major update for Ray2Get.
About a month ago, deton24 suggested me to dig around and try to find a way to improve the game's audio engine. Turns out it didn't work; but in the process, I noticed that some stuff in my old and rusty music-decoding tool needed improvement. And I was like "hell no, there's no way I'm gonna do all that crazy time-consuming stuff for just tiny little details"...
Yet.
After what unexpectedly turned out to be a whole month of delving into technical details and experimenting with the game, I'm releasing this new version which allows you to convert the musics from the game to regular .wav... and back!
This means you can now put your own music into the game!... provided you know how to split your files and what their names should be. Fortunately, I provided a text file which lists all the sequences of .apm files that are played throughout the game at every location (yes, I've spent quite some time replaying the sh** out of Rayman 2 to figure all that out in every bit of the game).
This new version fixes the artifacts I noticed (see my previous post)—actually, you can choose between standard IMA ADPCM (in which the original music files provided with the game were encoded anyway) and a slightly modified version to prevent the artifacts—, and supports more .wav formats (8, 16, 24 and 32-bit integer, mono and stereo, any sample rate).
The code has been rewritten almost from scratch (it started as a custom encoder which I eventually merged with the original ray2get), in Python for convenience (it's cross-platform and doesn't require to recompile after every minor tweak), so you should have a working Python 2.x/3.x environment installed on your machine if you want to use the script.
I've set up a GitHub repository with the code, some documentation including a how-to guide, an .apm format description (gathered from my current knowledge), and the list of all the sequences played during the game, and it's available here:
https://github.com/Synthesis/ray2get
Have fun hacking around.
Now I can retire peacefully.
About a month ago, deton24 suggested me to dig around and try to find a way to improve the game's audio engine. Turns out it didn't work; but in the process, I noticed that some stuff in my old and rusty music-decoding tool needed improvement. And I was like "hell no, there's no way I'm gonna do all that crazy time-consuming stuff for just tiny little details"...
Yet.
After what unexpectedly turned out to be a whole month of delving into technical details and experimenting with the game, I'm releasing this new version which allows you to convert the musics from the game to regular .wav... and back!
This means you can now put your own music into the game!... provided you know how to split your files and what their names should be. Fortunately, I provided a text file which lists all the sequences of .apm files that are played throughout the game at every location (yes, I've spent quite some time replaying the sh** out of Rayman 2 to figure all that out in every bit of the game).
This new version fixes the artifacts I noticed (see my previous post)—actually, you can choose between standard IMA ADPCM (in which the original music files provided with the game were encoded anyway) and a slightly modified version to prevent the artifacts—, and supports more .wav formats (8, 16, 24 and 32-bit integer, mono and stereo, any sample rate).
The code has been rewritten almost from scratch (it started as a custom encoder which I eventually merged with the original ray2get), in Python for convenience (it's cross-platform and doesn't require to recompile after every minor tweak), so you should have a working Python 2.x/3.x environment installed on your machine if you want to use the script.
I've set up a GitHub repository with the code, some documentation including a how-to guide, an .apm format description (gathered from my current knowledge), and the list of all the sequences played during the game, and it's available here:
https://github.com/Synthesis/ray2get
Have fun hacking around.
Now I can retire peacefully.