back to list

Two pumps with different "moods"

🔗Petr Pařízek <petrparizek2000@...>

5/20/2011 12:28:18 AM

Hi there,

it's interesting how contrasting moods these two examples have. Phew, this is really tough, I'll probably make a small piece of code for this one day:
http://dl.dropbox.com/u/8497979/pp_orwell_pump.ogg
http://dl.dropbox.com/u/8497979/pp_amity_pump.ogg
Petr

PS: Someone (probably Gene) was asking if they could reupload these things somewhere once I would have made them; yes, you can.

🔗Mike Battaglia <battaglia01@...>

5/20/2011 7:13:36 AM

2011/5/20 Petr Pařízek <petrparizek2000@...>
>
> Hi there,
>
> it's interesting how contrasting moods these two examples have. Phew, this
> is really tough, I'll probably make a small piece of code for this one day:
> http://dl.dropbox.com/u/8497979/pp_orwell_pump.ogg
> http://dl.dropbox.com/u/8497979/pp_amity_pump.ogg
> Petr
>
> PS: Someone (probably Gene) was asking if they could reupload these things
> somewhere once I would have made them; yes, you can.

These sound great! But how in the heck did you work out the amity one?
The comma for amity is 1600000/1594323, and the generator is 243/200.
I see right off the bat you do Fmaj -> D-m -> G-maj -> C-maj -> A--m
to end up moving up by (5/4 / 81/80), but other than that I can't
figure out the logic here at all, although I think it sounds awesome.
Temperaments that turn 81/80 shifts into just another part of the
overall "logic" of the system I find that I really enjoy.

Never mind! I just figured it out. So you have it go

Fmaj -> D-m -> G-maj -> (down a "grave fifth" and do it again)
C-maj -> A--m -> D--m -> (down a "grave fifth" and do it again)
G--maj -> E---m -> A---m -> (this time go down a 6/5 and do it again)
F#----maj -> B----maj -> E----maj -> (same as Eb+maj) -> (down 6/5)
Cm -> Fmaj!!!! w00000t

So the idea then is that E---- is the same as Eb+. The difference
between E- and Eb+ is 25/24, so this means that (81/80)^3 = 25/24 in
the system. I just double checked - the difference between these is in
fact 1600000/1594323. Damn!

A few questions:
1) Wow! How in the heck did you figure this chord progression out?
2) Porcupine makes (81/80)^1 out to be equal to 25/24, and Amity makes
(81/80)^3 out to be equal to 25/24. I had some sneaking suspicion that
Tetracot would make (81/80)^2 out to be equal to 25/24, and I was
right. Do you think some analog of the above progressions could be
constructed for Porcupine or Tetracot?

In general I'm trying to figure out how to turn the issue of "solving"
comma pumps into generalized "lego blocks" that you can put in any
tuning. For instance, the temperament equating (81/80)^4 and 25/24 is
the 7&65 129140163/128000000 temperament. This seems ridiculous, but
it's not too bad if you know how to modulate by 81/80 and also that
you just need 4 of those modulations to get you to a nicely manageable
25/24. What you have done with Amity here is a good way to study what
those lego blocks might be.

PS - did you make these as Scala sequences?

-Mike

🔗Petr Pařízek <petrparizek2000@...>

5/20/2011 12:51:58 PM

Mike wrote:

> 1) Wow! How in the heck did you figure this chord progression out?
It was a terribly time-consuming process but it was, nevertheless, in perfect accordance with my earlier concept of breaking the factor into powers of two other factors. This is the second approach I mention in my "almost finished" article. So you can either do it using the generator "switching" algorithm, which is "the first approach", or you can use the one which I'll now describe.

If we use octave equivalents of 3/1 and 5/1, then the exponents come out as -13 and 5 (I'm omitting the exponent for the prime 2, which would be 9). If we use octave equivalents of 3/1 and 5/3, then they're -8 and 5. If we use octave equivalents of 5/3 and 5/1, then they're 13 and -8, which is what we'll go for because we want to use major/minor triads for the whole thing -- i.e. we'll go for the version with the highest absolute values. This means that (5/24)^13 * (64/5)^8 = 1600000/1594323. Now, similarly to assigning things like "a=9/8, b=256/243" and multipliing "aabaaab" to get C major in Pythagorean, you can assign "a=5/24, b=64/5", then multiply "abaababaababaabaababa", and you get 1600000/1594323 (if you replace "a" and "b" with "1" and "2", respectively, you can try it in Scala with the Mode/create command). If you save both the non-reduced and the octave-reduced version of this, this allows you to make an amity drift in pure JI. If you, instead of that, raise each consecutive pitch by the 21th root of 1600000/1594323, you end up where you started, which is what I did.

> 2) Porcupine makes (81/80)^1 out to be equal to 25/24, and Amity makes
> (81/80)^3 out to be equal to 25/24. I had some sneaking suspicion that
> Tetracot would make (81/80)^2 out to be equal to 25/24, and I was
> right. Do you think some analog of the above progressions could be
> constructed for Porcupine or Tetracot?

Well, all three of them share the 10/9-style phrases, which you can hear yourself in my older examples.

> In general I'm trying to figure out how to turn the issue of "solving"
> comma pumps into generalized "lego blocks" that you can put in any
> tuning. For instance, the temperament equating (81/80)^4 and 25/24 is
> the 7&65 129140163/128000000 temperament.

This is a "plain 5-limit" implication of marvo, AFAIK.

> PS - did you make these as Scala sequences?

I did. It's a lot of work but there doesn't seem to be any other option at the moment.

Petr

🔗Mike Battaglia <battaglia01@...>

5/20/2011 2:10:41 PM

