general methods for linear temperament notation

User avatar
cmloegcmluin
Site Admin
Posts: 1700
Joined: Tue Feb 11, 2020 3:10 pm
Location: San Francisco, California, USA
Real Name: Douglas Blumeyer (he/him/his)
Contact:

Re: general methods for linear temperament notation

Post by cmloegcmluin »

Dave Keenan wrote: Tue Mar 09, 2021 3:10 pm
cmloegcmluin wrote: Sat Feb 20, 2021 7:50 am Also, I suspect @Dave Keenan may eventually ask me to write a program which allows a regular (or is linear the preferred term?) temperament notation to be generated from some inputs, as a feature of a web-based Sagittal notation calculator...
Actually. It should be a simple extension to your existing code base, to at least do the grunt work of determining how many periods and generators each Olympian symbol's default comma maps to, for a given temperament.
It can already do this for an EDO, so yes, I agree it should be relatively simple to make it work for temperaments, too.
= [0 0⟩

That's not a monzo. It's a generator-count vector. So we see that the 5-comma is zero periods and zero generators in meantone and so :\!: and :/|: are of no use in notating meantone.

I note that Herman and I both use plus signs "+" for positive generator counts, which serves as a clue that they are not monzos. Herman further distinguished his generator count vectors above (but not everywhere) by using parentheses instead of square and angle brackets.
I don't see any plus signs in that one, though...? I prefer the version with parentheses. If math hacks like me are a reasonable representation of the microtonal community, I don't think there's room for two different structures enclosed in [ and ⟩.
Graham Breed has a tutorial here:
http://x31eq.com/matrices.htm
and if that isn't basic enough, he has a matrix math tutorial here:
http://x31eq.com/matritut.htm
Those are great, thanks.

I also stumbled across this by Mike Battaglia just the other day, which starts off much the same as your explanation above: https://en.xen.wiki/w/Diatonic,_Chromat ... bchromatic
User avatar
Dave Keenan
Site Admin
Posts: 2180
Joined: Tue Sep 01, 2015 2:59 pm
Location: Brisbane, Queensland, Australia
Contact:

Re: general methods for linear temperament notation

Post by Dave Keenan »

cmloegcmluin wrote: Thu Mar 18, 2021 3:44 am It can already do this for an EDO, so yes, I agree it should be relatively simple to make it work for temperaments, too.
Of course EDOs are temperaments ("rank 1" or "equal" temperaments). You mean it should be relatively simple to make it work for "rank 2" or "linear" temperaments (or perhaps "higher rank" temperaments).
I don't see any plus signs in that one, though...?
You mean in my [0 0⟩? That was because none of the counts are positive. But you're right. I could have written [+0 +0⟩. But there are still going to be gen count vectors whose terms are all negative, and so can't be distinguished as such by plus signs.
I prefer the version with parentheses. If math hacks like me are a reasonable representation of the microtonal community, I don't think there's room for two different structures enclosed in [ and ⟩.
But in the linear algebra formulation they are both column vectors. It's like with any measurements — you need to give the "units", either after each vector, e.g. "[0 0> gens", or in the column heading of a table. I note that George uses "G" on his graph.
I also stumbled across this by Mike Battaglia just the other day, which starts off much the same as your explanation above: https://en.xen.wiki/w/Diatonic,_Chromat ... bchromatic
Right. I notice that he not only uses the same notation |a b c ...> for prime exponents and generator counts, he doesn't use plus signs and he even calls the latter "tempered monzos" — yikes — helping making my case that Gene's monzo/val terminology is unhelpful and just raises a barrier to entry.
User avatar
cmloegcmluin
Site Admin
Posts: 1700
Joined: Tue Feb 11, 2020 3:10 pm
Location: San Francisco, California, USA
Real Name: Douglas Blumeyer (he/him/his)
Contact:

Re: general methods for linear temperament notation

Post by cmloegcmluin »

Dave Keenan wrote: Thu Mar 18, 2021 6:40 am
cmloegcmluin wrote: Thu Mar 18, 2021 3:44 am It can already do this for an EDO, so yes, I agree it should be relatively simple to make it work for temperaments, too.
Of course EDOs are temperaments ("rank 1" or "equal" temperaments). You mean it should be relatively simple to make it work for "rank 2" or "linear" temperaments (or perhaps "higher rank" temperaments).
Yes.
I don't see any plus signs in that one, though...?
You mean in my [0 0⟩? That was because none of the counts are positive. But you're right. I could have written [+0 +0⟩. But there are still going to be gen count vectors whose terms are all negative, and so can't be distinguished as such by plus signs.
Oh, good point. Then I wouldn't bother with presence or absence of plus signs at all. I would then strongly wish for the parentheses.
I prefer the version with parentheses. If math hacks like me are a reasonable representation of the microtonal community, I don't think there's room for two different structures enclosed in [ and ⟩.
But in the linear algebra formulation they are both column vectors. It's like with any measurements — you need to give the "units", either after each vector, e.g. "[0 0> gens", or in the column heading of a table.
Okay, I see the problem, but I'm still pretty disturbed.

I never learned this [ ⟩ angle bracket notation when I was studying linear algebra in college. We always just wrote things with plain brackets [ ]. Why not just use those for generator-count vectors?
I note that George uses "G" on his graph.
Which graph? Oh in his derivation of the secor graph that I shared earlier. Got it.

Hm. Those look to me like just parenthetical notes re: the harmonics and how many generators it took to reach them. Besides, in a generator-count vector, doesn't the period come first, then the generator(s)?

Even if George was somehow using G in this way, would you recommend it? I think it would be really cumbersome to put P G₀ G₁ ... after each term in a generator-count vector as a means only to distinguish it from a monzo.
I also stumbled across this by Mike Battaglia just the other day, which starts off much the same as your explanation above: https://en.xen.wiki/w/Diatonic,_Chromat ... bchromatic
Right. I notice that he not only uses the same notation |a b c ...> for prime exponents and generator counts, he doesn't use plus signs and he even calls the latter "tempered monzos" — yikes — helping making my case that Gene's monzo/val terminology is unhelpful and just raises a barrier to entry.
Yeah, I admit I don't get the idea of "tempered monzo".

I didn't realize until you said that that you're suggesting monzos/vals are bad. That surprises me because in my ~15 years of experience, microtonal music is impossible without them. They're all I've ever known. So what you're proposing is an alternative to them? Not merely an alternative to "wedgies" or whatever higher-level Gene stuff I never bothered trying to learn that I assumed was what you were opposed to?

Or are you just proposing we stop calling them monzos and vals/mappings and instead call them column vectors and matrices? And an equal temperament's (rank-1) matrix would always just have a single row. In that case perhaps you're not changing anything about my understanding about any of this works, just renaming everything.

I'll admit that there's still something deeply mysterious and unsettling to me about how those six numbers arranged that way represent "meantone", first of all because meantone is just one of those things that I've read about hundreds of times and had explained to me dozens of times but I just can't ever really seem to understand it well enough to retain it or explain it to anyone. Maybe what weirds me out the most is that with a rank-1 temperament I can figure out how big a step is by dividing 1200¢ by the first term, the one for prime 2. But with a rank-2 or more, how are you supposed to know how big each step is? I dunno. I'm probably a hopeless case on this one. I just don't think I've liked or understood a piece of music using a linear temperament well enough to get a grip on it. This probably isn't the forum to try for the upteenth time to explain it to me. Hopefully other people shouldn't have this sort of reaction to this material.
User avatar
Dave Keenan
Site Admin
Posts: 2180
Joined: Tue Sep 01, 2015 2:59 pm
Location: Brisbane, Queensland, Australia
Contact:

Re: general methods for linear temperament notation

Post by Dave Keenan »

Okay, I see the problem, but I'm still pretty disturbed.

I never learned this [ ⟩ angle bracket notation when I was studying linear algebra in college. We always just wrote things with plain brackets [ ]. Why not just use those for generator-count vectors?
I never learned it in math either, but I learned the Dirac notation (or bra-ket notation) in physics where we needed to distinguish vectors in 3-dimensional physical space (or 4D-space-time) from those in more abstract mathematical spaces of quantum mechanics. And so when Gene introduced them from Exterior algebra, I actually thought this was a good notation. Now, I'm not so sure.

When you use square brackets in linear algebra, you are supposed to use the correct 2D arrangement of the numbers. If you don't list the numbers vertically, then it is not a vector but a (single-row) matrix. You can however use the superscript "T" for transpose. So
⎡a⎤ = [a b⟩ could be written [a b]T.
⎣b⎦

But sure. You can use whatever brackets you want, so long as you spell out what they mean in your particular context.
Hm. Those look to me like just parenthetical notes re: the harmonics and how many generators it took to reach them. Besides, in a generator-count vector, doesn't the period come first, then the generator(s)?

Even if George was somehow using G in this way, would you recommend it? I think it would be really cumbersome to put P G₀ G₁ ... after each term in a generator-count vector as a means only to distinguish it from a monzo.
OK. Bad example. Forget George's "G"s.

Yes the period comes first. But the period is also a generator. It's only special because it's chosen so you can make up the (possibly approximate) interval-of-equivalence by using it alone.

No I wasn't suggesting putting anything after each individual number. As per my example in quotes, I suggest putting the word "generators", or the abbreviation "gens", or even just a big "G", after the whole vector.

You'd do better to call them P G1 G2 ... so P can also be considered as G0.
I didn't realize until you said that that you're suggesting monzos/vals are bad. That surprises me because in my ~15 years of experience, microtonal music is impossible without them. They're all I've ever known. So what you're proposing is an alternative to them?
Good grief no. As I've said before, it's the terminology, the actual words "monzo" and "val" that are completely unnecessary and obscure the relationship to the math that at least some people (like yourself) are likely to have already learned.
Or are you just proposing we stop calling them monzos and vals...
Yes.
.../mappings and instead call them column vectors and matrices?
Not that either. But at least that's closer to what I'm proposing. In the sense that it's in the right direction, but it goes too far toward pure math instead of stopping with the math as applied to our specific domain. I don't understand how you could have missed what I've actually been calling them in this thread. "prime exponent vectors", "generator count vectors" and "mappings" (or "mapping matrices").

Saying "column vector" in linear algebra is redundant. All vectors are columns. If it's a row, its a matrix, or a "linear form". But because we've gotten it all mixed up with exterior algebra terminology and notation, thanks to Gene, I felt I had to add "column" to be clear here.
And an equal temperament's (rank-1) matrix would always just have a single row. In that case perhaps you're not changing anything about my understanding about any of this works, just renaming everything.
I wouldn't be renaming everything. I'd be un-renaming them. Those were the terms we were using before Gene turned up and renamed them in an obscure manner. And now we even have people who should know better, like Mike, calling something a monzo just because it's a vector. We should ask Joe Monzo what a monzo is.

And the word "val" wasn't some pre-existing math term that Gene applied. It's just a word Gene made up — to replace the already perfectly serviceable word "mapping", which can be shortened to "map" if you really need it to be one syllable and 3 letters. And "patent val"? "Patent" here just means "obvious". The "patent val" was previously called the "standard mapping".
I'll admit that there's still something deeply mysterious and unsettling to me about how those six numbers arranged that way represent "meantone", first of all because meantone is just one of those things that I've read about hundreds of times and had explained to me dozens of times but I just can't ever really seem to understand it well enough to retain it or explain it to anyone.
That's because there are way too many numbers for a first pass at what meantone is. If you assume octave equivalence and an octave period, you only really need two numbers in the mapping [1, 4]. That says that 1 generator is octave-equivalent to prime 3, or 3/2, and 4 generators are octave-equivalent to prime 5, or 5/4. That tells you that the generator (which can always be made less than an octave) must be somewhere between a pure fifth and whatever octave-extension of 5 you get close to when you stack 4 pure fifths. 3^4/2^4 = 81/16 = 5.065. So the generator is between 3/2 = 1.5 = 702.0¢ and ⁴√5 = 1.495 = 696.6¢.

OK. Not quite true. You have to also look at the ratio between primes 5 and 3. The mapping of 5/3 is 4-1 = 3 generators. If you stack 3 fifths you get something near 10/3. So we could have a generator that was as small as ³√(10/3) = 1.494 = 694.8¢.
Maybe what weirds me out the most is that with a rank-1 temperament I can figure out how big a step is by dividing 1200¢ by the first term, the one for prime 2. But with a rank-2 or more, how are you supposed to know how big each step is? I dunno. I'm probably a hopeless case on this one. I just don't think I've liked or understood a piece of music using a linear temperament well enough to get a grip on it. This probably isn't the forum to try for the upteenth time to explain it to me. Hopefully other people shouldn't have this sort of reaction to this material.
To get the step sizes. You have to choose a specific size of generator (say a middling one like 697¢) and decide how many notes you're going to have. This is not a given like it is with an EDO. Then you have to multiply the size of your generator by every integer from 0 up to one less than your number of notes, reduce all values to the first octave, and sort them into ascending order. Then you can add 1200¢ to the end of the list and subtract each one from the next to see what the step sizes are.

If you want to know what numbers of notes give you a distributionally-even scale, you can ask Wolfram Alpha to give you the convergents of the generator divided by the period (both in cents),
https://www.wolframalpha.com/input/?i=c ... 697%2F1200
and look at the denominators.
User avatar
cmloegcmluin
Site Admin
Posts: 1700
Joined: Tue Feb 11, 2020 3:10 pm
Location: San Francisco, California, USA
Real Name: Douglas Blumeyer (he/him/his)
Contact:

Re: general methods for linear temperament notation

Post by cmloegcmluin »

Dave Keenan wrote: Thu Mar 18, 2021 12:27 pm You can use whatever brackets you want, so long as you spell out what they mean in your particular context.
What I'm hearing is: vectors and matrices are sufficiently fundamental mathematical tools that it would be silly to attempt — even within the microtonal music domain — to standardize certain formats for certain applications and other formats for other applications. It would be of comparable silliness to asking people to, let's say, flare the edges of their vinculums when they are used for interval ratios as opposed to pitch ratios.

I think I get it then. Alright.

One of my takeaways from this is that I never want to see angle brackets again. And I may need to rig these ⎡ ⎤ ⎣ ⎦ characters up in WinCompose.
But the period is also a generator. It's only special because it's chosen so you can make up the (possibly approximate) interval-of-equivalence by using it alone.

...

You'd do better to call them P G1 G2 ... so P can also be considered as G0.
Understood. I see that my poor decision to assign the first generator after P to G0 may have given you the impression I didn't.
No I wasn't suggesting putting anything after each individual number. As per my example in quotes, I suggest putting the word "generators", or the abbreviation "gens", or even just a big "G", after the whole vector.
That's not bad.
"prime exponent vectors", "generator count vectors" and "mappings" (or "mapping matrices").
We use prime exponent vector together a lot. I'm comfortable enough with that I see through it as a synonym for monzo.

I think I'll do a renaming in the Sagittal code away from monzo and val then. It's the kind of thing that's so fundamental to the code that I cannot accept a three-word, nineteen-character long name. But I suppose "pev" will do, an acronym treated as if it's a word. That even buys us back a couple characters :)
Saying "column vector" in linear algebra is redundant. All vectors are columns. If it's a row, its a matrix, or a "linear form". But because we've gotten it all mixed up with exterior algebra terminology and notation, thanks to Gene, I felt I had to add "column" to be clear here.
Got it.
And an equal temperament's (rank-1) matrix would always just have a single row. In that case perhaps you're not changing anything about my understanding about any of this works, just renaming everything.
I wouldn't be renaming everything. I'd be un-renaming them. Those were the terms we were using before Gene turned up and renamed them in an obscure manner. And now we even have people who should know better, like Mike, calling something a monzo just because it's a vector.
Okay, now I see why you were unhappy to see "tempered monzo" in Mike's writing.
We should ask Joe Monzo what a monzo is.
What do you mean by this?
And the word "val" wasn't some pre-existing math term that Gene applied. It's just a word Gene made up — to replace the already perfectly serviceable word "mapping", which can be shortened to "map" if you really need it to be one syllable and 3 letters.
I'll take "mapping" for the code to avoid confusion with lower-level map operations in the code.
And "patent val"? "Patent" here just means "obvious". The "patent val" was previously called the "standard mapping".
I was previously aware you weren't a fan of that term, yes. Standard mapping is better.
That's because ...

OK. Not quite true. You have to also...
Thanks for trying, but my head's still spinning.
To get the step sizes...
That sounds like it's the answer assuming octave-equivalence. I can handle that case already without much trouble. Where I'm lost is when you've got two different generators. My gut says that 2×3 matrix describes a couple ranges of cent sizes for the two generators which you get to apportion between them.
If you want to know what numbers of notes give you a distributionally-even scale...
Thanks, yeah, I do know that trick.
User avatar
Dave Keenan
Site Admin
Posts: 2180
Joined: Tue Sep 01, 2015 2:59 pm
Location: Brisbane, Queensland, Australia
Contact:

Re: general methods for linear temperament notation

Post by Dave Keenan »

cmloegcmluin wrote: Thu Mar 18, 2021 2:08 pm We use prime exponent vector together a lot. I'm comfortable enough with that I see through it as a synonym for monzo.
That's hilarious, in a sad kind of way — that you have to see "through" a term that is self-explanatory to one that is arbitrary. But presumably, someone who had never had to learn the meaning of the arbitrary word, wouldn't have that problem.

BTW, Lots of people used prime exponent vectors to represent frequency ratios before (or independent of) Joe Monzo, including myself before I learned of the tuning list. It's kind of an obvious move if you've learned linear algebra, or if you draw JI lattices, as they are just the coordinates of the points on a JI lattice.
I think I'll do a renaming in the Sagittal code away from monzo and val then. It's the kind of thing that's so fundamental to the code that I cannot accept a three-word, nineteen-character long name. But I suppose "pev" will do, an acronym treated as if it's a word. That even buys us back a couple characters :)
Don't do that on my account. It sounds like a lot of work for little gain. But I think "pev" is a fine acronym.
We should ask Joe Monzo what a monzo is.
What do you mean by this?
I only meant "ask Joe" figuratively. I just meant that we should look at how he's defined it. Surely Joe's definition of a monzo should be authoritative, and if you click the link, you'll see that both Joe and Gene defined it as a prime exponent vector, and so I don't think it's valid for Mike to call a generator count vector any kind of monzo.
User avatar
cmloegcmluin
Site Admin
Posts: 1700
Joined: Tue Feb 11, 2020 3:10 pm
Location: San Francisco, California, USA
Real Name: Douglas Blumeyer (he/him/his)
Contact:

Re: general methods for linear temperament notation

Post by cmloegcmluin »

Admittedly, monzo is pretty catchy name. I may never fully wean myself off it. And Joe's the man; he sang on a piece of mine the first time I ever had one recorded. But you've convinced me that using the term "monzo" is bad.
User avatar
Dave Keenan
Site Admin
Posts: 2180
Joined: Tue Sep 01, 2015 2:59 pm
Location: Brisbane, Queensland, Australia
Contact:

Re: general methods for linear temperament notation

Post by Dave Keenan »

cmloegcmluin wrote: Thu Mar 18, 2021 4:05 pm Admittedly, monzo is pretty catchy name. I may never fully wean myself off it. And Joe's the man; he sang on a piece of mine the first time I ever had one recorded.
I love Joe too. He's such a kind and generous man. He deserves to have the prime exponent vector named after him. He did the most to popularise them, particularly in easily-understood graphical form.

I'm kind of just wishing, for pedagogical reasons, that Gene had never coined the term, in which case Joe wouldn't miss what he never had. You're talking to the guy who refused, for the same pedagogical reasons, to have a temperament named after him (me), asking that it instead be given a descriptive name. (It wasn't, but that's beside the point).
But you've convinced me that using the term "monzo" is bad.
I'm not sure I meant to go that far. And there's no way we'd eliminate it now if we wanted to. But I certainly wanted to make a point about pedagogy, and pine for a lost past. And I definitely think it's bad to use "monzo" for generator count vectors, or anything other than prime exponent vectors.

But I'd be happy if I convinced you that the term "val" was evil and should be expunged from the internet and replaced with "mapping" or "edo mapping". ;) But that's never going to happen either.

I note, with pleasure, that the terms monzo and val do not occur anywhere in Paul Erlich's Middle Path paper, but he teaches all about prime exponent vectors and mappings.
User avatar
Dave Keenan
Site Admin
Posts: 2180
Joined: Tue Sep 01, 2015 2:59 pm
Location: Brisbane, Queensland, Australia
Contact:

Re: general methods for linear temperament notation

Post by Dave Keenan »

cmloegcmluin wrote: Thu Mar 18, 2021 2:08 pm One of my takeaways from this is that I never want to see angle brackets again. And I may need to rig these ⎡ ⎤ ⎣ ⎦ characters up in WinCompose.
Perhaps a little extreme. But if so, you'll also need the extensions ⎢ ⎥

I copied them from this table: https://en.wikipedia.org/wiki/Bracket#E ... ital_media

Suitable WinCompose sequences might be:
⎡ = ⎄▲[
⎢ = ⎄◀︎[
⎣ = ⎄▼[
⎤ = ⎄▲]
⎥ = ⎄▶︎]
⎦ = ⎄▼]

In this forum, you can also use latex as follows:

[latex] \begin{bmatrix} -4 \\ 4 \\ -1 \end{bmatrix} [/latex]

\( \begin{bmatrix} -4 \\ 4 \\ -1 \end{bmatrix} \)

[latex] \begin{bmatrix} 1 & 2 & 4 \\ 0 & -1 & -4 \end{bmatrix} [/latex]

\( \begin{bmatrix} 1 & 2 & 4 \\ 0 & -1 & -4 \end{bmatrix} \)

Unfortunately there doesn't seem to be any simple way to right-align the elements.
That sounds like it's the answer assuming octave-equivalence. I can handle that case already without much trouble. Where I'm lost is when you've got two different generators. My gut says that 2×3 matrix describes a couple ranges of cent sizes for the two generators which you get to apportion between them.
Right. The topic of optimising those two generators, and how to decide what you should optimise for, is a complex one. But assuming you just take standard values in cents from Graham's finder, finding the step sizes, differs from my description above only in that, instead of reducing your generator multiples modulo 1200, you'll use say mod 1203.5. And you'll tack 1203.5 on the end of the list (to get the size of the last step).
User avatar
Dave Keenan
Site Admin
Posts: 2180
Joined: Tue Sep 01, 2015 2:59 pm
Location: Brisbane, Queensland, Australia
Contact:

Re: general methods for linear temperament notation

Post by Dave Keenan »

Oh wait. You can right-align the elements if you use "array" instead of "matrix" as follows.

[latex] \left[ \begin{array} {rrr}
-1 & -10 & 1 \\
100 & 5 & 16 \\
13 & 7 & 7
\end{array} \right] [/latex]

\( \left[ \begin{array} {rrr}
-1 & -10 & 1 \\
100 & 5 & 16 \\
13 & 7 & 7
\end{array} \right] \)
Post Reply