clever scaling equation needed for maths dunderhead
So if I'm using something like ~groove, driving it with ~sig, and changing pitch within the range of, say, -2. (for double speed backwards) through to 2. (double speed forwards) then I'm happy...until:
suppose I wanted to have the resulting pitch changes to be more 'musical'. Sort of like using ftom followed by mtof, to quantize the pitch jumps - is there a simple way to do this? To scale the musical scale to within -2. to 2. ?
Or, would there have to be a pitch detector in first (hope not) to determine which pitch jumps can be made, and still be a 'note'? Surely not - a 5th and 8ve above any note is * 1.5 and * 2, respectively, using this method. So how about the notes in between?
Help - I'm going round in circles...
Lee Morgan
expr ((440. * exp(.057762265 * $f1))* 0.002273)
check out les stuck's transratio.pat in the examples folder.
for an easier solution, you could just use scale.
jl
> for an easier solution, you could just use scale.
easier, and not accurate at all.
:)
jl
Quote: Lee Morgan wrote on Thu, 21 February 2008 21:47
----------------------------------------------------
> So if I'm using something like ~groove, driving it with ~sig, and changing pitch within the range of, say, -2. (for double speed backwards) through to 2. (double speed forwards) then I'm happy...until:
>
> suppose I wanted to have the resulting pitch changes to be more 'musical'. Sort of like using ftom followed by mtof, to quantize the pitch jumps - is there a simple way to do this? To scale the musical scale to within -2. to 2. ?
Output of a slider split in 2 for forward and backward, offset/mapped and converted from semitone steps to transposition ratios where (transposition ratio * -1) is for backwards.
Now you can go round in circles in equal temperament ;)
yes, yummy math... if a standard octave is 12 semitones, and an octave is 2X the frequency, then you need a number that, when multiplied by itself 12 times, gives you 2... the 12th root of 2.
Using a calculator: 2 (x^y button) (1/12) = 1.0594631 (approx.)
Similar to an interest rate of (approx.) 6% -- or 1.06 as exponent -- it will double in about 12 years.
This is the number that you can multiply by any frequency and get the next higher semitone. You have to keep multiplying by this to get the whole step, minor third, etc... in a 12-tone scale, that is ;)
You could easily make other scales with however many (equally-spaced) notes that you want, just by taking the right root. So a whole-tone scale would be the 6th root of 2, or 1.12246205
A scale of minor 3rds (diminished 7th which repeats at the octave) has 4 separate notes, so 4th root of 2: 1.1892071
How about a scale of 10 notes? It sounds decidedly wacky to our 12-tone ears: 1.07177346
etc........
Speaking of changing pitch using speed changes, have you looked into gizmo~ yet? This is *very* worthwhile and gives you a whole ton of new possibilities. A bit more to set up and certainly harder on the processor, but the results can be pretty amazing, even with "low-res" options on the pfft~. It also allows some minor pitch alterations without changing speed, and they sound pretty true to the original. But when you go wacky, you can get wild results... like snare drums that sound like ghostly violins, now THAT'S some serious signal processing!
--CJ
That's fantastic, thanks. Especially the idea of other equal temperaments. And kjg, your patch in very neat - the perfect solution....thankyou!
Lee
Quote: Lee Morgan wrote on Fri, 22 February 2008 14:31
----------------------------------------------------
> That's fantastic, thanks. Especially the idea of other equal temperaments. And kjg, your patch in very neat - the perfect solution....thankyou!
other equal temperaments are easily achieved by replacing the 12 in the [expr] with another number,and adjusting the slider parameters, and the offsetting/mapping accordingly.
cheers!
have fun with it and, if at all possible, make some interesting music ;)