Skip to content
/ itq-tool Public

CLI tool for compressing samples in Impulse Tracker song files

Notifications You must be signed in to change notification settings

hryx/itq-tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 0.8.8.5 — 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

License

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.

About

CLI tool for compressing samples in Impulse Tracker song files

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published