Skip to content

FelixdelasPozas/OGG-Extractor

Repository files navigation

Ogg Extractor

Summary

Description

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.

Options

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.

Compilation requirements

To build the tool:

  • cross-platform build system: CMake.
  • compiler: Mingw64 on Windows or gcc on Linux.

External dependencies:

The following libraries are required:

Install

Download and execute the latest installer from the releases page.

Command-line version

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.

Screenshots

Simple main dialog.

Main dialog

Repository information

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

About

Tool to scan and extract OGG sound files from big game data files.

Resources

License

Stars

Watchers

Forks

Packages

No packages published