2011/5/20 Petr Pařízek <petrparizek2000@...>
>
> If we use octave equivalents of 3/1 and 5/1, then the exponents come out
> as -13 and 5 (I'm omitting the exponent for the prime 2, which would be 9).
> If we use octave equivalents of 3/1 and 5/3, then they're -8 and 5. If we
> use octave equivalents of 5/3 and 5/1, then they're 13 and -8, which is what
> we'll go for because we want to use major/minor triads for the whole
> thing -- i.e. we'll go for the version with the highest absolute values.
> This means that (5/24)^13 * (64/5)^8 = 1600000/1594323. Now, similarly to
> assigning things like "a=9/8, b=256/243" and multipliing "aabaaab" to get C
> major in Pythagorean, you can assign "a=5/24, b=64/5", then multiply
> "abaababaababaabaababa", and you get 1600000/1594323 (if you replace "a" and
> "b" with "1" and "2", respectively, you can try it in Scala with the
> Mode/create command). If you save both the non-reduced and the
> octave-reduced version of this, this allows you to make an amity drift in
> pure JI. If you, instead of that, raise each consecutive pitch by the 21th
> root of 1600000/1594323, you end up where you started, which is what I did.

OK, I see. That is very cool. Is this abaababaababaabaababa pattern
the Amity MOS or something? Also, is the "almost finished article" the
one you sent me offlist?

> > In general I'm trying to figure out how to turn the issue of "solving"
> > comma pumps into generalized "lego blocks" that you can put in any
> > tuning. For instance, the temperament equating (81/80)^4 and 25/24 is
> > the 7&65 129140163/128000000 temperament.
>
> This is a "plain 5-limit" implication of marvo, AFAIK.

What is "marvo?" I decided to call it "gravity" after amity because
the generator is a "grave" perfect fifth.

> > PS - did you make these as Scala sequences?
>
> I did. It's a lot of work but there doesn't seem to be any other option at
> the moment.

This might not be too difficult to code. The basic goal is to find a
taxicab route from point A to point B while only moving by 3/2, 5/4,
or 6/5? Maybe Gene's concept of the "minimal comma pump" would be
useful? The rules could be

1) Find the minimal comma pump
2) Break it down into motions by 3/2 and 5/4. Call motion by 3/2 a,
and motion by 5/4 b
3) Distribute a and b evenly; e.g. if the pattern to get you to the
pump is aaaaabb, make it aabaaab instead. So in other words, find the
"MOS" arrangement for it
4) Every time you have an adjacent +3/2 and -5/4 right next to one
another, condense it into a +6/5 instead

That should give you a fairly "even" route from point A to point B. Or
if you want to stick to generators as you said, rather than breaking
the root movements down into 3/2 and 5/4 directly, break them down
into generator movements (so 10/9 if you're in porcupine, etc). Then
break the generator movements into simpler movements.

-Mike

🔗petrparizek2000 <petrparizek2000@...>

5/20/2011 2:20:06 PM

I wrote:

> If you, instead of that, raise each consecutive pitch by the 21th
> root of 1600000/1594323,

I wanted to say "lower", not "raise".

Petr

🔗genewardsmith <genewardsmith@...>

5/20/2011 3:17:03 PM

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

> 1) Find the minimal comma pump
> 2) Break it down into motions by 3/2 and 5/4. Call motion by 3/2 a,
> and motion by 5/4 b
> 3) Distribute a and b evenly; e.g. if the pattern to get you to the
> pump is aaaaabb, make it aabaaab instead. So in other words, find the
> "MOS" arrangement for it
> 4) Every time you have an adjacent +3/2 and -5/4 right next to one
> another, condense it into a +6/5 instead

I did something similar for some of the 7-limit comma pumps, using the [a b c] notation for the cubic lattice of tetrads. I treated it like it was a Fokker block, and made adjustments where needed. Here's an example (a comma pump for 4375/4374):

[0 0 0]
[0 -1 0]
[1 -1 0]
[1 -1 -1]
[1 -2 -1]
[2 -2 -1]
[2 -3 -1]
[2 -3 -2]
[3 -3 -2]
[3 -4 -2]
[4 -4 -2]
[4 -5 -2]
[4 -5 -3]
[4 -6 -3]
[5 -6 -3]
[0 0 0]
[1 -1 0]
[1 -2 -1]
[2 -3 -1]
[3 -3 -2]
[4 -4 -2]
[4 -5 -3]
[5 -6 -3]

🔗Petr Pařízek <petrparizek2000@...>

5/20/2011 10:02:57 PM

Mike wrote:

> OK, I see. That is very cool. Is this abaababaababaabaababa pattern
> the Amity MOS or something?

Well, the answer is a bit complicated. A 21-tone chain of amity generators doesn't make a MOS. However, a 21-tone scale of a^13*b^8 does make a MOS if both "a" and "b" are rising or if both are falling. In that case, the generator is either a^5*b^3 or a^8*b^5. But in our case, one is falling, one is rising, and if you divide both of these by the 21st root of 1600000/1594323 (i.e. one gets wider and the other gets narrower), you get -- guess what -- not a MOS but an equal scale of amity generators, only listed in non-monotonic order; and a "zero cent" value instead of a period. -- And the figures like a^5*b^3 or a^8*b^5 then give you a single generator, rising or falling.

> Also, is the "almost finished article" the
> one you sent me offlist?

Exactly.

> What is "marvo?" I decided to call it "gravity" after amity because
> the generator is a "grave" perfect fifth.

I'm not sure myself. I think Gene understood it as a 7-limit 2D temperament -- maybe he could enlighten us. And I'm also not sure whether he means to use the name "marvo" for the 7-limit one or for the 5-limit one as well. The Xenwiki lists marvo using an an acute fourth as the generator and maps the 7/1 to, for goodness sake, "-17, 46"! More here:
http://xenharmonic.wikispaces.com/Proposed+names+for+rank+2+temperaments

> 1) Find the minimal comma pump
> 2) Break it down into motions by 3/2 and 5/4. Call motion by 3/2 a,
> and motion by 5/4 b

Or better yet, 3/1 and 5/1. This is what I get by finding the prime exponents of the vanishing interval (omitting the prime 2). But having found these, I then have to compare the exponent values after changing one of the two approximants to 5/3, therefore I get three pairs of exponent values and go for the one which uses the highest absolute values of them all.

