Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

ITQ tool

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 — only the encoding component and frontend tool were added.

What 4

I needed to ship mods with very large samples, and uncompressed WAVs take up a fair bucket.

How 4

$ mkdir build
$ cd build
$ cmake ..
$ make

File format

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.

The samplecodec field indicates the codec used. Only Vorbis is supported at this time, but this field affords future additions.

Shopping list

  • Encode .it into .itq
  • Decode .itq into .it
  • Vorbis quality option
  • Output filename option

Subjectively relevant links


All code in the modplug directory is public domain (see modplug/COPYING).

The ITQ frontend tool and modifications to libmodplug are public domain.

libvorbis and libogg use the BSD license.


CLI tool for compressing samples in Impulse Tracker song files



No releases published


No packages published