Extension | Format |
---|---|
.it |
Impulse Tracker |
.xm |
Extended Module |
.s3m |
Scream Tracker 3 |
.mod |
Amiga Pro Tracker |
.mptm |
ModPlug Tracker module |
.umx |
Unreal Music Package (Containing above) |
Extension | Format |
---|---|
.wav |
Microsoft Wave |
.aiff |
Audio Interchange File Format |
.its |
Impulse Tracker 2 sample |
.s3i |
Scream Tracker 3 Instrument |
.8svx |
8-Bit Sampled Voice |
.raw |
Headerless pcm |
The command line version of xmodits can be downloaded here.
If you want a more user friendly version, consider getting the gui version here. Do note that the gui version has less supported platforms.
Please have a look at running on older systems.
xmodits {ARGUMENTS} <module path> [destination folder]
e.g:
xmodits ./test.s3m ~/Music/Samples/
xmodits ./test.s3m
xmodits ./mod1.mod ./mod2.it ./mod3.s3m [destination folder]
xmodits --fmt="8svx" ./*.mod ~/Downloads/samples/8svx
Note: If the destination is not provided, xmodits will place the ripped samples in a self contained folder in the current working directory.
If you want to customize how ripped samples are named, the following arguments can be used:
short | long | Description |
---|---|---|
-s | --strict | Enabled by default. Only allow files with the supported file extensions: [it , xm , s3m , mod , umx , mptm ] |
-i | --index-only | Ripped samples will only be named with an index. |
-r | --index-raw | Preserve internal sample indexing. |
-p | --index-padding | Pad sample index with preceding zeros. 0-1 will disable padding. |
-n | --no-folder | Do not create a new folder for ripped samples. |
-u | --upper | Name samples in upper case. |
-l | --lower | Name samples in lower case. |
-g | --prefix | Prefix samples with the tracker's filename. |
-f | --fmt | Export samples to the following formats: [ wav (default) , aiff , 8svx ,its ,s3i , raw ] |
short | long | description |
---|---|---|
--info | Print information about a tracker module. | |
--Meta | Print metadata about the binary. | |
-V | Print version |
Install the Rust compiler if you haven't already: https://www.rust-lang.org/tools/install
Clone the source code:
git clone https://github.com/B0ney/xmodits-cli
Build:
cd xmodits-cli
cargo build --release
The compiled binary is placed in: xmodits-cli/target/release/
(*nix systems only) You may get a Permission denied
error if you attempt to run the program. In that case, you'll need to mark the binary as executable:
chmod +x xmodits
(Optional) Compile with build metadata embedded in the binary (enables --Meta
flag), This will take longer to compile:
cargo build --release --features="with_metadata"
(Experimental) Compile with multi-threading:
cargo build --release --features="rayon"
Minimum supported OS: Windows 7
XMODITS is compiled with vcruntime (msvc only) embedded, so it should run out of the box.
For backwards (and forwards) compatibility, it is recommended that you download the *-musl
variant.
Older linux systems may have glibc versions too old to run the program.
You'll most likely get an error like this if you attempt to run the *-gnu
variant:
libc.so.6: version `GLIBC_2.18` not found (required by ./xmodits)
xmodits-cli is licensed under the LGPLv3
Program | License | Description |
---|---|---|
XMODITS-GUI | GPLv3 | xmodits gui application |
XMODITS-PY | LGPLv3 | xmodits Python library (Mainly used for DawVert) |
XMODITS-LIB | MPLv2 | xmodits core library |