What the inspector reads
An SCL file contains a one-line description, a pitch count, and one pitch per following data line. A pitch containing a period is interpreted as cents; a slash denotes a ratio; an integer is a ratio over one. The initial 1/1 is implicit. This inspector preserves source spellings, converts ratios to cents, checks declared counts, and reports descending, duplicate, nonpositive, or non-octave periods without assuming they are accidental.
How KBM mapping is interpreted
The seven KBM headers define map size, first and last MIDI notes to retune, the middle note, reference note, reference frequency, and formal octave degree. Mapping entries are scale degrees or x for an unmapped key. A map repeats above and below the middle note; degree offsets may be negative or outside the first scale period. Map size zero is linear, and formal octave zero resolves to the last SCL degree.
Frequency and A440 comparison
Absolute frequencies are anchored to the KBM reference note and frequency, not silently forced to A4 = 440 Hz. The “nearest A440 12-TET” column is only a familiar comparison label. If the reference key is unmapped, the tool withholds frequencies rather than inventing an anchor. Keys outside the declared retuning range remain visible but are not assigned an output frequency.
Validation and listening boundary
This is a bounded inspector, not a synthesizer compatibility test. It does not emulate a particular plug-in's import rules, MIDI Tuning Standard messages, MPE, pitch-bend channels, sample-rate behavior, temperament intent, acoustic beating, or instrument range. Web Audio auditioning uses a simple sine oscillator and can expose obvious pitch relationships, but it cannot prove that another host will map the files identically. Keep the originals and test in the target instrument.
Frequently asked questions
Why does the table include an implicit degree 0?
Scala SCL files omit the starting 1/1 or zero-cent pitch. It is implied, so the inspector displays it explicitly while keeping it separate from the declared count.
Is an x mapping an error?
No. It intentionally leaves that key unmapped. It only prevents absolute frequency calculation when the KBM reference note itself lands on that entry.
Does the last pitch have to be 2/1?
No. The final SCL pitch is the repeating period and can describe a non-octave scale. The inspector labels this for review but still uses it for degree extension.
Format references
The parser follows the official Scala scale-file specification and the Scala keyboard-mapping documentation. The open-source Surge Synth Team tuning library provides an additional implementation reference for SCL and KBM behavior.