Having done that, I then have to add or subtract the appropriate amount of octaves to each interval. So for amity, for example, let's see what the code would have to do in full detail.

The initial exponents are "9, -13, 5".

After some comparison, we find that the best way is to replace 3/1 with 5/3, which gives us new "source" exponents of "9, 13, -8".

Now, we break this into two pairs of numbers in such a way that their pparticular multiples add up to "9, 13, -8". So the target exponents for "a" will be "-3, 1, 0" and the target exponents for "b" will be "-6, 0, 1", which means that a = 5/24 and b = 5/64, therefore a^13*b^(-8) gives us the same as 1600000/1594323. This is the most important step of all -- describing the interval by two exponents instead of three.

Then, if any of the source exponents is negative, we invert the factor which uses that particular exponent to make the progression possible with positive powers of "a" and "b". For this example, we invert "b", so we have a = 5/24, b = 64/5, and our "modified" exponents are the absolute values of the source ones.

Now, these modified exponents add up to 21 (again, omitting prime 2), which means that the whole thing spans a total of 20 generators and that the 21st tone represents the vanishing interval. So finally, the factor which you've inverted is multiplied by the 21st root of the vanishing interval, while the unchanged one is divided by that.

From this moment on, you know the generator counts for "a" and "b" by reversing the order of the source exponents and, if necessary (in case they're both of the same sign), changing the sign in one of these (I personally prefer changing the one on the "resulting right-hand side" -- i.e. the one in the middle of the three original ones). For example, you can say that "a" takes -8 generators and "b" takes 13 generators in amity (same sign as the source), while "a" takes 7 generators and "b" takes -10 generators in orwell (the three source exponents are "-21, 10, 7"). For split-octave periods, you still have to divide by the GCD of the two, otherwise you're getting counts for a full octave rather than for one period -- i.e. including the repetition.

> 3) Distribute a and b evenly; e.g. if the pattern to get you to the
> pump is aaaaabb, make it aabaaab instead. So in other words, find the
> "MOS" arrangement for it

That's one solution -- the more straightforward one. Another is the one I used in my article -- i.e. if I already know that an octave equivalent of 5/3 takes -8 generators and that an octave equivalent of 1/5 takes 13 generators (that's the one I've inverted), this also tells me that the tonic major triad occupies generators -13 to 0 (namely 0, -5, -13) and that I should start with generator number -5 to get this triad (i.e. begin with an octave equivalent of 3/1, then comes a step of -8 generators which gives -13, then comes a step of +13 which gives 0). Since the total generator span is 20 and I wish to go away from the tonic range about the same amount in both directions, I can choose, for example, a range like -16 to +4, start with -5, and then just alternate steps of 13 and -8 generators in such a way that keeps me in that range.

> 4) Every time you have an adjacent +3/2 and -5/4 right next to one
> another, condense it into a +6/5 instead

I don't understand the use of this. You can make a meantone pump like "C A D G C" but there isn't a single triad. You can make a meantone pump like "C E A D G C" but this only gives you C major and A minor, followed by a D with no third or sixth available. But you can make a meantone pump like "C A F D B G E C" which is the shortest possible pump with major/minor triads.

> That should give you a fairly "even" route from point A to point B. Or
> if you want to stick to generators as you said, rather than breaking
> the root movements down into 3/2 and 5/4 directly, break them down
> into generator movements (so 10/9 if you're in porcupine, etc).

Well, you'd have to find the source exponents anyway so that doesn't change a lot on the algorithm.

My goodness, this is getting long again. :-D

Petr

🔗genewardsmith <genewardsmith@...>

5/20/2011 11:57:52 PM

--- In tuning@yahoogroups.com, Petr PaÅ™ízek <petrparizek2000@...> wrote:

> > What is "marvo?" I decided to call it "gravity" after amity because
> > the generator is a "grave" perfect fifth.
>
> I'm not sure myself. I think Gene understood it as a 7-limit 2D
> temperament -- maybe he could enlighten us. And I'm also not sure whether he
> means to use the name "marvo" for the 7-limit one or for the 5-limit one as
> well.

Marvo is most interesting as an 11-limit temperament, tempering out 225/224, 243/242 and 4000/3993, but of course you can reduce it to the 5 or 7 limits. In the 7-limit, it would temper out 78125000/7821827 as well as 225/224, and in the 5-limit, 129140163/128000000, which is what Mike has been on about.

🔗Mike Battaglia <battaglia01@...>

5/21/2011 12:05:30 AM

On Sat, May 21, 2011 at 2:57 AM, genewardsmith
<genewardsmith@...> wrote:
>
> > I'm not sure myself. I think Gene understood it as a 7-limit 2D
> > temperament -- maybe he could enlighten us. And I'm also not sure whether he
> > means to use the name "marvo" for the 7-limit one or for the 5-limit one as
> > well.
>
> Marvo is most interesting as an 11-limit temperament, tempering out 225/224, 243/242 and 4000/3993, but of course you can reduce it to the 5 or 7 limits. In the 7-limit, it would temper out 78125000/7821827 as well as 225/224, and in the 5-limit, 129140163/128000000, which is what Mike has been on about.

It would be worthwhile here to point out that I have no idea what I've
been on about lately. I've thrown out different random insights and
questions in every post I've made. This, coupled with the fact that
I'm too overwhelmed with projects right now to actually DO anything,
does not bode well for the development of these ideas. I'll need to
take some time to reorganize this.

Maybe a good thing to do would be to find the "minimum length comma
pump" for any temperament as represented in 5/4's, 3/2's, and 6/5's.
That should be easy to do. Then we'll know how temperaments like
"marvo" above, which I think I called "gravity," really do end up
comparing with things like magic and such. If a huge comma like
129140163/128000000 just ends up leading to a 10-chord comma pump or
something, that might not be a bad thing at all, and makes more sense
than looking at the periodicity block size and so on. Maybe once I
work that out I'll know what I've been on about.

-Mike

🔗genewardsmith <genewardsmith@...>

5/21/2011 12:25:45 AM

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

> > Marvo is most interesting as an 11-limit temperament, tempering out 225/224, 243/242 and 4000/3993, but of course you can reduce it to the 5 or 7 limits. In the 7-limit, it would temper out 78125000/7821827 as well as 225/224, and in the 5-limit, 129140163/128000000, which is what Mike has been on about.

You can also get rid of the "marv" part of marvo, by using only the 2.3.5.11 subgroup with the commas 243/242 and 4000/3993, with improved complexity.

> Maybe a good thing to do would be to find the "minimum length comma
> pump" for any temperament as represented in 5/4's, 3/2's, and 6/5's.
> That should be easy to do.

That's a thought.

🔗Mike Battaglia <battaglia01@...>

5/21/2011 12:42:16 AM

On Sat, May 21, 2011 at 3:25 AM, genewardsmith
<genewardsmith@...> wrote:
>
> You can also get rid of the "marv" part of marvo, by using only the 2.3.5.11 subgroup with the commas 243/242 and 4000/3993, with improved complexity.
>
> > Maybe a good thing to do would be to find the "minimum length comma
> > pump" for any temperament as represented in 5/4's, 3/2's, and 6/5's.
> > That should be easy to do.
>
> That's a thought.

So the way I thought to do this was

1) Take the comma in monzo form
2) Ditch 2
3) Now you have a list of 3/2 and 5/4 steps
4) Condense as many 3/2's - 5/4's into 6/5's as you can
5) Done

