This is a program to extract RIFF data from arbitrary files such as video game archives or sound banks.
Although originally made to rip audio from Baldur's Gate 3, this will work for any game data file that doesn't compress or encrypt its contents (most of them don't).
The program identifies RIFF files by the strings RIFF, WAVE and fmt in the header.
RiffExt [options] <input file>
Binaries are provided for Windows, though this project should be buildable on Linux and macOS with standard CMake.
-hShow help and exit.-v, --verboseVerbose output.-d, --dumpExtract RIFF data to a file.-s, --scanScan the input file and show RIFF data.-w, --wavIgnore RIFF files that don't contain WAV data.--filter-min-duration=<seconds>Ignore RIFF files with unknown or shorter duration than the specified value.
The vgmstream CLI tool is very helpful in converting extracted .wem files to playable .wav ones.
If your output .dat files have a WWise format (0xFFFF or 0xFFFE), you can also use ww2ogg (optionally with the ReVorb tool) to convert them into .ogg format.
These tools will work for a lot of games. Some games I've tried are:
- Cyberpunk 2077
- Assassin's Creed Valhalla
- Tom Clancy's The Division 2
- Divinity: Original Sin 2
- Baldur's Gate 3
- The Elder Scrolls Online