back to list

For Michael: maximizing dyads in an equal temperament scale

🔗genewardsmith <genewardsmith@...>

1/19/2011 5:46:36 PM

I think it would be a good idea to check if we are on the same page, so I've giving some computations and wonder if you could compare your results with mine. If they are the same we can have some confidence.

Below I list data for 5, 6, and 7 note scales in 31 et. "Maximum" is the maximum number of dyads, and "Number" is how many scales achieve the maximum.

The unique 5-limit, 7-note maximum is (drum roll, please!) the diatonic scale, aka Meantone[7]. The unique 9-limit maximum is Mohajira[7]. The two 7-note 11-limit scales are Mohajira[7] and a non-MOS scale in mohajira. We likewise get Meantone[6] and Mohajira[6] from six notes.

5 notes

5-limit maximum: 14
Number: 7

7-limit maximum: 18
Number: 3

9-limit maximum: 20
Number: 9

11-limit maximum: 20
Number: 112

6 notes

5-limit maximum: 20
Number: 1

7-limit maximum: 24
Number: 14

9-limit maximum: 30
Number: 1

11-limit maximum: 30
Number: 37

7 notes

5-limit maximum: 26
Number: 1

7-limit maximum: 32
Number: 8

9-limit maximum: 40
Number: 1

11-limit maximum: 42
Number: 2

🔗Mike Battaglia <battaglia01@...>

1/19/2011 5:56:52 PM

On Wed, Jan 19, 2011 at 8:46 PM, genewardsmith
<genewardsmith@...> wrote:
>
> I think it would be a good idea to check if we are on the same page, so I've giving some computations and wonder if you could compare your results with mine. If they are the same we can have some confidence.
>
> Below I list data for 5, 6, and 7 note scales in 31 et. "Maximum" is the maximum number of dyads, and "Number" is how many scales achieve the maximum.
>
> The unique 5-limit, 7-note maximum is (drum roll, please!) the diatonic scale, aka Meantone[7]. The unique 9-limit maximum is Mohajira[7]. The two 7-note 11-limit scales are Mohajira[7] and a non-MOS scale in mohajira. We likewise get Meantone[6] and Mohajira[6] from six notes.

I thought Mohajira was an 11-limit temperament? Isn't the generator 11/9?

-Mike

🔗Michael <djtrancendance@...>

1/19/2011 6:43:12 PM

Gene>"I think it would be a good idea to check if we are on the same page, so
I've giving some computations and wonder if you could compare your results with
mine. If they are the same we can have some confidence."

Good idea. However... Ugh....well you gave me the goal of 12-tone
scales...I'll have to re-tune my program to give results for 5,6, and 7 note
scales. This means making recursive looping (allowing the number of iteration
loops within iteration loops to be changed on the fly), instead of using a loop
with a fixed set of numbers for making scales. I'll try my best...

>"The unique 5-limit, 7-note maximum is (drum roll, please!) the diatonic scale,
>aka Meantone[7]. The unique 9-limit maximum is Mohajira[7]. The two 7-note
>11-limit scales are Mohajira[7] and a non-MOS scale in mohajira."

Why am I not (too) surprised? Mohajira has always been among my very
favorites...and, in fact, I once re-discovered it "by mistake" by my own
calculations, only to be told Jacques Dudon has already created it. :-D

My only "problem" with Mohajira is that it has a stronger balance toward
11-limit dyads over 5 and 7-limit than I think is balanced. My own 7-tone
Dimension "hybrid" sub-scale (just about the closest comparable thing to
Mohajira I've made) is more like 0,5,8,13,18,23.27 in 31TET...with only one
12TET-like semi-tone between 5 and 8 and with a JI representation of (more or
less) 1/1 10/9 6/5 4/3 3/2 5/3 11/6 2/1)...and is built so the relative
abundance of lower limit dyads helps stabilize the 11-limit ones.

I'm very curious though...what non-MOS Mohajira did you come up with
(preferrably listed in rational/fraction-based format)?