Sounds simple enough, right? However, if you skip #4, you have a huge
advantage: the L1 norm of the comma pump itself -IS- the number of 5/4
and 3/2 root movements it takes you to traverse it, because the monzo
is being represented in terms of powers of 5 and 3. So if we skip this
6/5 business, the minimum length comma pump as represented in 5/4's
and 3/2's is just the L1 norm of the comma with no weighting.

It is extremely easy to devise a related algebraic expression for the
5/4, 3/2, 6/5 pump. Which leads me to ask, are there other norms or
seminorms that might have some obvious use here? One thing that comes
to mind is to weight the axes such that the contribution to the total
for moving by 6/5 is the same as moving by 3/2 * 4/5. Having something
like a 12.434 comma pump progression length for a certain temperament
if that number represents a weighted average of all the things you
could do. Maybe the L2 norm will get involved somehow.

-Mike

🔗genewardsmith <genewardsmith@...>

5/21/2011 12:48:35 AM

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

> Sounds simple enough, right? However, if you skip #4, you have a huge
> advantage: the L1 norm of the comma pump itself -IS- the number of 5/4
> and 3/2 root movements it takes you to traverse it, because the monzo
> is being represented in terms of powers of 5 and 3.

Using the cubic lattice of tetrads in the 7-limit, the length of the shortest paths using chord relationships where two notes are always shared is the L1 norm, and this makes the matter pretty easy.

🔗Mike Battaglia <battaglia01@...>

5/21/2011 12:53:31 AM

On Sat, May 21, 2011 at 3:48 AM, genewardsmith
<genewardsmith@...> wrote:
>
> > Sounds simple enough, right? However, if you skip #4, you have a huge
> > advantage: the L1 norm of the comma pump itself -IS- the number of 5/4
> > and 3/2 root movements it takes you to traverse it, because the monzo
> > is being represented in terms of powers of 5 and 3.
>
> Using the cubic lattice of tetrads in the 7-limit, the length of the shortest paths using chord relationships where two notes are always shared is the L1 norm, and this makes the matter pretty easy.

So is answer about whether or not you see some clever use for the L2
norm or other norms here "no?" :)

PS - any thoughts on the weighting so as to encapsulate movements by 6/5?

-Mike

🔗Petr Parízek <petrparizek2000@...>

5/21/2011 2:33:37 AM

Mike wrote:

> So the way I thought to do this was
>
> 1) Take the comma in monzo form
> 2) Ditch 2
> 3) Now you have a list of 3/2 and 5/4 steps
> 4) Condense as many 3/2's - 5/4's into 6/5's as you can
> 5) Done

If I've understood what you're saying, you're essentially looking for the "root tones" of the chords, like "C A D G C" for meantone. The difference between what you're doing and what I'm doing is that I'm working with the actual "contents" of each chord and that I always keep at least one common tone between two consecutive chords.
For example, when I multiply "abaababaababaabaababa" in amity, I get the following notes:
C A\ F D\ B\\ G\ E\\ C\ A\\ F#\\\ D\\ B\\\ G\\ E\\\ C#\\\\ A\\\ F#\\\\
D#\\\\\ B\\\\ G#\\\\\ E\\\\ C#\\\\\ (same as C natural)

Also, see message #99375 for a very detailed explanation of the algorithm I use. If something like this could be "automated" one day, it could save us hours.

Petr

🔗Petr Pařízek <petrparizek2000@...>

5/21/2011 6:50:59 AM

I wrote:

> Now, these modified exponents add up to 21 (again, omitting prime 2), > which
> means that the whole thing spans a total of 20 generators and that the > 21st
> tone represents the vanishing interval.

I meant "the 21st step" -- i.e. the degree 21 if the starting degree is 0, which in turn means the 22nd tone of the sequence.

Petr

🔗genewardsmith <genewardsmith@...>

5/21/2011 8:50:21 AM

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

> So is answer about whether or not you see some clever use for the L2
> norm or other norms here "no?" :)

My answer is that you toss out ideas faster than I think about them.

🔗Mike Battaglia <battaglia01@...>

5/21/2011 9:52:41 AM

On May 21, 2011, at 11:50 AM, genewardsmith <genewardsmith@...>
wrote:

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

> So is answer about whether or not you see some clever use for the L2
> norm or other norms here "no?" :)

My answer is that you toss out ideas faster than I think about them.

I see.

-Mike

🔗Carl Lumma <carl@...>

5/21/2011 11:35:06 AM

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

> > Maybe a good thing to do would be to find the "minimum length comma
> > pump" for any temperament as represented in 5/4's, 3/2's, and 6/5's.
> > That should be easy to do.
>
> That's a thought.

