little-scale — Abrasive on LSDJ Microtuning (2009)
little-scale reposts abrasive's own announcement of lsdj_tune, the script that turns the hand-editing of the previous day's post into a one-line command. Unusually for this blog, everything is in the text.
Key claims#
- The origin story, in Abrasive's words: "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."
- What it does: "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 108 notes match the 216-byte table read from the screenshots in s-little-scale-lsdj-tuning-tables.
- Rewriting the note names too is the part hand-editing cannot do: on a retuned ROM the note column otherwise keeps lying about what it plays.
- Version: "The latest version of the script (works with LSDJ 3.9.9) can be found at
http://bur.st/~abrasive/lsdj_tune/". - The four generation modes, with his examples (verbatim):
| mode | example |
|---|---|
| equal temperament | lsdj_tune --et 24 --base A5 440 --rom lsdj.gb --out lsdj_et24.gb |
| explicit cents | lsdj_tune --cents 0,100,200,300,400,500,600,700,800,900,1000,1200 --base A5 440 --rom lsdj.gb --out lsdj_et12.gb |
| cent step (Wendy Carlos' alpha) | lsdj_tune --cstep 78 --base 0 70 --rom lsdj.gb --out lsdj_alpha.gb |
| ratio series (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 lsdj.gb --out lsdj_pyth.gb |
- Known limitations, his own list: "Base frequency specification is a bit dumb — it won't take custom note names, and sequences (
--cents,--ratio) always start on the base note." - Discussion thread:
8bitcollective.com/forums/viewtopic.php?pid=169505(8bitcollective is long dead; not fetched).
Practical takeaways#
--et Nis the whole of equal-division microtonality: 24 for quarter-tones, 19 and 31 for the historical meantone approximations, 15 or 18 for the alien ones.--ratiotakes plain fractions, so a just or historical scale can be typed from a table of ratios without computing a single frequency — the manual route (s-little-scale-koto-tuning) needs a spreadsheet for exactly this step.--namesrenames the note column to match, which is what makes a non-12 scale playable rather than merely audible.- The Carlos alpha example shows the mode that ignores octaves altogether: a fixed 78-cent step stacked upward never returns to 2/1.
Notable quotes#
"Cue a few minutes in a hex editor and half an hour in Perl... the result: an LSDJ tuning script."
Relevance to the wiki#
The tool half of rom-retuning, and the reason the wiki can describe LSDj microtuning as a workflow rather than a stunt.
To verify#
bur.st/~abrasive/lsdj_tune/was not fetched and the domain may be gone; whether the script has since been rebuilt for LSDj 4.x–9.x is unknown here (see the v4.0.5 failure reported in s-little-scale-underclocking-and-retuning).- Only the one comment on the post, spam. Abrasive's own name and later Game Boy hardware work are not documented from this source.
Pages touched#
alternative-tunings · rom-retuning · abrasive · lsdj · little-scale · semitone-math · harmonic-series