03-27-2025, 07:00 PM
(i hope this is the correct subforum!)
As I promised in the comments under the Rayman 3 submission (however many people have seen this), here's a guide on how to rip and sort out its audio files!
Note that these steps should all pretty much work for the other OpenSpace games (Rayman 2, Rayman M/Arena, Tonic Trouble (the sounds extract wrong in the Special Edition though), etc).
First of all, you need foobar2000 and the vgmstream component. Once you have both, open foobar2000, navigate the top menu to File/Preferences, select the Components tab, and click the "Install..." button to install vgmstream.
From here, you're safe to locate the Rayman 3 (or other game) folder, and just drag it into foobar2000. You don't have to drag in each separate file individually, dragging the entire folder in here is enough, and it will open the relevant files only.
You can also drag in the files that actually contain the sounds. In Rayman 3 on Windows, the files that actually contain audio are the .hxc files in Rayman 3\Gamedatabin\World\Sound\ (in other games or even other verisons, the filetypes and locations of the files might differ; for example, the GC version of Rayman 3 uses hxg files for this purpose, and Rayman 2's sounds are in Data/World/Sound and are stored in the Bnk_[number].bnm files instead).
In any case, it will just open every sound that's contained in the sound bank file or files. It should look something like this (I have a different foobar2000 layout and theme though, but you get the gist here).
You can see every sound already comes with its filename! You can also double click them for playback. Anyway, the more important thing is extracting the sounds. You can hit CTRL+A to select every sound, then right click on them, navigate to Convert/[default], and this will ask you a folder to output to. Once you select it, the game will start extacting the sounds to that folder.
Once you're done, you get a lot of rather unsorted sounds with really long names. You'd need to find a way to mass-rename them to get around this.
I don't know what tools would be good to use for that, but I've personally been using Total Commander's Multi-Rename tool, so let's go with that.
You can type in in the Search&Replace portion. You only have to add to the "Search for" to remove certain portions of the filename. You can use asterisks for the file masks!
Here I typed in just "*hx-*-*-". This is relevant for Rayman 3; it has several dubs, but they all share the same sound banks, and they share the same actual filenames too. If you just remove every part of a sound before the filename, you'll end up with this warning. You can leave in the unique sound hash(?) right before the DATA part of the filename, which is different per language.
If you extracted sounds from several .hxc files and do this, it will still give you the same warning...
But this time, you can go ahead and rename them, and the duplicate files that didn't get renamed can be safely removed! The same sounds in the same language will retain the same hash across different .hxc files, so the remaining non-renamed files will be actual duplicates. So that's how you can clean up all the sounds you've extracted. This is especially relevant if you extracted sounds from the entire game.
For something that isn't a voice clip (filename starts with VO or VD), you're free to do another renaming mask afterwards to remove the hash, and the leftover parenthesis at the end, to clean up the filenames further. Obviously you can also clean up the filenames for the voice clips after you've moved them into another folder, or deleted the other ones, or something.
Anyway, now you have a whole bunch of sounds extracted. Unfortunately, besides going off of their filenames, you just can't sort them out any further with just foobar2000 and vgmstream, as the original language metadata that the sounds contained doesn't get extracted. So, at the moment, you have to search for the filenames manually, and just dig through the five language per each sound, and sort them out.
For example, I already know every filename of every sound, so I can just search for them in the folder with the sounds I've extracted, and just click through them until I find the English sound. Just rinse and repeat that a bunch of times.
I know actually sorting the voice files seems tedious, but there's only five languages in every version of Rayman 3, at least! Also you probably don't even have to do this step for other OpenSpace games.
They might come with their own issues, though. Rayman Revolution, in particular, has no good filenames and no way to sort the sounds properly, so I had to trim the filenames down to just the hash and just manually search for all of the dialogue. The only saving grace was that the languages had their own separate sound banks. There's a bunch of weird inconsistencies like that, but you can get around them with enough dedication, I think.
Anyway, let me know if you have questions! I don't know if this is a good tutorial?? also ill type in lowercase from now on like i normally do
As I promised in the comments under the Rayman 3 submission (however many people have seen this), here's a guide on how to rip and sort out its audio files!
Note that these steps should all pretty much work for the other OpenSpace games (Rayman 2, Rayman M/Arena, Tonic Trouble (the sounds extract wrong in the Special Edition though), etc).
First of all, you need foobar2000 and the vgmstream component. Once you have both, open foobar2000, navigate the top menu to File/Preferences, select the Components tab, and click the "Install..." button to install vgmstream.
From here, you're safe to locate the Rayman 3 (or other game) folder, and just drag it into foobar2000. You don't have to drag in each separate file individually, dragging the entire folder in here is enough, and it will open the relevant files only.
You can also drag in the files that actually contain the sounds. In Rayman 3 on Windows, the files that actually contain audio are the .hxc files in Rayman 3\Gamedatabin\World\Sound\ (in other games or even other verisons, the filetypes and locations of the files might differ; for example, the GC version of Rayman 3 uses hxg files for this purpose, and Rayman 2's sounds are in Data/World/Sound and are stored in the Bnk_[number].bnm files instead).
In any case, it will just open every sound that's contained in the sound bank file or files. It should look something like this (I have a different foobar2000 layout and theme though, but you get the gist here).
You can see every sound already comes with its filename! You can also double click them for playback. Anyway, the more important thing is extracting the sounds. You can hit CTRL+A to select every sound, then right click on them, navigate to Convert/[default], and this will ask you a folder to output to. Once you select it, the game will start extacting the sounds to that folder.
Once you're done, you get a lot of rather unsorted sounds with really long names. You'd need to find a way to mass-rename them to get around this.
I don't know what tools would be good to use for that, but I've personally been using Total Commander's Multi-Rename tool, so let's go with that.
You can type in in the Search&Replace portion. You only have to add to the "Search for" to remove certain portions of the filename. You can use asterisks for the file masks!
Here I typed in just "*hx-*-*-". This is relevant for Rayman 3; it has several dubs, but they all share the same sound banks, and they share the same actual filenames too. If you just remove every part of a sound before the filename, you'll end up with this warning. You can leave in the unique sound hash(?) right before the DATA part of the filename, which is different per language.
If you extracted sounds from several .hxc files and do this, it will still give you the same warning...
But this time, you can go ahead and rename them, and the duplicate files that didn't get renamed can be safely removed! The same sounds in the same language will retain the same hash across different .hxc files, so the remaining non-renamed files will be actual duplicates. So that's how you can clean up all the sounds you've extracted. This is especially relevant if you extracted sounds from the entire game.
For something that isn't a voice clip (filename starts with VO or VD), you're free to do another renaming mask afterwards to remove the hash, and the leftover parenthesis at the end, to clean up the filenames further. Obviously you can also clean up the filenames for the voice clips after you've moved them into another folder, or deleted the other ones, or something.
Anyway, now you have a whole bunch of sounds extracted. Unfortunately, besides going off of their filenames, you just can't sort them out any further with just foobar2000 and vgmstream, as the original language metadata that the sounds contained doesn't get extracted. So, at the moment, you have to search for the filenames manually, and just dig through the five language per each sound, and sort them out.
For example, I already know every filename of every sound, so I can just search for them in the folder with the sounds I've extracted, and just click through them until I find the English sound. Just rinse and repeat that a bunch of times.
I know actually sorting the voice files seems tedious, but there's only five languages in every version of Rayman 3, at least! Also you probably don't even have to do this step for other OpenSpace games.
They might come with their own issues, though. Rayman Revolution, in particular, has no good filenames and no way to sort the sounds properly, so I had to trim the filenames down to just the hash and just manually search for all of the dialogue. The only saving grace was that the languages had their own separate sound banks. There's a bunch of weird inconsistencies like that, but you can get around them with enough dedication, I think.
Anyway, let me know if you have questions! I don't know if this is a good tutorial?? also ill type in lowercase from now on like i normally do