That's just unweighted 5-limit triangular lattice distance to
the comma. Paul Hahn worked it out in 1999 or thereabouts. -C.

🔗Carl Lumma <carl@...>

5/21/2011 11:42:05 AM

Gene wrote:
> Using the cubic lattice of tetrads in the 7-limit, the length
> of the shortest paths using chord relationships where two notes
> are always shared is the L1 norm, and this makes the matter
> pretty easy.

Progressions of shortest unweighted triangular distance will
always have the maximum number of common tones between chords.

I wrote:
> That's just unweighted 5-limit triangular lattice distance to
> the comma. Paul Hahn worked it out in 1999 or thereabouts. -C.

There will often be more than one route tied for shortest
of course.

-Carl

🔗genewardsmith <genewardsmith@...>

5/21/2011 11:42:46 AM

--- In tuning@yahoogroups.com, "Carl Lumma" <carl@...> wrote:
>
> --- In tuning@yahoogroups.com, "genewardsmith" <genewardsmith@> wrote:
>
> > > Maybe a good thing to do would be to find the "minimum length comma
> > > pump" for any temperament as represented in 5/4's, 3/2's, and 6/5's.
> > > That should be easy to do.
> >
> > That's a thought.
>
> That's just unweighted 5-limit triangular lattice distance to
> the comma. Paul Hahn worked it out in 1999 or thereabouts. -C.

Yeah, I thought that might be the case. The 7-limit Hahn metric on
|a b c d> is max(|b|, |c|, |d|, |b+c|, |b+d|, |c+d|, |b+c+d|) if anyone wants to play with it, but for comma pumps I think the taxicab thing I just discussed is more useful.

🔗genewardsmith <genewardsmith@...>

5/21/2011 11:46:04 AM

--- In tuning@yahoogroups.com, "Carl Lumma" <carl@...> wrote:
>
> Gene wrote:
> > Using the cubic lattice of tetrads in the 7-limit, the length
> > of the shortest paths using chord relationships where two notes
> > are always shared is the L1 norm, and this makes the matter
> > pretty easy.
>
> Progressions of shortest unweighted triangular distance will
> always have the maximum number of common tones between chords.

Not in the 7-limit.

🔗Carl Lumma <carl@...>

5/21/2011 12:13:55 PM

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

> > Progressions of shortest unweighted triangular distance will
> > always have the maximum number of common tones between chords.
>
> Not in the 7-limit.

Wanna bet? -Carl

🔗genewardsmith <genewardsmith@...>

5/21/2011 1:53:25 PM

--- In tuning@yahoogroups.com, "Carl Lumma" <carl@...> wrote:
>
> --- In tuning@yahoogroups.com, "genewardsmith" <genewardsmith@> wrote:
>
> > > Progressions of shortest unweighted triangular distance will
> > > always have the maximum number of common tones between chords.
> >
> > Not in the 7-limit.
>
> Wanna bet? -Carl

And my discussion of the senga comma pump hasn't already proven you are wrong because...?

🔗genewardsmith <genewardsmith@...>

5/21/2011 2:27:38 PM

--- In tuning@yahoogroups.com, "genewardsmith" <genewardsmith@...> wrote:
>
>
> --- In tuning@yahoogroups.com, "Carl Lumma" <carl@> wrote:
> >
> > --- In tuning@yahoogroups.com, "genewardsmith" <genewardsmith@> wrote:
> >
> > > > Progressions of shortest unweighted triangular distance will
> > > > always have the maximum number of common tones between chords.
> > >
> > > Not in the 7-limit.
> >
> > Wanna bet? -Carl
>
> And my discussion of the senga comma pump hasn't already proven you are wrong because...?

Actually, I think you are right. The difference is, I had a pump where the chords were more closely related. Hmmm...

🔗Carl Lumma <carl@...>

5/21/2011 7:41:56 PM

Gene wrote:

>>> Progressions of shortest unweighted triangular distance
>>> will always have the maximum number of common tones between
>>> chords.
>
> Actually, I think you are right. The difference is, I had a
> pump where the chords were more closely related. Hmmm...

I'm not sure what you mean by more closely related.
At least until the 9-limit, dyads are the largest possible
common chord between chords. All reasonable distances
should nail common pitches, so dyads are the acid test.
"Triangular" just means the distance where all consonant
dyads have length 1 and only consonant dyads have length 1.
Therefore it assigns the least length to modulations that
preserve the largest common chord. I believe your cubic
lattice of chords does exactly the same thing.

Well, they also assign length 1 to modulations that preserve
only a single pitch. Maybe a distance giving otonal->otonal
and utonal->utonal modulations shorter length would be even
better. But I reckon any such distance would be nasty
business, since to distinguish these it would have to be
asymmetrical.

-Carl

🔗genewardsmith <genewardsmith@...>

5/21/2011 8:37:51 PM

--- In tuning@yahoogroups.com, "Carl Lumma" <carl@...> wrote:

> I'm not sure what you mean by more closely related.
> At least until the 9-limit, dyads are the largest possible
> common chord between chords. All reasonable distances
> should nail common pitches, so dyads are the acid test.
> "Triangular" just means the distance where all consonant
> dyads have length 1 and only consonant dyads have length 1.
> Therefore it assigns the least length to modulations that
> preserve the largest common chord. I believe your cubic
> lattice of chords does exactly the same thing.

Except the cubic lattice approach really does get common dyads, and I don't think that's true for more general approaches. If you want a real acid test, look at the "line comma" pump |11 -10 -10 10> = 578509309952/576650390625. There's really only one way to do it.

🔗Carl Lumma <carl@...>

5/21/2011 9:52:27 PM

Gene wrote:

> > That's just unweighted 5-limit triangular lattice distance to
> > the comma. Paul Hahn worked it out in 1999 or thereabouts. -C.
>
> Yeah, I thought that might be the case. The 7-limit Hahn metric
> on |a b c d> is max(|b|, |c|, |d|, |b+c|, |b+d|, |c+d|, |b+c+d|)
> if anyone wants to play with it

