Posted on 2020-05-19, 10:15 AMHi,
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?
Posted on 2020-05-19, 09:49 PMHi,
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!
Posted on 2020-05-20, 11:10 AMWow!
This is really good news, I just noticed yesterday that Scala can export .xml files if that makes things any easier.
Posted on 2020-05-21, 03:27 AMhi!
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.
Posted on 2020-05-21, 10:04 AMHi,
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 :)
Last edited on 2020-05-21 10:19:05
Posted on 2020-06-05, 05:53 AMHi 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.