back to list

Re: towards hyper MOS

🔗Robert Walker <robert_walker@rcwalker.freeserve.co.uk>

11/26/2000 6:33:12 AM

Hi Paul,

Some returns have gone missing in the post and made nonsense of some of the equations. Sorry.

+ Sorry for need to repost a long msg.

Hope this works - done double returns for them all.

The sim equations are:

L(old) -> L(new) + M(new)

M(old) -> L(new) + S (new)

S (old) -> L(new)

Then

writing these as

rL = L +M

rM = L + S

rS = L

we have

S=L/r

rM = (1+1/r)L

rL=L+((1+1/r)L)/r

so

r^3L=r^2L+rL+L

r=1.8392867552141....

L/S = 1.83928675521416
M/S = 1.54368901269208

Here is a midi clip of some non melodic perc. instruments playing this as a Triibonacci
rhythm. Follows David Canright's idea of playing longest beat nearest to most
deeply re-inforced beat to make rhythm more interesting

http://www.robertwalker.f9.co.uk/trib/tribonacci_rhythm_LM_LS_L.mid
(or as FTS file)
http://www.robertwalker.f9.co.uk/trib/tribonacci_rhythm_LM_LS_L.ts

Uses 15 non melod perc instruments, which you hear all at once at start of clip.
Here is it again, this time with the instruments playing one at a time -choice of
instrument is according to depth of re-inforcement of the beat.
http://www.robertwalker.f9.co.uk/trib/tribonacci_rhythm_LM_LS_L_non_sim.mid

The problem the other way round is comparatively easy - given a map of L, M and S
in form
L(old) -> a1 L(new) + a2 M(new) + a3 S(new)

M(old) -> b1 L(new) + b2 M(new) + b3 S (new)

S (old) -> c1 L(new) + c2 M(new) + c3 S (new)

what you want is an r with

rL = a1 L + a2 M + a3 S

M -> b1 L + b2 M + b3 S

S -> c1 L + c2 M + c3 S

Solve the equations and you end up with a polynomial in r, a cubic in
general case, but often quadratic or linear.

Then solve the cubic to find r.

Almost any choice of the ai, bi, ci has a solution.

You can find solutions using Fractal Tune Smithy.