If you ignore the first monzo element and sort the rest
by sign, p1 p2 p3... and n1 n2 n3... it works for any prime
limit more easily

max((p1+p2+p3...),abs(n1+n2+n3...))

But the real trick was figuring out how to do it for odd
limits. -Carl

🔗Carl Lumma <carl@...>

5/21/2011 9:56:53 PM

--- "genewardsmith" <genewardsmith@...> wrote:

> Except the cubic lattice approach really does get common dyads,
> and I don't think that's true for more general approaches.
> If you want a real acid test, look at the "line comma" pump
> |11 -10 -10 10> = 578509309952/576650390625. There's really
> only one way to do it.

I don't have a method up and running to find the progressions.
How many chords does your pump contain? My reasoning is, since
A3 = D3 they can't be different and at best your method is
more specific (requires testing fewer alternatives). -Carl

🔗genewardsmith <genewardsmith@...>

5/22/2011 12:54:45 AM

--- In tuning@yahoogroups.com, "Carl Lumma" <carl@...> wrote:
>
> --- "genewardsmith" <genewardsmith@> wrote:
>
> > Except the cubic lattice approach really does get common dyads,
> > and I don't think that's true for more general approaches.
> > If you want a real acid test, look at the "line comma" pump
> > |11 -10 -10 10> = 578509309952/576650390625. There's really
> > only one way to do it.
>
> I don't have a method up and running to find the progressions.
> How many chords does your pump contain? My reasoning is, since
> A3 = D3 they can't be different and at best your method is
> more specific (requires testing fewer alternatives). -Carl

The comma in question, which I've dubbed "linus", is 2/(15/14)^10. So to get a minimal pump, you need to get from 1 to 15/14, and do that ten times. How do you expedite getting from 1 to 15/14 other than by 1-5/4-3/2-7/4 => 15/14-5/4-3/2-15/8 => 15/14-75/56-45/28-15/8? Of course you can also go down, doing the pump in reverse.

If you like this example, try 2/(21/20)^14.

🔗lobawad <lobawad@...>

5/22/2011 1:06:38 AM

It seems to me that it should be made clear that what's really being done is that the geneology of these comma pumps are being "spelled out". Because it is possible for the most efficient chord motion tempering out a comma to be a whole lot quicker and more heavy-handed than the way it's being done. For example, for 1029/1024, in any system in which the 8/7 is tempered to be the 3rd root of the 3/2, simply going Vharm7 - I has already tempered out the comma. For that matter just bopping up three 8/7s to a 3/2 has.

--- In tuning@yahoogroups.com, "genewardsmith" <genewardsmith@...> wrote:
>
>
> --- In tuning@yahoogroups.com, "genewardsmith" <genewardsmith@> wrote:
> >
> >
> > --- In tuning@yahoogroups.com, "Carl Lumma" <carl@> wrote:
> > >
> > > --- In tuning@yahoogroups.com, "genewardsmith" <genewardsmith@> wrote:
> > >
> > > > > Progressions of shortest unweighted triangular distance will
> > > > > always have the maximum number of common tones between chords.
> > > >
> > > > Not in the 7-limit.
> > >
> > > Wanna bet? -Carl
> >
> > And my discussion of the senga comma pump hasn't already proven you are wrong because...?
>
> Actually, I think you are right. The difference is, I had a pump where the chords were more closely related. Hmmm...
>

🔗genewardsmith <genewardsmith@...>

5/22/2011 1:33:25 AM

--- In tuning@yahoogroups.com, "lobawad" <lobawad@...> wrote:
>
> It seems to me that it should be made clear that what's really being done is that the geneology of these comma pumps are being "spelled out". Because it is possible for the most efficient chord motion tempering out a comma to be a whole lot quicker and more heavy-handed than the way it's being done. For example, for 1029/1024, in any system in which the 8/7 is tempered to be the 3rd root of the 3/2, simply going Vharm7 - I has already tempered out the comma. For that matter just bopping up three 8/7s to a 3/2 has.

Other than with the pump for the senga, my pumps run through things twice, once with common dyads, then heavy-handed. For 1029/1024 my pump example works just as you suggest for the second part:

http://clones.soonlabel.com/public/micro/gene_ward_smith/pumps/1029.mp3

🔗lobawad <lobawad@...>

5/22/2011 2:08:28 AM

The wiki needs a lot more explaining of what's going on and how things are being illustrated. That's not a complaint, just an observation.

Hosting examples at Soundcloud seems like a very good idea, because there can be explanatory text along with the example (and perhaps others, not just I, have no problems with Soundcloud whereas find other hosting systems tend to be sluggish and problematic).

--- In tuning@yahoogroups.com, "genewardsmith" <genewardsmith@...> wrote:
>
>
> --- In tuning@yahoogroups.com, "lobawad" <lobawad@> wrote:
> >
> > It seems to me that it should be made clear that what's really being done is that the geneology of these comma pumps are being "spelled out". Because it is possible for the most efficient chord motion tempering out a comma to be a whole lot quicker and more heavy-handed than the way it's being done. For example, for 1029/1024, in any system in which the 8/7 is tempered to be the 3rd root of the 3/2, simply going Vharm7 - I has already tempered out the comma. For that matter just bopping up three 8/7s to a 3/2 has.
>
> Other than with the pump for the senga, my pumps run through things twice, once with common dyads, then heavy-handed. For 1029/1024 my pump example works just as you suggest for the second part:
>
> http://clones.soonlabel.com/public/micro/gene_ward_smith/pumps/1029.mp3
>

🔗Mike Battaglia <battaglia01@...>

5/22/2011 11:43:07 AM

Sorry, Petr, my gmail put your latest posts in as spam. Just getting them now

