Microtuning/Scala support/.tun
DX100 | Posted on Tue 19 May 2020, 10:15 AM Hi,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? |
KODAMO | Posted on Tue 19 May 2020, 09:49 PM Hi,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! |
DX100 | Posted on Wed 20 May 2020, 11:10 AM Wow!This is really good news, I just noticed yesterday that Scala can export .xml files if that makes things any easier. |
noyzelab | Posted on Thu 21 May 2020, 03:27 AM hi!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. cheers dave |
KODAMO | Posted on Thu 21 May 2020, 10:04 AM Hi,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 :) |
noyzelab | Posted on Fri 05 Jun 2020, 05:53 AM 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. cheers! dave |
KODAMO | Posted on Sat 06 Jun 2020, 08:45 PM 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. |
DX100 | Posted on Sun 07 Jun 2020, 03:36 PM 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. |
DX100 | Posted on Fri 12 Jun 2020, 02:15 PM 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? |
DX100 | Posted on Fri 12 Jun 2020, 02:36 PM 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? |
KODAMO | Posted on Fri 12 Jun 2020, 03:04 PM 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 |
noyzelab | Posted on Tue 16 Mar 2021, 11:11 PM hi, have u thought further about making full keyboard tuning via scala file import? the 32 note limit is useful up to a point, but is quite restrictive. the scala scale library has lots of scales with more than 32 steps, all the way to 128 steps. consider for example 53EDO where there are 53 notes per octave, a very popular tuning. and anyone wishing to emulate the nrussian ANS synthesizer would require 72EDO with 72 notes per octave. something also to consider is loading in keymap .kbm files, also discussed on the scala site. these specifiy the actual keyboard mapping, allowing for very easy switching of root key & frequency. eg, its very easy then to specify in the .kbm that you want to tune to something other than A=440hz. the benefit is it can be done via the scale tuning, rather than having to adjust the master tune for the whole instrument. |
Kopplog | Posted on Mon 22 Mar 2021, 09:54 PM I totally agree on the usefulness of heaving the EFM beyond the 32-tone limitation. Now, this machine is going to get a historic behemoth for sound design and audio science outside the 12-edo realm.Hoping for the best! Ps. In fact, that is why I purchased it, aside it's MPE capabilities. |
noyzelab | Posted on Wed 14 Apr 2021, 02:18 AM i just saw on the GS thread in bug fixes => [Scala Import] Some Scala files weren't imported correctlythats great to hear. will you also be implementing full keyboard microtuning in this release? it would also be great and speed up workflow considerably if it was possible accept midi tuning standard [MTS] dumps, which can be specified as 12 note octave as well as full keyboard tunings. i am lucky to be one of the beta testers for the new microtuning plug in from oddsound called MTS-ESP => https://oddsound.com/ which would be able to control the EssenceFM via midi MTS dumps really nicely. |
KODAMO | Posted on Wed 14 Apr 2021, 04:01 AM We're doing some tests currently, non-realtime MTS dumps should be supported soon.You'll have to be in Global > Tuning, then receiving the SysEx will overwrite the currently selected scale. When receiving MTS data, the scale will automatically switch to "Advanced Mode", which allows separate tuning for all 128 notes. |
DX100 | Posted on Wed 14 Apr 2021, 02:15 PM Hi,This is excellent news, we REALLY need full tuning on this machine and not the 32 note limit, a lot of Yamaha fm synths had full microtuning like the TX81z, TX802, Dx7 E! etc This machine is going to awesome! |
noyzelab | Posted on Fri 16 Apr 2021, 01:28 AM thanks that's great, really looking forward to this! |
daphne.derbyshire | Posted on Tue 04 May 2021, 08:14 PM Could we get MTS realtime too so it can be dynamically tuned like the Novation Peak? Also having to go on a specific menu to receive MTS makes for poor useability, it's far nicer to have synths that receive MTS constantly. If you were performing a gig and the tuning changes every track, would we have to go into a specific menu to update the tuning every time? Doesn't sound like a great workflow. |
KODAMO | Posted on Fri 07 May 2021, 11:13 PM MTS even in its non-realtime form takes effect immediately. The Global > Tuning page doesn't stop the EssenceFM from working normally, so if you're performing a gig you can let the EssenceFM on this page to receive the new tuning between each track.Maybe realtime MTS will also get implemented, although we have other features on the list with higher priority. |
Knights Who Say Neve | Posted on Wed 12 May 2021, 07:57 AM First of all, thank you for implementing the MTS non-realtime dump receive, now I can send tunings in directly from my other microtonal instruments.However, there seems a rather alarming bug. Single-note messages work ok, but when I sent a bulk MTS tuning dump into the Kodamo, the Kodamo locked up and had to be rebooted. |
Reply