🔗genewardsmith <genewardsmith@...>

1/19/2011 6:45:56 PM

--- In tuning@yahoogroups.com, Mike Battaglia <battaglia01@...> wrote:

> I thought Mohajira was an 11-limit temperament? Isn't the generator 11/9?

If you are going to treat the neutral third as a consonance, this is what you want to do. As a 7-limit temperament, mohajira has a generator of a tempered 128/105; 128/105 is 385/384 sharper than 11/9, but the 7-limit POTE tuning is only a cent sharper. The 7-limit temperament tempers out 81/80 and 6148/6125; adding 385/384 to that gives 11-limit mohajira. So going up to 11 is a no-brainer. .

🔗genewardsmith <genewardsmith@...>

1/19/2011 7:06:44 PM

--- In tuning@yahoogroups.com, Michael <djtrancendance@...> wrote:

> Good idea. However... Ugh....well you gave me the goal of 12-tone
> scales...I'll have to re-tune my program to give results for 5,6, and 7 note
> scales. This means making recursive looping (allowing the number of iteration
> loops within iteration loops to be changed on the fly), instead of using a loop
> with a fixed set of numbers for making scales. I'll try my best...

It sounds bizarrely complicated, and I think you would do much better to find another approach! I don't understand why a trivial edit won't work, or why the program wasn't written for n-edo in the first place.

> Why am I not (too) surprised? Mohajira has always been among my very
> favorites...and, in fact, I once re-discovered it "by mistake" by my own
> calculations, only to be told Jacques Dudon has already created it. :-D

> I'm very curious though...what non-MOS Mohajira did you come up with
> (preferrably listed in rational/fraction-based format)?

The mode with the smallest hash number is [4, 8, 13, 17, 21, 26, 31]. The smallest hash number version of your scale is [4, 8, 13, 16, 21, 26, 31].

🔗genewardsmith <genewardsmith@...>

1/19/2011 7:46:34 PM

--- In tuning@yahoogroups.com, "genewardsmith" <genewardsmith@...> wrote:

> It sounds bizarrely complicated, and I think you would do much better to find another approach! I don't understand why a trivial edit won't work, or why the program wasn't written for n-edo in the first place.

Let me expand on this. You have a number N, for N-edo. You have a scale s with ascending values from up to N. You have a set c of consonances, which are numbers between 0 and N. You take a double do loop, i from 1 to m, j from 1 to m, where m is the number of elements in the scale s. You compute s[j] - s[i] Mod N. If this is in your set c, you increment a counter by one. That's it!

🔗Michael <djtrancendance@...>

1/19/2011 7:48:15 PM

>"It sounds bizarrely complicated, and I think you would do much better to find
>another approach! I don't understand why a trivial edit won't work, or why the
>program wasn't written for n-edo in the first place."

Writing for n-edo is easy (just change the notesintuning value in my code),
writing for n-note scales within that n-edo is not....

The current loop looks something like

maxnotenumber = notesintuning - 1 'can also be any EDO value
for note1 = 1 to maxnotenumber - 11
for note2 = note1 to maxnotenumber - 10
............................
for note11 to note10 to 31

Note...I need 11 embeded loops to handle looping through all possibilities.

Now for a 5 note scale instead of 12 I could do the trivial loop edit of
maxnotenumber = notesintuning - 1 'can also be any EDO value
for note1 = 1 to maxnotenumber - 4
for note2 = note1 to maxnotenumber - 3
.....................
for note4 = note3 to maxnotenumber

But this would require me to change the number of loops in code for each time I
wanted to change the number of notes in the scale....and having to change the
source code every time I want to handle a different number of combinations
involved in calculating the scale wouldn't exactly be versatile.

Me>"I'm very curious though...what non-MOS Mohajira did you come up with
(preferrably listed in rational/fraction-based format)?"

Gene>"The mode with the smallest hash number is [4, 8, 13, 17, 21, 26, 31]. The
smallest hash number version