Try FTS | +... | Fibonacci rhythm | Custom rhythm | Custom 3 beat rhythm
(enter #@ into one of the three boxes to see the equation)

FTS doesn't always find solution in case where one can find solution by hand,
and in fact, thinking over this puzzle has helped me think of a couple of other
cases to increase number of solutions found. But it often finds analytic
solution, and nearly always finds solution by repeated substitution.

The reverse question, to find ai, bi, ci given the desired equation is more
tricky.

So how did I do it, and is the solution unique?

First of all, try setting one of a1, b2 or c3 to zero, e.g.

rL = a1 L + a2 M + a3 S

M -> b1 L + b2 M + b3 S

S -> c1 L + c2 M

This gives substitution of S in terms of L and M into first two equations.
Solve those and you end up with a quadratic in r.

So we need to have a1, b2 and c3 all non zero.

Let's try for ones that have solutions by replacing M and S by formulae in L

To simplify the resulting equation in r, make L equation have either a2 or a3 zero
(say, a3)

First idea:
rL = a1 L + a2 M

rM = b2 M + b3 S

rS = c1 L + c3 S

This will give M linear in S, and S linear in L,
so substituting for M in L equation, then for S in result will give cubic.
You end up with this formula:
(r-a1)(r-b2)(r-c3) = a2*b3*c1

L.h.s. will have to have a1+b2+c3=1 for the r^2 coefficient.

So only one of a1, b2 or c3 can be non zero.

That's clearly not going to work as we will end up with no r^2 term.

We need some extra play somewhere.

Easiest way to do it is to add an L term to the M as that will simply add a
new term in L when we substitute for M in the L formula, and so not add much
extra complexity to the solution.

So using
rL = a1 L + a2 M

rM = b1 L + b2 M + b3 S

rS = c1 L + c3 S

and substituting, one ends up with
(r-a1)L = a2 M

(r-b2)M = b1 L + b3 S

(r-c3)S = c1 L

So
(r-a1)L = a2( (b1 L + b3 S)/(r-b2) )

= a2( (b1 L + b3*c1/(r-c3) L)/(r-b2) )

Then multiplying through by (r-b2) then (r-c3)

(r-a1)(r-b2) = a2( (b1 + b3*c1/(r-c3) )

(r-a1)(r-b2) (r-c3) = a2( b1 (r-c3) + b3*c1 )

To get the right r^2 term for l.h.s., as before, we need
a1+b2+c3 = 1.

Try a1=1, b2=c3=0.

(r-1)*r^2 = a2( b1*r + b3*c1 )

For r coeff. = 1, need a2 = b1 =1.
Then for const. coeff, need b3 = c1 = 1.

Yielding
rL = L +M

rM = L + S

rS = L

One could also use a1=c3=0 and b2 =1.
This also needs a2=b1=1 and b3=c1=1 as before

to get

rL = M

rM = L + M + S

rS = L

L/S = 1.83928675521416
M/S = 3.38297576790624

http://www.robertwalker.f9.co.uk/trib/tribonacci_rhythm_M_LMS_L.mid
http://www.robertwalker.f9.co.uk/trib/tribonacci_rhythm_M_LMS_L.ts
(n.b. this turned up a bug in FTS, and so you will need next update of beta to play
this ts file, and the remaining 2. In some rare situations, detects first beat of these types of
rhythms as end of cycle, and so plays first note only- now fixed. Next upload
maybe today / tomorrow?).

http://www.robertwalker.f9.co.uk/trib/tribonacci_rhythm_M_LMS_L_non_sim.mid

This has swapped roles, clearly the M now is the longest beat.
But one can see it is indeed a new solution.

Try instead, a1=b2=0, c3=1, and you get
(r-1)*r^2 = a2( b1 (r-1) + b3*c1)

As before, a2 = b1 = 1 to get r coeff. 1.
Then for const. coeff, need
b3*c1 = 2.

rL = M

rM = L + 2*S

rS = L + S

S/L = 1.19148788395312

M/L = 1.83928675521416

So now L is the shortest beat. Another new solution.

http://www.robertwalker.f9.co.uk/trib//tribonacci_rhythm_M_LSS_LS.mid
http://www.robertwalker.f9.co.uk/trib/tribonacci_rhythm_M_LSS_LS.ts
http://www.robertwalker.f9.co.uk/trib/tribonacci_rhythm_M_LSS_LS_non_sim.mid

S/L = 1.191488

M/L =

or

rL = M

rM = L + S

rS = 2*L + S

M/L = 1.83928675521416

S/L = 2.38297576790624

This too is a new solution:
http://www.robertwalker.f9.co.uk/trib/tribonacci_rhythm_M_LS_LLS.ts
http://www.robertwalker.f9.co.uk/trib/tribonacci_rhythm_M_LS_LLS.mid
http://www.robertwalker.f9.co.uk/trib/tribonacci_rhythm_M_LS_LLS_non_sim.mid

The choice of a3 = c2 = 0 was to make the equations more tractable.

So one may well get more solutions with these non zero.

N.B. one solution of x^3 - x^2 - x - 1 = 0 is x = -i where i is sqrt(-1).

I mention that in case it gives anyone some neat ideas - couldn't think of any way to use it.

>scales is to Yasser? Bonus question: What is the object here
analogous to the generator in MOS scales, and in what way is this
generator built upon itself to create these "hyper-MOS" scales? Is
there more than one solution?

Sorry, haven't yet tried to decipher the Wilson golden ratio tree,
so don't really understand about the generator yet.

Perhaps someone post explaination of how it works, or is there a posting about
it already (imagine others might be interested in one too)?

However fact that each is divided in two except for the S in the first
solution seems kind of promising somehow...

Robert

🔗Robert Walker <robert_walker@rcwalker.freeserve.co.uk>

11/27/2000 9:34:07 PM

Hi Paul:

> L M L S L L M L S L M L
>1/1 16/15 9/8 6/5 5/4 4/3 64/45 3/2 8/5 5/3 16/9 15/8 (2/1)

>1 step: 16:15, 135:128, 25:24
>2 steps: 9:8, 10:9, 256:225
>3 steps: 6:5, 75:64, 32:27
>4 steps: 5:4, 512:405, 32:25, 81:64 -- FOUR SIZES!

That's so close! I've tried expanding the L M S a few times from,
say, the L, to check up on it, and not got anything like this.

Another thought was to try to go backwards from the j.i. pattern,
and try to deduce a previous step and generation rule, but no luck.

Another thought, maybe you could try something analogous to
David Canright's rule of placing longest beat next to most deeply
re-inforced (or shortest) - gives another possibility to work with.

But you can only try it once you know which beat is most strongly
re-inforced in the j.i. scale.

Thanks for pointing out the error with the sqrt(-1) - dropped a minus
sign somewhere,

I've been making some fractal tunes with these rhythms.

In fact one is included in new beta as demo of option to make custom voices,
with a c.v. consisting of eight bassoons playing fundamental plus
prime harmonics 3, 5, 7, 11, 13, 17 19 in MIDI (leaving out the 2).

Here it is, as idea of making a timbre in MIDI in this way may be of interest
to TL:

http://www.robertwalker.f9.co.uk/bassoon_prime_harmonics3.mid

(n.b. I've just noticed that one of the notes somewhere in the middle of this
clip doesn't get switched off straight away - obv. a FTS bug, but will prob.
take a little while to locate)

Thanks for explanation of the generator, I think I understand what you mean,
and will puzzle over to see if i can think of any 3-interval equivalent of it.

Robert