On Sat, May 21, 2011 at 5:33 AM, Petr Parízek <petrparizek2000@yahoo.com> wrote:
>
> > 1) Take the comma in monzo form
> > 2) Ditch 2
> > 3) Now you have a list of 3/2 and 5/4 steps
> > 4) Condense as many 3/2's - 5/4's into 6/5's as you can
> > 5) Done
>
> If I've understood what you're saying, you're essentially looking for the
> "root tones" of the chords, like "C A D G C" for meantone. The difference
> between what you're doing and what I'm doing is that I'm working with the
> actual "contents" of each chord and that I always keep at least one common
> tone between two consecutive chords.
> For example, when I multiply "abaababaababaabaababa" in amity, I get the
> following notes:
> C A\ F D\ B\\ G\ E\\ C\ A\\ F#\\\ D\\ B\\\ G\\ E\\\ C#\\\\ A\\\ F#\\\\
> D#\\\\\ B\\\\ G#\\\\\ E\\\\ C#\\\\\ (same as C natural)

I plan on keeping track of the actual contents of each chord as well.
It shouldn't be too hard to keep one common tone out there at all
times. I thought it would be a good idea to break the problem down
into two steps

1) Find root movements
2) Work out chord qualities

The issue of #2 is where you and I have differing approaches, but it
shouldn't be too hard to code for both of them. For #2, I'd like to
emphasize common-practice style "functionality" as much as possible,
whereas you'd like more to use a few notes in the chain of generators
as possible. It shouldn't be too big of a deal to figure out either
case.

> Also, see message #99375 for a very detailed explanation of the algorithm I
> use. If something like this could be "automated" one day, it could save us
> hours.

I would be happy coding it, but I'd like to get it on some kind of web
platform. If that doesn't work, then maybe JUCE. But a web platform
that supports audio/MIDI stuff would do us all really good.

-Mike

🔗Carl Lumma <carl@...>

5/22/2011 12:28:10 PM

Gene wrote:

> The comma in question, which I've dubbed "linus", is
> 2/(15/14)^10. So to get a minimal pump, you need to get
> from 1 to 15/14, and do that ten times. How do you expedite
> getting from 1 to 15/14 other than by 1-5/4-3/2-7/4 =>
> 15/14-5/4-3/2-15/8 => 15/14-75/56-45/28-15/8?

Yep, that's how to do it. 15/14 has triangular length 2,
and linus has triangular length 20.

> If you like this example, try 2/(21/20)^14.

21/20 is also length 2 and this comma is length 28,
but you already knew that.

Assuming the 1/1 6/5 3/2 12/7 rooting for utonal tetrads,
each 21/20 move is gonna be 1/1o -> 7/4u -> 21/20o and
again it's the only one.

In general for the 7-limit,

* The set of dyad-preserving progressions that start and
end on like chords and the set having an odd number of
steps (counting the starting chord) are the same.

* Any dyad-preserving progression of at least 3 steps can
be decomposed into a chain of 3-step progressions; the last
pair can overlap when the source progression has an even
number of steps.

* Each dyad-preserving 3-step progression has two variant
routes if it's length 1, one route if it's length 2, and
zero routes if it's length 3. Now we can calculate the
number of variants of a long dyad-preserving progression.
But how to find the progression in the first place? The
problem is that not all length 2 trips have a dyad-
preserving route (for example 1/1o -> 9/8o).

* Euclidean distance to the rescue: Length 1 trips have
exactly two routes, length sqrt(2) trips have one, and
length > sqrt(2) trips have none. 21/20 and 15/14 are
both Euclidean distance sqrt(2).

-Carl

🔗Chris Vaisvil <chrisvaisvil@...>

5/22/2011 12:47:49 PM

I put them here:

http://micro.soonlabel.com/petr_parizek/

2011/5/20 Petr Pařízek <petrparizek2000@...>

>
>
> Hi there,
>
> it's interesting how contrasting moods these two examples have. Phew, this
> is really tough, I'll probably make a small piece of code for this one day:
> http://dl.dropbox.com/u/8497979/pp_orwell_pump.ogg
> http://dl.dropbox.com/u/8497979/pp_amity_pump.ogg
> Petr
>
> PS: Someone (probably Gene) was asking if they could reupload these things
> somewhere once I would have made them; yes, you can.
>
>
>
>

🔗Chris Vaisvil <chrisvaisvil@...>

5/22/2011 12:56:19 PM

The wiki should have any / the explanation regardless of where the files are
hosted in my view. Otherwise what is the purpose of the wiki?

On Sun, May 22, 2011 at 5:08 AM, lobawad <lobawad@...> wrote:

>
>
> The wiki needs a lot more explaining of what's going on and how things are
> being illustrated. That's not a complaint, just an observation.
>
> Hosting examples at Soundcloud seems like a very good idea, because there
> can be explanatory text along with the example (and perhaps others, not just
> I, have no problems with Soundcloud whereas find other hosting systems tend
> to be sluggish and problematic).
>
> --- In tuning@yahoogroups.com, "genewardsmith" <genewardsmith@...> wrote:
> >
> >
> > --- In tuning@yahoogroups.com, "lobawad" <lobawad@> wrote:
> > >
> > > It seems to me that it should be made clear that what's really being
> done is that the geneology of these comma pumps are being "spelled out".
> Because it is possible for the most efficient chord motion tempering out a
> comma to be a whole lot quicker and more heavy-handed than the way it's
> being done. For example, for 1029/1024, in any system in which the 8/7 is
> tempered to be the 3rd root of the 3/2, simply going Vharm7 - I has already
> tempered out the comma. For that matter just bopping up three 8/7s to a 3/2
> has.
> >
> > Other than with the pump for the senga, my pumps run through things
> twice, once with common dyads, then heavy-handed. For 1029/1024 my pump
> example works just as you suggest for the second part:
> >
> > http://clones.soonlabel.com/public/micro/gene_ward_smith/pumps/1029.mp3
> >
>
>
>

🔗petrparizek2000 <petrparizek2000@...>

5/22/2011 3:35:49 PM

Mike wrote:

> 1) Find root movements
> 2) Work out chord qualities