3
4 3 3 4 4 3
of your scale is [4, 8, 13, 16, 21, 26, 31]. "
3 4 2 4 4 4 3

Yep they are very very close to each other...weird. Mind my asking,
A) What would be the version of that non-mos Mohajira scale closest (far as
rotation) to my original of 0,5,8,13,18,23.27?
B) What dyad(s) does the one note switch give the non-Mos Mohajira that make
it's 11-limit dyad count higher than that of my scale? Does the non-Mos mode of
Mohajira have two 22/15-ish 5ths (AKA diminished 5ths) instead of one?
If so...that version of the scale seems like a perfect match to the "Arab"
7-tone mode in my Dimension scale system...which is also only one note different
than the "hybrid" modes I gave you.

BTW, the "Arab" 7-tone mode in Dimension is 0,5,<9>,13,18,23.27.
Interestingly enough, the 9-tone version of Dimension includes two of the
"hybrid" 7-tone modes (same scale system I showed you above), one 7-tone "Arab"
mode, and one 7-tone "meantone" mode...all within 9 notes. If this all fits
together as I think it does...it largely proves just how well the 9-tone
Dimension tuning system complies with inter-locking scale systems under it (both
Mohajira and Meantone) which maximize consonant dyads in the 3,5,7,9, and
11-limit and can serve as a compositional "extension" that on one hand has a
mode that complies with meantone and, on the other, can be optimum for higher
limits as well.

🔗Michael <djtrancendance@...>

1/19/2011 7:56:47 PM

Gene>"Let me expand on this. You have a number N, for N-edo. You have a scale s
with ascending values from up to N. You have a set c of consonances, which are
numbers between 0 and N."

Let me emphasize this...the multiple embeded for loops are for generating
all the possibilities of scales under the tuning...not for seeing of the dyads
in each scale are in the "good" list. I think you're looking at a completely
different part of the problem....my problem is how to generate all the possible
combinations for "scale s" in the first place.... You know, generating those
54 million or so combinations of scales for 12-tones, for example.

🔗genewardsmith <genewardsmith@...>

1/19/2011 8:12:45 PM

--- In tuning@yahoogroups.com, Michael <djtrancendance@...> wrote:

> Let me emphasize this...the multiple embeded for loops are for generating
> all the possibilities of scales under the tuning...not for seeing of the dyads
> in each scale are in the "good" list.

Ah, that makes sense. I just called a Maple function to get the next subset, but that doesn't help you. This might:

http://www.merriampark.com/comb.htm

🔗Michael <djtrancendance@...>

1/19/2011 9:17:37 PM

Gene>"Ah, that makes sense. I just called a Maple function to get the next
subset, but that doesn't help you. "
Wow, Maple does all the combinatorics that easily?! Lucky you....

Thank you for the code...and yes, that's right in line with what I'm trying
to do.

The good news....I managed to figure out a recursive algorithm "hack" that
does the same thing and, apparently, with a whole lot less code than the Java
class you sent me involved (only one tiny function that tracks all indexes of
each recursive function "loop" in a locally-stored string).

The code for this (not including the global variable list) is

Private Sub megaloop(ByVal list As String, ByVal start As Integer, ByVal times
As Integer, ByVal minus As Integer)

Dim i As Integer
If minus = 0 Then
testinc += 1
splitme = list.Split(",")

'Note: list is a string containing all the scale indexes, separated
by commas
'splitme is an array with each of the values in separate indexes

