kybertech
Joined: Jun 11, 2009 Posts: 15 Location: Vienna
|
Posted: Thu Jan 20, 2011 1:48 am Post subject:
Leonhard Euler's "gradus suavitatis" (degree of sweetness) Subject description: towards a practical application |
|
|
The main advantage you get from microtuning is that you can play just intervals with different ratios. Midi and analogue synths require an exponential scale however, so the trick is to make the differences between tone steps so small that they become indistinguishable to the human hearing system.
This is also what the midi microtuning standard implements, the thing is with infinitesimal interval equal tempered tuning becomes obsolete.
There is however some sort of way to implement dynamic tonality in a useable way.
The trick is to deal with intervals as ratios corresponding to different reference tones. This can be the last note played, the note before that, the lowest note of the beat, ... or the cumulative equivalent of all/some of the notes played within a specific time (I'll get to that!).
Tone bends can be implemented by doing a portamento between the notes. You will loose some freedom of expression though with chord progressions since you loose the just intervals in-between the notes.
There is a way to get around this issues in a very convenient but also computationally expensive way... This probably cannot be implemented on a PIC and I might go even as far as to say that this can fill up lots of memory on a PC since this is still to much to do everything in realtime.
Euler did invent a whole new theory of harmony ages ago but nobody did use it till now because of this issues. But since we have plenty of ram in current computers and there are transputer style processor arrays on the horizon (greenarrays chips) expect something soon. I did some work on the theory behind this too.
Basically it defines a function called "The Gradus Function" for the least common denominator of every fraction. Intervals with the same denominator have the same value since they have the same "melodiousness" (sweetness).
The way to do this is to take the prime factors of the denominator and how often they occur and put them into the formula:
gradus = 1+(p1*n1+p2*n2+...+n*p)-(n1+n2+...+n)
where
p... are the prime numbers and
n... are the powers they have (how often they occur)
The gradus function is the same for every prime number and a value below for every other value.
My plan is to implement a lookup table for every value of the function below a certain limit which contains the values which yield it. Then I'd have to come up with a solution to get the ratios which would yield to this denominator. (I'd have to stop at some point but I want to get to at least 7 part fractions since this is the maximum I can enter into my genoqs octopus)
To make this playable the plan is to use the mean channel aftertouch of last released note to determine the gradus value of the sounding note(s), and then use it to lookup the matching frequency nearest the key(s) of the 12-tone equal tempered keyboard.
Several ideas for the composing process but here the plan isn't quite finished yet and it depends how I progress with my knowledge of the octopus and the C language/chuck
As you can see this is certainly a "high end" application but I will doubt there will be much "commercial success" haha |
|