Tool to scan and extract OGG sound files from big game data files. This program has been used to extract the music from the following games:
- 'The Talos Principle' by Croteam.
- 'Thief: Deadly Shadows' by Ion Storm.
- 'Hitman 2: Silent Assassin' by Io Interactive.
- 'Hitman: Contracts' by Io Interactive.
- 'Freedom Fighters' by Io Interactive.
- 'Blood Omen 2' by Crystal Dynamics.
- 'FEZ' by Polytron Corporation.
- 'The Chronicles Of Riddick: Escape From Butcher Bay' by Starbreeze Studios.
- 'The Chronicles Of Riddick: Assault On Dark Athena' by Starbreeze Studios.
- 'Far Cry 3' by Ubisoft Entertainment Inc.
It will probably work with any program that uses unencrypted OGG Vorbis audio files.
The tool can be configured to show only files with a minimum size or duration, making it easier to differentiate music files from dialog ones. The found OGG files can be renamed and played before the extraction process so it can be selected or deselected to be extracted.
The following libraries are required:
Download and execute the latest installer from the releases page.
A command-line version of the application is included as an executable ending in "-cli". The filtering options are the same, but the CLI version won't let you listen to or rename the found OGG streams before extracting. The program arguments for the command-line version are:
Option | Description |
---|---|
-h | Shows help. |
-s <number> | Filter found streams by size (in Kb). Files less than number kb won't be extracted |
-l <number> | Filter found streams by length in seconds. Files less than number seconds won't be extracted |
-o <output_dir> | Specify output directory for files. |
-i <input_file> | Specify input file to scan for OGG streams. |
-d | Do not extract OGG streams, just dump stream information in a CSV file. |
-r <range> | Ranges or positions to extract separated by commas (see description below). |
Ranges are specified as lower_pos-upper_pos and both positions are included. For example '1,3,7-10' will extract the OGG streams in the positions 1,3,7,8,9 and 10. Positions start at 1.
The CLI version do not depend on Qt library and the only file needed for it to work is the executable. It's main purpose is to be used inside command-line scripts to scan and extract files in bulk but of course can be used as-is. Take into consideration the filtering by size or length do not affect track number and that the combination of filters and range can produce no files being extracted.
Simple main dialog.
Version: 1.9.0
Status: finished
License: GNU General Public License 3
cloc statistics
Language | files | blank | comment | code |
---|---|---|---|---|
C++ | 7 | 381 | 237 | 1532 |
C/C++ Header | 5 | 119 | 334 | 219 |
CMake | 1 | 22 | 9 | 94 |
Total | 13 | 522 | 580 | 1845 |