from an 8bc post by abrasive:

Idle thought: can LSDJ be retuned to non-standard tunings? Cue a few minutes in a hex editor and half an hour in Perl... the result: an LSDJ tuning script.

The script takes an LSDJ ROM, and rewrites the tuning table (and optionally the note names) into a new copy of the ROM. Frequencies can be manually specified (all 108 notes), or generated in equal temperament, cent steps, cent series or ratio series.

The latest version of the script (works with LSDJ 3.9.9) can be found at

Some examples:

24-tone equal temperament

 lsdj_tune --et 24 --base A5 440 --rom --out

12-tone ET, manually

 lsdj_tune --cents 0,100,200,300,400,500,600,700,800,900,1000,1200 --base A5 440 --rom --out

Wendy Carlos' alpha scale

 lsdj_tune --cstep 78 --base 0 70 --rom --out

Pythagorean 13-tone

 lsdj_tune --ratio 1,256/243,9/8,32/27,81/64,4/3,729/512,1024/729,3/2,128/81,27/16,16/9,243/128,2 --names D,Eb,E,F,F#,G,G#,Ab,A,Bb,B,C,C# --base 0 73.42 --rom --out

Current limitations (1.3):

Base frequency specification is a bit dumb – it won't take custom note names, and sequences (--cents, --ratio) always start on the base note

Community content is available under CC-BY-SA unless otherwise noted.