Skip to content

thismoon/lmms-tools

Repository files navigation

LMMS tools icon. an edit of the LMMS logo replacing the icon with a wrench icon from Material Symbols
LMMS tools

python cli tools for LMMS users

dependencies

you need python and the lxml library

tools

you can use the -h/--help argument with every tool for help

the tools will take care of the compression depending on the output file extension

Compress or uncompress a file. compressed project files use the .mmpz extension and uncompressed ones use .mmp

python compressor.py -i file.mmpz -u -o file.mmp

colorize tracks/fx channels with a gradient.

python colorize.py -i file.mmpz -c '#000000 #ffffff' --overwrite

extract the effects from tracks with effects to an fx channel

python extract_fx.py -i file.mmpz -o file2.mmpz

change the height of the tracks

python height.py -i file.mmpz -ht 64 --overwrite

find a chord name from it's notes

python chord_finder.py f g# c e d
Fm-Maj7add13
E7#5b9
Dm9b5

extract ghost notes as a midi clip

python ghost.py -i file.mmpz -o file.xptz

clean project files from unnecessary xml tags. this won't "optimize" the project but it will make it easier to read when editing with a text editor.
it will remove the lmms version, global automation, project notes, scales and keymaps, notes type and pan (if set to 0), midicontrollers (if set to 0/unused), ghost notes and marked semitones/scales. some of those can be disabled by adding arguments to the command. (run python cleaner.py -h)

python cleaner.py -i file.mmpz -o file2.mmpz --notes

(the above command won't remove the project notes because of the --notes argument)

fix the pitch of a slicerT instrument (that has BPM sync enabled and the Granular pitch shifter effect) when automating the tempo by automating the pitch shifting to the opposite of the pitch change when the sample speed is changing using this equation:

$$\text{pitch shift} = -12 \times \log_2(\frac{\text{new bpm}}{\text{original bpm}})$$

python pitch_fixer.py -i file.mmpz -o file2.mmpz 

About

python cli tools for LMMS users

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages