Squish the file size of Impulse Tracker (IT) mods by converting the samples to Ogg Vorbis format.
The majority of the code is a fork of libmodplug 0.8.8.5 — only the encoding component and frontend tool were added.
I needed to ship mods with very large samples, and uncompressed WAVs take up a fair bucket.
$ mkdir build $ cd build $ cmake .. $ make
The file format of an ITQ file is almost exactly the same as that of an IT file. The sample header section has two added fields:
DWORD nbytes; // Number of bytes in compressed sample CHAR samplecodec; // OGG Vorbis, FLAC, etc.
The sample data sections, which usually contain raw audio, contain their
respective encoded streams. The
nbytes field was added because their offsets
in the file are impossible to know otherwise.
samplecodec field indicates the codec used. Only Vorbis is supported at
this time, but this field affords future additions.
- Encode .it into .itq
- Decode .itq into .it
- Vorbis quality option
- Output filename option
Subjectively relevant links
- Modipulate — Library using ITQ
- libmodplug homepage
- IT format specification
All code in the
modplug directory is public domain (see
The ITQ frontend tool and modifications to libmodplug are public domain.
libvorbis and libogg use the BSD license.