back to list

Periodic scale-based definition for UDP notation

🔗Mike Battaglia <battaglia01@gmail.com>

11/18/2011 3:44:20 PM

Gene prefers the paradigm whereby UDP notation is defined as a
property of a periodic scale. Let's see if this might make him
happier. Since it seems like everyone is confused about what I'm
trying to say, please throw EVERY preconception that you have of this
idea completely away, and I'll re-explain it from scratch.

First, a bit of odds and ends: I have always considered the UDP
notation to be a function of a convex set in a lattice given the tonic
as a zero-vector, and NOT of a periodic scale. So to define it in
terms of a periodic scale means in some sense that we have to
"reverse-engineer" certain concepts that are immediately intuitive and
obvious from a lattice-based perspective, for example by coming up
with algorithms to find which scale degree is the generator, for
example, and I've done that below for completeness' sake.

I've mentioned the concept of "rootless" or "tonicless" scales a few
times now, so I assume everyone knows what I mean when I say that you
can go one step "beyond" C lydian by going to C# locrian but still
considering the tonic to be C (and perhaps playing it in the bass),
and that this construct will be notated 7|-1. I'm deliberately
defining the notation to allow for such possibilities. Whether or not
you want to treat them as "pathological" is up to you - I happen to
think they're useful, and I'll be exploring them for scales like
myna[7], but if you don't, then don't use them. I'm deliberately
defining the notation to allow for them as a possibility.

OK, first, I'll define the chroma-aligned generator formally using
only periodic scales.

Assume that S[p] is the period for some periodic scale S[i]. To find
the chroma-aligned generator g, use the following algorithm:

1) Let G(S,m) be the multiset generated by S[n+m] - S[n] for 0 < n <
p. For example, G(meantone[7], 4) yields the multiset {600, 700, 700,
700, 700, 700, 700} if the tuning is 12-equal.
2) Let G(S,m) be called the "up-generational multiset" for S iff every
element in G(s,m) is identical except for one, and if the one
non-identical element is smaller than the rest. For example,
G(meantone[7], 4) is the up-generational multiset for any tuning of
meantone[7] which forms the LLsLLLs scale imprint.
3) m is the value G(S,m) that produces the up-generational multiset
for S, and g is equal to the size of the larger element in G(S,m). For
example, for meantone[7] in 12-equal, m = 4 and g = 700.

Intuitively, g is the size of the chroma-aligned generator in cents or
some other logarithmic unit of measure, and m is the number of steps
that it subtends in the periodic scale; i.e. there is some integer i
such that S[m+i] = g.

----

Now I'll define the concept of a periodic scale containing a certain
number of generators "up" or "down" from the tonic, and then define
UDP notation.

First off, define the tonic for some scale S[i] as being equal to the
value "0." Note that s[0] doesn't have to be equal to 0 by this
definition.

For any S[i] which is MOS, there are two associated values u and d,
called the number of generators located "up" and "down" from the
tonic. Let u be any integer such that S[m*u] = g*u, and S[m*(u + 1)]
!= g*u. Likewise, let d be any integer such that S[-m*d] = -g*d, and
S[-m*(d+1)] = -g*(d+1).

For a periodic MOS in which the step sizes are incommensurate, only
one unique choice of u and d exists. For a periodic MOS in which the
step sizes are NOT incommensurate, e.g. an MOS which is a subset of
some equal temperament, u and d aren't unique. Define a "valid pair"
(u, d) as being some u and d such that u+d+1 = p. This isn't anything
we're not used to; it's the same exact thing as saying that there's no
unique way to decide whether or not 1\12 is C# or Db in the meantone
generator chain, so we'll simply calculate the possible options and
allow the composer to decide what "context" should predominate.

For any S[i], choose an interval S[e] called the "equivalence
interval" such that S[P*p] = S[e] for some positive integer P. Then
let U=u*P, D = d*P, for any valid pair (u, d). The UDP notation for
S[i] is the string "U|D(P)". If more than one valid pair exists,
there's more than possible UDP mode string you can reverse engineer
for that periodic scale.

----

Now I'll define the concept of a mode being located "up" from another mode.

A "parallel modal shift" for some MOS S[i] generates a scale S'[i]
such that S'[i] = S[i-k*m]+k*g. Setting k = +1 is said to generate a
parallel modal shift of +1, setting k = -1 is said to generate a
parallel modal shift of -1, etc.

A mode S'[i] is located "up" from any other mode S[i] if it can be
generated by a parallel modal shift on S[i] by some positive number. A
mode S'[i] is located "down" from any other mode S[i] if it can be
generated by a parallel modal shift on S[i] by some negative number.

In the case where S contains two step sizes that are commensurate;
e.g. it's n equal temperament, any mode can be generated by going
either up or down from the curent mode, if you go far enough. In this
case, it's ambiguous, so we can break the tie by picking the k such
that |k| is minimized, and determining if it's a shift up or down from
that. For example, in meantone[7], if C is considered the tonic, then
C ionian is up from C mixolydian, C lydian is up from C ionian, and a
rootless C# locrian with C as tonic is up from C lydian. However, if
we've tuned meantone[7] to 12-equal, then the pattern of step sizes is
not enough to know if we're describing C# locrian with C as tonic, or
Db locrian with C as tonic - the shift from C lydian to the first
would be one step up, but the shift from C lydian to the second would
be a lot of steps down.

-Mike

🔗Mike Battaglia <battaglia01@gmail.com>

11/18/2011 4:48:15 PM

Also, I'm editing the wiki now, but I'm -NOT- putting any extended
modal UDP stuff in there. I'm just treating it like there are only 7
diatonic modes, and not dealing with rootless scales at all. This will
at least get us started being on the same wavelength.

