preenfm Forum
PreenFM => preenfm2 and preenfm3 => Topic started by: kuzma_p on November 11, 2014, 09:03:20 AM
-
Hello Xavier and guys!
What do you think about ability to load scala tuning files or to set your own tuning?
For example you can microtune tx81z/dx11: http://www.rreid.net/tuning/sysex_microtune.txt
I feel myself being in 12-TET jail lately :D
-
This is an interesting idea :)
I had no idea what contains a scala file, i just had a look.
It only describe how the notes are distributed in one octave.
So i don't get how to map the notes to the midi keyboard when the number of notes per octave are different from 12.
Less than 12 : do we leave silent notes and begin each octave on the C keyboard note ?
Greater than 12 : ? ? ?
What do other synth/VST do ?
Xavier
-
I guess, every note get's retuned. For example, here is tx81z programmer's tuning window for octave:
(http://the-all.org/tx81z/mtodlg.gif)
Full keyboard tuning editor is the same, but continious from c-2 to g8, so you can retune every key.
Madronalabs Aalto can load scala files, but you can't edit tunings. When i play note sequence from c3 to b6 pitch changes continiously according to scale you select, it can be chinese 60 or javanese pelog (7 notes). So midi notes are just a set of triggers and with Aalto you can ignore 12 TET notation system, especially if you have Madronalabs Soundplane:
(http://madronalabs.com/assets/k1_table_t-35c6fd687d2b9fb13d26b619301d48dc.jpg)
or haken continuum.
But system wise midi notes are still с-4s and a#3s etc
-
The same on my Korg X3... Each key has a 'cents' adjustment. I guess unused keys could be duplicates.
-
No, scala uses all keys iirc. But if you want, you can tune all keys to 440Hz ;D
-
http://www.huygens-fokker.org/scala/
scala tuning software homepage
-
Oh. Wow. Everything! So, you are saying I could tune a keyboard backwards? Sounds like a great excuse for a practical joke! ;D
I guess if you are tuning by 5ths, not octaves, you would need to tune each key or have a '5ths Editor'
-
OK I need to read a little more on scala tuning.
And then, it should not be hard to implement.
Could be the next feature... maybe in december.
Xavier
-
Awesome!
-
BumpityBump :D
-
I didn't specify any year after "december".... ;)
Seriously : no news sorry.
-
No problems
-
I'd like to give this a bump. I am interested in a PreenFM but this is an important feature for me. I have implemented scala-based tuning for my own softsynth and offer you the C++ class that does it, but I was thinking this morning that perhaps the simplest way to do it would be to read the frequency table from a file on the USB stick if available.
-
What would be great is to simply put scale file (*.scl) on the Usb stick and to be able to chose in the menu from all the available scala files.
Then i need an algo to turn a scala file into a frequency table for each midi note.... Do you have that ? :)
-
I do have a c++ class that does that. I will email it to you when I get home tonight.
-
Wow, activity! Cool :D
Btw, Xavier, i still use PFM2 since it is awesome.
-
The only problem i have with adding this great feature is... free time.
Thanks a lot glissant for you message and source code.
I'll hopefully have more free time in August.
-
No problem. I appreciate your considering the feature, as it would make the PreenFM very appealing to me. Hopefully that code will not require too much modification to work with the PreenFM processor!
-
Xavier, I have updated my gist because I noticed a mistake I made when reviewing the scala file format.
I am a C++ newbie so I've made the gist public so others can suggest improvements.
https://gist.github.com/wbajzek/5be46cfa8ebc11f7cc69
-
One of the thing i don't undertand is the root frequency : 1.0 Hz ?
Is it a standard or something you had to chose ?
In our occidental music, we have the A 440Hz so everybody can play in tune.
How do you tune different instrument using scala scale file ?
I'd like also to have something easily playable on a keyboard, and i think that requires to respect octave.
Even for 5 notes scale C2 should be one octave above C1. No ?
The scala program is said to suggest keyboard mapping for scale with more or less than 12 notes.
But it requires GTK on macos and it's 120Mb, a little too big before from where i am for the next 10 days.
I'll have a look when i'm back home.
Xavier
-
For my script, you would give it the frequency you want note 0 to have. I could rework it so you can choose the root note/key and it would extrapolate the rest of the notes.
As far as keyboard mapping goes, I'd suggest that octave mapping isn't that important. People who want it will make 12 note scales. People who don't care about keyboard mapping would be unrestricted.
-
OK thanks.
I've started, and I do a bit differently.
The frequency reference will be the midle C. This frequency will be modifiable (261,6Hz by default).
I'll set the octave on the other keyboard C notes (for scales with 12 degrees or less).
For scale with more than 12 degrees, 1 frequency octave will be 2 keyboard octave.
Not sure if there are scales with more than 24 degrees. (???)
Xavier
-
There can be; 31-tone equal temperament is a "popular" one :)
I think your approach is interesting, though. It's a different tradeoff than just mapping directly, and maybe more approachable in some cases. There are people who use midi controllers other than regular keyboards who may find it less convenient, but since your firmware is open source, someone could offer an alternative that behaves differently if necessary. The leap from microtuning with one kind of keyboard mapping to another is smaller than the leap from stock firmware to firmware which lets you browse the SD card for scala files and can parse them into arbitrary tunings.
It's your product and you are entitled to your own take on it; I am personally glad that you'd consider it AT ALL because it's not an attractive feature to most manufacturers, therefore people who are tuning-curious like I am are usually out in the code, not to mention people who come from cultures which haven't traditionally used equal temperament... Which is actually a lot of people, if you think about it.
And personally, I appreciate a synth that allows me to try new things!
-
Thanks :D
I'll add support for more than 24 degrees.
I'll also add an option to have continuous midi mapping (vs keyboard).
-
That will make your synth legendary amongst a small group of nerds :)
-
That will make your synth legendary amongst a small group of nerds :)
Haha... it was worth it ;)