'''''**********magical dyad comparison code goes
here**************

Exit Sub
End If
For i = start To times - minus
megaloop(list + "," + i.ToString, i + 1, times, minus - 1)
Next
End If
End Sub

I call it as so for 31 choose 11
megaloop("", 1, 31, 11)

and for 31 choose 7 the code to call it is
megaloop("", 1, 31, 7)

The bad news, unless there is specific incentive to do so IE the
http://www.merriampark.com/comb.htm method in Java is much faster to run...it's
a rather slow task to convert that Java code to Vb.net (the language I'm working
in).

🔗Jacques Dudon <fotosonix@...>

1/20/2011 5:47:16 AM

> Michael wrote :

> > I'm very curious though...what non-MOS Mohajira did you come up with
> > (preferrably listed in rational/fraction-based format)?
>
> The mode with the smallest hash number is [4, 8, 13, 17, 21, 26, 31].

4 4 5 4 4 5 5 ? Isn't this the "A" mode of a 11-limit Rast ? (5 4 4 5 5 4 4)

or something like :
[60 66 72 81 88 96 108 120] (or with 80 in option)

> The smallest hash number version of your scale is [4, 8, 13, 16, > 21, 26, 31].

> Yep they are very very close to each other...weird. Mind my asking,
> A) What would be the version of that non-mos Mohajira scale closest > (far as
> rotation) to my original of 0,5,8,13,18,23.27?

[30 33 36 40 43 48 54 60] ?

> B) What dyad(s) does the one note switch give the non-Mos Mohajira > that make
> it's 11-limit dyad count higher than that of my scale?

22/15 ?

> Does the non-Mos mode of
> Mohajira have two 22/15-ish 5ths (AKA diminished 5ths) instead of one?

no, but one 22/15 and one 16/11 (difference 121/120)
- - - - - - - -
Jacques

> If so...that version of the scale seems like a perfect match to the > "Arab"
> 7-tone mode in my Dimension scale system...which is also only one > note different
> than the "hybrid" modes I gave you.
>
> BTW, the "Arab" 7-tone mode in Dimension is 0,5,<9>,13,18,23.27.
> Interestingly enough, the 9-tone version of Dimension includes two > of the
> "hybrid" 7-tone modes (same scale system I showed you above), one 7-> tone "Arab"
> mode, and one 7-tone "meantone" mode...all within 9 notes. If this > all fits
> together as I think it does...it largely proves just how well the 9-> tone
> Dimension tuning system complies with inter-locking scale systems > under it (both
> Mohajira and Meantone) which maximize consonant dyads in the > 3,5,7,9, and
> 11-limit and can serve as a compositional "extension" that on one > hand has a
> mode that complies with meantone and, on the other, can be optimum > for higher
> limits as well.

🔗Jacques Dudon <fotosonix@...>

1/20/2011 6:00:18 AM

> Michael wrote :

> Why am I not (too) surprised? Mohajira has always been among my very
> favorites...and, in fact, I once re-discovered it "by mistake" by > my own
> calculations, only to be told Jacques Dudon has already created > it. :-D

...or only generalized it, as I've been told myself the tetrachord was known 1000 years ago by Ibn-Sina :-D
- - - - - - - -
Jacques

🔗Michael <djtrancendance@...>

1/20/2011 6:07:12 AM

Me>"Does the non-Mos mode of
>Mohajira have two 22/15-ish 5ths (AKA diminished 5ths) instead of one?"
Jacques>no, but one 22/15 and one 16/11 (difference 121/120)

Me> I'm very curious though...what non-MOS Mohajira did you come up with
> (preferrably listed in rational/fraction-based format)?
Jacques>"4 4 5 4 4 5 5 ? Isn't this the "A" mode of a 11-limit Rast ? (5 4 4 5 5
4 4)....
Wow, between these two comments...sounds like all my "Arab" mode scale
is....may very well be 11-limit Rast. The only thing is...there is NO 16/11 in
my scale...but instead a 22/15 in its place (much because I think 22/15 sounds
much more upbeat and clear than 16/11, despite the two being "only" some odd 13
cents apart).

Which would make the 9-tone version a tuning with a slightly modifiedRast and
Meantone mode...and two "Hybrid" modes half way between a slightly modified Rast
and Meantone.

-Michael

🔗Jacques Dudon <fotosonix@...>

1/20/2011 7:00:31 AM

--- In tuning@yahoogroups.com, Michael <djtrancendance@...> wrote:
>
> Me>"Does the non-Mos mode of
> >Mohajira have two 22/15-ish 5ths (AKA diminished 5ths) instead of one?"
> Jacques>no, but one 22/15 and one 16/11 (difference 121/120)
>
>
> Me> I'm very curious though...what non-MOS Mohajira did you come up with
> > (preferrably listed in rational/fraction-based format)?
> Jacques>"4 4 5 4 4 5 5 ? Isn't this the "A" mode of a 11-limit Rast ? (5 4 4 5 5
> 4 4)....
> Wow, between these two comments...sounds like all my "Arab" mode scale
> is....may very well be 11-limit Rast.

Note that I borrowed the name "Rast" but I did not say it would be a "Arab Rast". It would certainly be more Arab than Turkish for sure, but in theory the Arabs would make reference to 27/16 for "A" instead of 5/3...
However with 5/3 and whether with 9/8 or 10/9 it's a scale common to many musical traditions, but I have no name for it (I used to call it "Vali" because I often heard the Malagasy instrument tuned to it, in the "yin" 10/9 version) - that's why I said "11-limit" Rast, just to precise it is special ...
- - - - -
Jacques

🔗genewardsmith <genewardsmith@...>

1/20/2011 12:02:09 PM

--- In tuning@yahoogroups.com, Jacques Dudon <fotosonix@...> wrote:

>
> 4 4 5 4 4 5 5 ? Isn't this the "A" mode of a 11-limit Rast ? (5 4 4 5
> 5 4 4)

If the scale below is the A mode of 11-limit Rast, then yes.

> or something like :
> [60 66 72 81 88 96 108 120] (or with 80 in option)

🔗David Bowen <dmb0317@...>

1/21/2011 7:05:17 PM

Michael,

If you are using recursion, you are still doing things the hard way.
There are algorithms for generating all combinations of n things taken k at
a time that only need two loops. Knuth's "The Art of Computer Programming"
Vol. 4A has several approaches depending on the order you want to generate
the combinations. Looking through the ACM's collected algorithms should turn
up similar results, if you don't have access to a copy of Knuth, either a
personal or a library copy. If worse comes to worse, shoot me a note and
I'll see if I can translate one of Knuth's algorithms into VB. It shouldn't
be that hard, but VB isn't one of my better languages.

David Bowen

On Wed, Jan 19, 2011 at 11:17 PM, Michael <djtrancendance@...> wrote:

>
>
> Gene>"Ah, that makes sense. I just called a Maple function to get the next
> subset, but that doesn't help you. "
> Wow, Maple does all the combinatorics that easily?! Lucky you....
>
> Thank you for the code...and yes, that's right in line with what I'm
> trying to do.
>
> The good news....I managed to figure out a recursive algorithm "hack"
> that does the same thing and, apparently, with a whole lot less code than
> the Java class you sent me involved (only one tiny function that tracks all
> indexes of each recursive function "loop" in a locally-stored string).
>
> The code for this (not including the global variable list) is
>
> Private Sub megaloop(ByVal list As String, ByVal start As Integer, ByVal
> times As Integer, ByVal minus As Integer)
> Dim i As Integer
> If minus = 0 Then
> testinc += 1
> splitme = list.Split(",")
>
> 'Note: list is a string containing all the scale indexes,
> separated by commas
> 'splitme is an array with each of the values in separate
> indexes
>
> '''''**********magical dyad comparison code goes
> here**************
>
> Exit Sub
> End If
> For i = start To times - minus
> megaloop(list + "," + i.ToString, i + 1, times, minus - 1)
> Next
> End If
> End Sub
>
>
> I call it as so for 31 choose 11
> megaloop("", 1, 31, 11)
>
> and for 31 choose 7 the code to call it is
> megaloop("", 1, 31, 7)
>
>
> The bad news, unless there is specific incentive to do so IE the
> http://www.merriampark.com/comb.htm method in Java is much faster to
> run...it's a rather slow task to convert that Java code to Vb.net (the
> language I'm working in).
>
>
>
>