Home | ER-101 | ER-102 | ER-301 | Wiki | Contact

Scala File Support


Wanted to start a thread to talk about Scala since I have never used it.

ER-301 Firmware v 0.4.04 adds:

  • ENHANCED: Scale Quantizer > Any scala (*.scl) files located in ER-301/scales will be automatically added to the list of available scales.

For those that are familiar with Scala, do you use the software to create files yourself? Have you found any good/useful Scala scale libraries?

What else is there to know?


I’m following since I don’t know much about it.

I downloaded that gigantic scales collection that apparently takes 50 minutes to load into the ER-301, and I’m somewhat puzzled at how to figure out what these file names mean and how useful they are, in order to make a sensible choice. Sometimes it’s obvious, like chin_pipa.scl should a Chinese Pipa tuning, but cont_frac1.scl for example and a few thousands more like this don’t mean anything to me :no_mouth:

Maybe it’s actually easier to just make the scales you want to use with the software. Haven’t tried it yet.


ok, i wanted to do the same.
first, you might want to check the website for the SCALA app and related material:
then i suggest you have a look at this tutorial for using the Retune For Live max for live (free) device by Ursine (which i suggest you try because it’s really handy and can be a nice way to test scales before sending them to the er-301):

then if you want to extract a scale from an instrument i suggest you proceed like this:
1- record the instrument
2- find out the fundamental frequency of each note (spectrum analyzers of precise tuners might help)
3- if you have recorded 5 notes, you’ll end up with 4 intervals
4- divide the second note freq for the first note freq to find the first interval
5- repeat for third note and second note and so on
6- annotate all the frequencies and ratios
7- go to this website and translate frequency ratios into cents using the online calculator
8- open a text editor like TextWrangler and write your own .scl file.
the format is this one (keep in mind exclamation points are comments):

scale of the stryx bansuri made by hyena

so, first line is exclamation point followed by the scl file title with extension
second line is beginning of comment
third line is the description (in some apps it is visible, like in retune for live)
fourth line is the number of intervals
fifth line closes the comment
the next lines are the intervals in cents, one for line. you might even write them as frequency ratios like 5\4 if you want and if you can :slight_smile:

then save your file with .scl extension,

here’s the .scl of the above example , it is the scale of a bamboo bansuri i made myself, the holes are totally random so the scale is absurd. i assure you that the .scl file reproduces it correctly!!!
hyenabansuristryx.scl.zip (743 Bytes)


@Bparticle don’t put all that scales in the scales folder on the 301 unless you want to wait exactly 50 minutes each time you insert a scale quantizer in a patch :smiley:


while it works in retune for live, i got an error message on Scala and the 301 doesn’t see it.
it has to do with file type and unicode blah blah blah encoding.
gonna study it and post a solution soon.


FYI, the ER-301 will generate an error log for each scala file that it could not parse. So if bad-scale.scl has an error then a file called bad-scale.log will be generated in the same folder with a dump of the trace.


Very very cool. Thanks for the write up! I just loaded about 50 scales from the library in the ER-301, some random picks based on what I thought it might sound like and it’s absolutely brilliant to be able to do this + have the visualization of that scale in the interface. Just amazing. The Chinese Pipa scale makes stuff sound like… like a Chinese Pipa!

One thing I got super excited about, but currently it doesn’t seem accessible (someone should definitely ask @odevices though :smile:) is that the Scale Quantizer is actually producing sort of a gate/trigger signal on the right side of the main screen every time it hits a quantized note? I remember discussions/feature requests about units producing triggers at end or start of whatever they do, but here it seems already partly integrated. I was hoping to find this signal in the general scope of the patch in order to use it as a trigger for an envelope, since I was playing with a quantized drone. Is this just visual feedback, or can it be used somewhere?


thanks Brian. i’ll look into it.

for everyone interested here’s a document that explains the .scl file format:


ok, i’m stupid.
after finding the correct file text encoding (in text wrangler set it in the preferences to Western (ISO Latin 1) ) then Scala correctly sees my files but i thought it would be in alphabetical order in the er-301 scale quantizer so i thought it wasn’t there.

newly added files are added near the end of the custom scl list but BEFORE the factory er-301 scales :smiley:
it WORKS !!!

thanks a gazillion @odevices for scala file support!!! wonderful feature!!! <3


Just pipe the output of the Scale Quantizer through a high pass filter (*) such as the Fixed HPF and set the trigger threshold of the envelope’s input so that it triggers correctly.

(*) High pass filters are simple edge detectors.


mmmm neat trick!! have to try this!!!


Every so often you say something that blows my mind. :slight_smile:


Just to add in here Joe, Wilsonic app is super awesome for making scala files, you can text them to yourself or email, its free as well and has lots of scales that one can edit. I used it quite a bit after reading interview with Aphex Twin who mentioned it.

see interview in here its cool read:


Thanks for the tip! Played around with it a little bit and seems like it will be really useful. Haven’t tried to create or customize yet but the included scales sound really good!


Any tips for a software with scala export that would make it easy to create equal tempered scales (no micro tuning)? For instance I’d still like to have a separate minor scale for each fundamental in my ER-101/102. I know that this is possible with every software suggested here, but if only working with equal tempered scales it’s tedious to type in frequency values for each step.


This is daunting as 4,802 Scala files are a lot to consider. I took 12 random files and threw them into my Scales directory and find them all interesting, this is going to be difficult.

@hyena have you figured out a rough number of files that can be put on the SD card without bogging things down for 50 minutes or even 2 minutes?


not yet, as of now i put in some 20 of them and all is fine and smooooothy :slight_smile:


thanks to the scala support in scale quantizer i started a research on a type of procedural composition, based on a synthesized metallic percussion instrument and his inharmonic series.
i formatted a scala file based on the ratios between partials and i will use it to quantize notes. thanks @odevices for this great feature and for always listening to this community! you are empowering my creativity and my professional life as (non-)musician


@odevices Do you have a scala file of the 22-Shruti scale you used as one of default scales in the quantizer? I am interested in having my scale sets match between my ER-301 and O&C, so I’m using the ER-301 defaults and a handful of custom ones I made as my main set.

And if you have a copy of the 24-TET, that would be nice too. It looks like it’s just a doubling of 12-TET, but it would be nice not to manually enter in the values.



It is really easy to write scala files :wink:

  • Lines that begin with ! are ignored.
  • One line with a description.
  • One line with the number of tones.
  • Then one line per pitch: If there is no decimal point then the value is interpreted as a ratio. If there is a decimal point then the value is interpreted in cents.

Here I have typed 22-shruti and 24-tet for you:

! 22-shruti.scl
! 24-tet.scl