Forum index > General discussion

Microtuning/Scala support/.tun


It's good to see some microtuning features but this machine would be be INCEDIBLE if it could import FULL microtonal tunings from Scala files .scl
or .tun files?

I agree that would be nice. It wasn't implemented since Scala files aren't very easy to parse and convert, but it may come in a future firmware upgrade!
This is really good news, I just noticed yesterday that Scala can export .xml files if that makes things any easier.

this looks like the FM synth of my dreams. i'm seriously considering this machine for my studio, and full keyboard microtuning is a highly desirable feature for me. there are some examples of Scala parsers online but i can't post any links into forum replies, so you'll have to web search =>

C++ library for interpreting and using AnaMark Tuning files (.tun V0.0 - V2.0), multiple scales files (.msf), and Scala files (.scl and .kbm).

Observable dot com Parsing Scala Tuning files (.scl)

music21 at web dot mit dot edu

haskell dot org Music.Theory.Tuning.Scala

Tarsos: Software for Pitch Analysis is open source java that contains a Scala import function is on github

Scala website also details the .scl file format

as DX100 mentioned, there is also the .tun and .xml file format, but there are also other formats including the MIDI Tuning Standard [MTS] for microtuning dumps and messages, both full keyboard and octave based. MTS support would also be highly desirable along with direct import via .scl & .tun format files. some useful links to MTS info =>

microtonal-synthesis dot com

also midi dot org has the full MTS spec in MIDI 1.0 of course, but you will need to register to get the file..

i've recently made an open source repository which contains the entire Scala scale library converted to every format that supports full keyboard microtuning =>

gitlab dot com forwardslash noyzelab

from within Scala you can list all supported tuning dump types with the following command => show synthesizers

as you will see from the displayed list, the one for full keyboard MTS support is type 103.

hope some of this is useful? and thanks again for considering going the distance with implementing full keyboard microtuning support.

Thank you for all the details!

I just looked at the SCL format documentation this night and wrote a parser for it.

Works nicely - the only limitation to avoid modifying the EssenceFM engine is 32 notes per scale max, and the scale frequency multiplier should be close to 2 (a slight deviation from that is possible via the "Octave Stretching" parameter).

The new firmware bringing this feature and much more (MIDI file player and old-school FM mode without interpolation) will come in the next days :)
Hi thanks for the reply!

Can you explain about the restriction to 32 notes and the freq multiplier?

Another resource to check out is an MIT licensed open source .scl & .kbm at www dot surge dash synth dash team dot org they are also working on the Dexed program, and setting up microtuning to work in it..

".. core tuning implementation from surge and converted it into a standalone MIT licensed C++-14 header only library. We used this to build the tuning workbench synth and also to add tuning to our dexed form. And soon we will back-port it into surge.

But you can use it today!

So if you are a developer writing a virtual instrument, and you want to add support for SCL/KBM tuning, simply add our code to your source tree and use our data structures. We provide functions that given an SCL and KBM file or data source will give you an object which tells you the frequency of the entire keyboard in a mapping aware fashion."

hope that is useful reading.

Thanks for the lib, unfortunately it's not readily useable for us as we use really low level C with a small subset of C++ and assembly.

32 note limit sounded just like a sweet spot - not too much to process, and good margin over the standard 12-note scales.
Please re-consider using FULL microtuning, it would really propel this instrument into the modern new wave of synths coming out.

I highly recommend checking out the free excellent app WILSONIC on ios to get a good taster of what you can do with FULL microtuning, it's really easy to use.
Is there a chance the cents range can be increased past 1200, to the maximum possible range, this limitation is preventing some really amazing tuning possibilities from being made?
The tuning screen on the Essence is ALMOST amazing, what we need is something very simple, where any key can be any frequency so ALL tuning possibilities can be possible.
I think the implementation can be very simple, for every key selected for tuning, the coarse note can first be selected c4, e6, d#4 etc and then fine tune?
You're right that values greater than 1200 could be used to give more options (octave ratios different than 2).
Maybe in a future firmware upgrade.
Allowing to define each note's frequency (or relative frequency to the equal temperament) would be possible, although very tedious to do manually