Untracker is a high-quality stem extraction tool for tracker music modules (MOD, S3M, XM, IT, etc.). It leverages the libopenmpt extension API to provide true isolation for instruments and samples, ensuring that each extracted stem is clean and free from interference from other tracks.
- True Isolation: Uses the OpenMPT Interactive Interface to mute/unmute instruments at the engine level.
- Broad Format Support: Supports all formats handled by
libopenmpt(over 400 formats). - Flexible Output: Supports WAV, Ogg Vorbis, Opus, and FLAC (feature-gated).
- Smart Detection: Automatically detects whether to use instrument-based or sample-based isolation.
- Parallel Processing: Extract multiple stems simultaneously with the
--parallelflag. - High-Quality Resampling: Multiple resampling methods available (nearest, linear, cubic, sinc).
- Customizable Audio Quality: Adjustable sample rate, bit depth, and format-specific settings.
- Rust (latest stable)
libopenmpt-devandpkg-config(Linux/macOS)
Standard build (requires libopenmpt installed on the system):
cargo build --releaseStatic build (builds libopenmpt from source and bundles it):
make staticuntracker --input my_module.xm --output-dir ./stems --format wav -i, --input <INPUT>
Input module file path
-o, --output-dir <OUTPUT_DIR>
Output directory for stem files
--sample-rate <SAMPLE_RATE>
Sample rate [default: 44100]
--channels <CHANNELS>
Number of channels (1 or 2) [default: 2]
--resample <RESAMPLE>
Resampling method [default: sinc] [possible values: nearest, linear, cubic, sinc]
--format <FORMAT>
Output format: wav, vorbis, opus, flac [default: wav]
--bit-depth <BIT_DEPTH>
Bit depth for lossless formats (16 or 24) [default: 16]
--opus-bitrate <OPUS_BITRATE>
Bitrate for Opus format in kbps [default: 128]
--vorbis-quality <VORBIS_QUALITY>
Vorbis quality level (0-10) [default: 5]
--stereo-separation <STEREO_SEPARATION>
Stereo separation in percent (0-200) [default: 100]
-p, --parallel
Render stems in parallel
-h, --help
Print help
-V, --version
Print version
- WAV: Uncompressed PCM audio (default format)
- Vorbis: Ogg Vorbis compressed audio (requires
vorbisfeature) - Opus: Opus compressed audio (requires
opusfeature) - FLAC: Lossless compressed audio (requires
flacfeature)
- Sample Rate: Supports any sample rate (though Opus is limited to 8, 12, 16, 24, or 48 kHz)
- Channels: 1 (mono) or 2 (stereo)
- Resampling: Choose from nearest neighbor, linear, cubic, or sinc interpolation
- Stereo Separation: Adjust left/right channel separation (0% = mono, 100% = normal, 200% = exaggerated)
- Bit Depth: 16-bit or 24-bit for lossless formats
- Opus Bitrate: Custom bitrate from 64 kbps to 512 kbps
- Vorbis Quality: Scale from 0 (lowest) to 10 (highest)
Extract stems in WAV format:
untracker -i song.xm -o stems/Extract with high-quality 24-bit FLAC output:
untracker -i song.it -o stems/ --format flac --bit-depth 24Extract with parallel processing for faster results:
untracker -i song.mod -o stems/ --parallelExtract with custom settings (48kHz, stereo, high quality):
untracker -i song.s3m -o stems/ --sample-rate 48000 --format vorbis --vorbis-quality 9This project is licensed under the BSD-3-Clause-Attribution License.