-Mike

On Fri, Nov 18, 2011 at 6:44 PM, Mike Battaglia <battaglia01@gmail.com> wrote:
> Gene prefers the paradigm whereby UDP notation is defined as a
> property of a periodic scale. Let's see if this might make him
> happier. Since it seems like everyone is confused about what I'm
> trying to say, please throw EVERY preconception that you have of this
> idea completely away, and I'll re-explain it from scratch.
>
> First, a bit of odds and ends: I have always considered the UDP
> notation to be a function of a convex set in a lattice given the tonic
> as a zero-vector, and NOT of a periodic scale. So to define it in
> terms of a periodic scale means in some sense that we have to
> "reverse-engineer" certain concepts that are immediately intuitive and
> obvious from a lattice-based perspective, for example by coming up
> with algorithms to find which scale degree is the generator, for
> example, and I've done that below for completeness' sake.
>
> I've mentioned the concept of "rootless" or "tonicless" scales a few
> times now, so I assume everyone knows what I mean when I say that you
> can go one step "beyond" C lydian by going to C# locrian but still
> considering the tonic to be C (and perhaps playing it in the bass),
> and that this construct will be notated 7|-1. I'm deliberately
> defining the notation to allow for such possibilities. Whether or not
> you want to treat them as "pathological" is up to you - I happen to
> think they're useful, and I'll be exploring them for scales like
> myna[7], but if you don't, then don't use them. I'm deliberately
> defining the notation to allow for them as a possibility.
>
> OK, first, I'll define the chroma-aligned generator formally using
> only periodic scales.
>
> Assume that S[p] is the period for some periodic scale S[i]. To find
> the chroma-aligned generator g, use the following algorithm:
>
> 1) Let G(S,m) be the multiset generated by S[n+m] - S[n] for 0 < n <
> p. For example, G(meantone[7], 4) yields the multiset {600, 700, 700,
> 700, 700, 700, 700} if the tuning is 12-equal.
> 2) Let G(S,m) be called the "up-generational multiset" for S iff every
> element in G(s,m) is identical except for one, and if the one
> non-identical element is smaller than the rest. For example,
> G(meantone[7], 4) is the up-generational multiset for any tuning of
> meantone[7] which forms the LLsLLLs scale imprint.
> 3) m is the value G(S,m) that produces the up-generational multiset
> for S, and g is equal to the size of the larger element in G(S,m). For
> example, for meantone[7] in 12-equal, m = 4 and g = 700.
>
> Intuitively, g is the size of the chroma-aligned generator in cents or
> some other logarithmic unit of measure, and m is the number of steps
> that it subtends in the periodic scale; i.e. there is some integer i
> such that S[m+i] = g.
>
> ----
>
> Now I'll define the concept of a periodic scale containing a certain
> number of generators "up" or "down" from the tonic, and then define
> UDP notation.
>
> First off, define the tonic for some scale S[i] as being equal to the
> value "0." Note that s[0] doesn't have to be equal to 0 by this
> definition.
>
> For any S[i] which is MOS, there are two associated values u and d,
> called the number of generators located "up" and "down" from the
> tonic. Let u be any integer such that S[m*u] = g*u, and S[m*(u + 1)]
> != g*u. Likewise, let d be any integer such that S[-m*d] = -g*d, and
> S[-m*(d+1)] = -g*(d+1).
>
> For a periodic MOS in which the step sizes are incommensurate, only
> one unique choice of u and d exists. For a periodic MOS in which the
> step sizes are NOT incommensurate, e.g. an MOS which is a subset of
> some equal temperament, u and d aren't unique. Define a "valid pair"
> (u, d) as being some u and d such that u+d+1 = p. This isn't anything
> we're not used to; it's the same exact thing as saying that there's no
> unique way to decide whether or not 1\12 is C# or Db in the meantone
> generator chain, so we'll simply calculate the possible options and
> allow the composer to decide what "context" should predominate.
>
> For any S[i], choose an interval S[e] called the "equivalence
> interval" such that S[P*p] = S[e] for some positive integer P. Then
> let U=u*P, D = d*P, for any valid pair (u, d). The UDP notation for
> S[i] is the string "U|D(P)". If more than one valid pair exists,
> there's more than possible UDP mode string you can reverse engineer
> for that periodic scale.
>
> ----
>
> Now I'll define the concept of a mode being located "up" from another mode.
>
> A "parallel modal shift" for some MOS S[i] generates a scale S'[i]
> such that S'[i] = S[i-k*m]+k*g. Setting k = +1 is said to generate a
> parallel modal shift of +1, setting k = -1 is said to generate a
> parallel modal shift of -1, etc.
>
> A mode S'[i] is located "up" from any other mode S[i] if it can be
> generated by a parallel modal shift on S[i] by some positive number. A
> mode S'[i] is located "down" from any other mode S[i] if it can be
> generated by a parallel modal shift on S[i] by some negative number.
>
> In the case where S contains two step sizes that are commensurate;
> e.g. it's n equal temperament, any mode can be generated by going
> either up or down from the curent mode, if you go far enough. In this
> case, it's ambiguous, so we can break the tie by picking the k such
> that |k| is minimized, and determining if it's a shift up or down from
> that. For example, in meantone[7], if C is considered the tonic, then
> C ionian is up from C mixolydian, C lydian is up from C ionian, and a
> rootless C# locrian with C as tonic is up from C lydian. However, if
> we've tuned meantone[7] to 12-equal, then the pattern of step sizes is
> not enough to know if we're describing C# locrian with C as tonic, or
> Db locrian with C as tonic - the shift from C lydian to the first
> would be one step up, but the shift from C lydian to the second would
> be a lot of steps down.