preenfm Forum

PreenFM => preenfm2 and preenfm3 => Topic started by: kuzma_p on November 11, 2014, 09:03:20 AM

Title: Feature request: Microtuning
Post 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
Title: Re: Feature request: Microtuning
Post by: Xavier on November 11, 2014, 06:28:50 PM
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


Title: Re: Feature request: Microtuning
Post by: kuzma_p on November 11, 2014, 08:31:11 PM
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
Title: Re: Feature request: Microtuning
Post by: funkyfli on November 11, 2014, 08:43:29 PM
The same on my Korg X3... Each key has a 'cents' adjustment.  I guess unused keys could be duplicates.
Title: Re: Feature request: Microtuning
Post by: kuzma_p on November 11, 2014, 08:53:44 PM
No, scala uses all keys iirc. But if you want, you can tune all keys to 440Hz  ;D
Title: Re: Feature request: Microtuning
Post by: kuzma_p on November 12, 2014, 10:26:45 AM
http://www.huygens-fokker.org/scala/

scala tuning software homepage
Title: Re: Feature request: Microtuning
Post by: funkyfli on November 12, 2014, 05:02:34 PM
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'
Title: Re: Feature request: Microtuning
Post by: Xavier on November 13, 2014, 09:37:45 AM
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
Title: Re: Feature request: Microtuning
Post by: kuzma_p on November 13, 2014, 10:59:59 AM
Awesome!
Title: Re: Feature request: Microtuning
Post by: kuzma_p on January 17, 2015, 05:27:27 PM
BumpityBump :D
Title: Re: Feature request: Microtuning
Post by: Xavier on January 20, 2015, 09:53:49 AM

I didn't specify any year after "december".... ;)
Seriously : no news sorry.

Title: Re: Feature request: Microtuning
Post by: kuzma_p on January 20, 2015, 11:31:27 AM
No problems
Title: Re: Feature request: Microtuning
Post by: glissant on July 08, 2015, 03:42:09 PM
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.
Title: Re: Feature request: Microtuning
Post by: Xavier on July 09, 2015, 02:12:25 PM

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 ?  :)
Title: Re: Feature request: Microtuning
Post by: glissant on July 09, 2015, 07:57:31 PM
I do have a c++ class that does that. I will email it to you when I get home tonight.
Title: Re: Feature request: Microtuning
Post by: kuzma_p on July 10, 2015, 10:37:59 AM
Wow, activity! Cool :D

Btw, Xavier, i still use PFM2 since it is awesome.
Title: Re: Feature request: Microtuning
Post by: Xavier on July 12, 2015, 02:26:12 PM
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.
Title: Re: Feature request: Microtuning
Post by: glissant on July 14, 2015, 04:12:28 PM
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!
Title: Re: Feature request: Microtuning
Post by: glissant on July 18, 2015, 06:06:49 PM
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
Title: Re: Feature request: Microtuning
Post by: Xavier on July 25, 2015, 11:21:20 PM
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
Title: Re: Feature request: Microtuning
Post by: glissant on August 01, 2015, 10:03:15 PM
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.
Title: Re: Feature request: Microtuning
Post by: Xavier on August 03, 2015, 11:24:46 AM
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
Title: Re: Feature request: Microtuning
Post by: glissant on August 05, 2015, 11:59:52 PM
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!
Title: Re: Feature request: Microtuning
Post by: Xavier on August 06, 2015, 12:13:40 PM

Thanks  :D
I'll add support for more than 24 degrees.
I'll also add an option to have continuous midi mapping (vs keyboard).

Title: Re: Feature request: Microtuning
Post by: glissant on August 06, 2015, 03:55:53 PM
That will make your synth legendary amongst a small group of nerds :)
Title: Re: Feature request: Microtuning
Post by: Xavier on August 06, 2015, 11:27:19 PM
That will make your synth legendary amongst a small group of nerds :)

Haha... it was worth it  ;)