Aha, now I see where we differ so much. The thing is that you're tracing root movements separately from the chord qualities, while I usually start caring about root movements no sooner than I know which tones the pump is made of. So for example, for 80/81, I first of all find out that it's the same as (10/3)^4 * (1/5)^3. If I then start, let's say, from C and alternate between the two steps, I get "C, A, F, D, Bb, G, Eb, C", which I can understand as octave equivalents of alternating minor and major thirds. Now it's pretty much on your choice what you do with these tones -- i.e. you can play triads like "F major, Bb major, Eb major, C minor" or you can play tetrads like "D minor 7, G minor 7, C minor 7". So although the root movements are different, the pump is still the same since it's made of the same tones.

> The issue of #2 is where you and I have differing approaches, but it
> shouldn't be too hard to code for both of them. For #2, I'd like to
> emphasize common-practice style "functionality" as much as possible,
> whereas you'd like more to use a few notes in the chain of generators
> as possible. It shouldn't be too big of a deal to figure out either
> case.

The interesting thing here is that I've arrived at the very same pump model, no matter whether I started by finding the generator numbers or by breaking the vanishing factor into powers of two values.

> I would be happy coding it, but I'd like to get it on some kind of web
> platform. If that doesn't work, then maybe JUCE. But a web platform
> that supports audio/MIDI stuff would do us all really good.

This sounds encouraging. :-)

Petr

🔗Mike Battaglia <battaglia01@...>

5/22/2011 5:26:28 PM

On Sun, May 22, 2011 at 6:35 PM, petrparizek2000
<petrparizek2000@...> wrote:
>
> > 1) Find root movements
> > 2) Work out chord qualities
>
> Aha, now I see where we differ so much. The thing is that you're tracing root movements separately from the chord qualities, while I usually start caring about root movements no sooner than I know which tones the pump is made of. So for example, for 80/81, I first of all find out that it's the same as (10/3)^4 * (1/5)^3. If I then start, let's say, from C and alternate between the two steps, I get "C, A, F, D, Bb, G, Eb, C", which I can understand as octave equivalents of alternating minor and major thirds. Now it's pretty much on your choice what you do with these tones -- i.e. you can play triads like "F major, Bb major, Eb major, C minor" or you can play tetrads like "D minor 7, G minor 7, C minor 7". So although the root movements are different, the pump is still the same since it's made of the same tones.

It seems like the only difference between what you said and what I
said is that you consolidate the root movements themselves into the
chord; e.g. the issue of quality is solved by just picking root
movements from the progression.

> > The issue of #2 is where you and I have differing approaches, but it
> > shouldn't be too hard to code for both of them. For #2, I'd like to
> > emphasize common-practice style "functionality" as much as possible,
> > whereas you'd like more to use a few notes in the chain of generators
> > as possible. It shouldn't be too big of a deal to figure out either
> > case.
>
> The interesting thing here is that I've arrived at the very same pump model, no matter whether I started by finding the generator numbers or by breaking the vanishing factor into powers of two values.

Well, if you like it, alright. I'd be happy for now to even just put
major chords over all of the roots, just for the sake of automating
it.

> > I would be happy coding it, but I'd like to get it on some kind of web
> > platform. If that doesn't work, then maybe JUCE. But a web platform
> > that supports audio/MIDI stuff would do us all really good.
>
> This sounds encouraging. :-)

I just don't know what web platform would be best, really.

-Mike

🔗petrparizek2000 <petrparizek2000@...>

5/22/2011 10:02:24 PM

Mike wrote:

> It seems like the only difference between what you said and what I
> said is that you consolidate the root movements themselves into the
> chord; e.g. the issue of quality is solved by just picking root
> movements from the progression.

You've lost me completely now. -- Anyway, to make a long story short, if I wanted to find the root movements first, I'd go for the exponents with the lowest absolute values, which would mean something like "C, A, D, G, C" or "(2/3)^3 * (10/3)^1" in the case of 80/81. But since I decided to find exponents which have the highest possible absolute values, I can start thinking about root movements after knowing the progression of dyads before applying it to the triads, if you know what I mean -- i.e. the "(10/3)^4 * (1/5)^3" tells me that an octave equivalent of a falling minor third occurs 4 times and that an octave equivalent of a falling major third occurs 3 times. Once I know this, I can choose what order I want to have them in. For example, if I start on C and do "abababa", I get "C, A, F, D, Bb, G, Eb, C". In contrast, if I start on G and do "ababaab", I get "G, E, C, A, F, D, B, G", which is my preferred solution (see my article for more explanation). These are not root movements, these are successive common dyads -- and you can do whatever you want to turn them into triads -- i.e. "C major, A minor, D minor, G major" or "A minor 7, D minor 7, G major (triad)" have different root movements and it's a different number of chords, but the progression of dyads is still the same -- i.e. "ababaab" starting on G. Is it clearer now?

> Well, if you like it, alright. I'd be happy for now to even just put
> major chords over all of the roots, just for the sake of automating
> it.

I don't understand why you're saying this after I've explained in detail the process of finding individual tones in my last message. What I'm saying is that the chord qualities come out of the progression of dyads, depending on which tones of the resulting dyad progression you choose as the roots and how many tones you use for each chord.

> I just don't know what web platform would be best, really.

I'm afraid I don't know either.

Petr

🔗petrparizek2000 <petrparizek2000@...>

5/24/2011 10:13:28 AM

I wrote:

> These are not root movements, these are
> successive common dyads -- and you can do whatever you want to turn them into
> triads -- i.e. "C major, A minor, D minor, G major" or "A minor 7, D minor 7, G
> major (triad)" have different root movements and it's a different number of
> chords, but the progression of dyads is still the same -- i.e. "ababaab"
> starting on G. Is it clearer now?

To demonstrate the progression of pitches in the amity pump, I'll show you the scale which comes out after reducing them into a single octave range. Please note the specific order in which they are listed.

! amtlred1.scl
!
The tempered amity pump, octave-reduced
21
!
884.06569
497.45895
181.52463
1065.59032
678.98358
363.04926
1176.44252
860.50821
544.57390
157.96716
1042.03284
655.42610
339.49179
23.55748
836.95074
521.01642
205.08211
1018.47537
702.54105
315.93431
2/1

Petr