back to list

Sagittal notation for 22EDO

🔗hstraub64 <straub@...>

6/23/2008 3:13:19 AM

I have started to dig into the sagittal notation stuff. Now I have
questions about notating 22edo in it. The paper says it's based on
fifths. Does this mean that the symbol "E" stands for the
super-pythagorean E of 22edo (8 degrees)? That would mean that the
5-limit E of 22edo (7 degrees) would be "E\".

And would, according to the cycle of fifth, "F#" stand for 12 degrees
of 22edo?

(If somebody happened to have the complete list of sgaittal notation
for 22edo and could provide me with it or popint me to a link, that
would be great, too!)
--
Hans Straub

🔗Dave Keenan <d.keenan@...>

6/23/2008 3:54:00 AM

--- In tuning@yahoogroups.com, "hstraub64" <straub@...> wrote:
>
> I have started to dig into the sagittal notation stuff. Now I have
> questions about notating 22edo in it. The paper says it's based on
> fifths. Does this mean that the symbol "E" stands for the
> super-pythagorean E of 22edo (8 degrees)? That would mean that the
> 5-limit E of 22edo (7 degrees) would be "E\".
>
> And would, according to the cycle of fifth, "F#" stand for 12 degrees
> of 22edo?
>
> (If somebody happened to have the complete list of sgaittal notation
> for 22edo and could provide me with it or popint me to a link, that
> would be great, too!)
> --
> Hans Straub
>

Hi Hans,

With C as zero degrees, what you say is correct.

In Scala you can type:
SET SAGITTAL SHORT MIXED
SET NOTATION SA22
EQUAL 22
SHOW

and you will obtain:
0: 1/1 C
1: 54.545 cents C/ Db
2: 109.091 cents C#\ Db/
3: 163.636 cents C# D\
4: 218.182 cents D
5: 272.727 cents D/ Eb
6: 327.273 cents D#\ Eb/
7: 381.818 cents D# E\
8: 436.364 cents E
9: 490.909 cents F
10: 545.455 cents F/ Gb
11: 600.000 cents F#\ Gb/
12: 654.545 cents F# G\
13: 709.091 cents G
14: 763.636 cents G/ Ab
15: 818.182 cents G#\ Ab/
16: 872.727 cents G# A\
17: 927.273 cents A
18: 981.818 cents A/ Bb
19: 1036.364 cents A#\ Bb/
20: 1090.909 cents A# B\
21: 1145.455 cents B
22: 2/1 C

You can also choose View/Staff from the View menu and see the proper
graphical symbols on the staff.

Regards,
-- Dave Keenan

🔗Mike Battaglia <battaglia01@...>

6/23/2008 4:11:16 AM

A slightly related question that I've had for a while is, what about
temperaments where an interval is reversed, like the schisma in
72-tet? Does a notation mark of going "up" by a schisma actually lead
to you going down in the temperament?

-Mike

🔗Dave Keenan <d.keenan@...>

6/23/2008 4:25:30 AM

--- In tuning@yahoogroups.com, "Mike Battaglia" <battaglia01@...> wrote:
>
> A slightly related question that I've had for a while is, what about
> temperaments where an interval is reversed, like the schisma in
> 72-tet? Does a notation mark of going "up" by a schisma actually lead
> to you going down in the temperament?

In theory it would do so. But we never use symbols for commas that are
negative in a given temperament, it would be too confusing. Sometimes
the size order of some symbols is reversed, e.g. 7-comma becomes
smaller than 5-comma while both are still positive. We try to avoid
those too, by only using one of the pair, but occasionally we are
forced to use symbols out of order, e.g. on temperaments with extreme
sized fifths.

-- Dave Keenan

🔗Mike Battaglia <battaglia01@...>

6/23/2008 4:36:27 AM

>> A slightly related question that I've had for a while is, what about
>> temperaments where an interval is reversed, like the schisma in
>> 72-tet? Does a notation mark of going "up" by a schisma actually lead
>> to you going down in the temperament?
>
> In theory it would do so. But we never use symbols for commas that are
> negative in a given temperament, it would be too confusing. Sometimes
> the size order of some symbols is reversed, e.g. 7-comma becomes
> smaller than 5-comma while both are still positive. We try to avoid
> those too, by only using one of the pair, but occasionally we are
> forced to use symbols out of order, e.g. on temperaments with extreme
> sized fifths.
>
> -- Dave Keenan

Gotcha.

BTW, just in general, the concept of having notation marks
representing small JI intervals that are then tempered along with the
scale is brilliant. Probably was one of those ideas that clicked so
deeply that the whole universe made sense when you guys first came up
with it.

-Mike

🔗Charles Lucy <lucy@...>

6/23/2008 7:05:36 AM

Hi Hans;

If you are looking at notation for 22edo, you may find this page useful.

It is for 22 and 88 edo mapped to the spiral of fourths and fifths, just like LucyTuning, and since the values are so close between this pi derived tuning and 88edo, you can isolate the 22edo notes. i.e. every fourth interval of 88edo.

http://www.lucytune.com/downloads/2288LT.pdf

This also gives you a practical way to use conventional note naming and notation for 22edo, which any competent musician will immediately understand, without having to learn a new notation system.

I hope it inspires you to come up with more new thoughts;-)

best wishes

On 23 Jun 2008, at 11:13, hstraub64 wrote:

> I have started to dig into the sagittal notation stuff. Now I have
> questions about notating 22edo in it. The paper says it's based on
> fifths. Does this mean that the symbol "E" stands for the
> super-pythagorean E of 22edo (8 degrees)? That would mean that the
> 5-limit E of 22edo (7 degrees) would be "E\".
>
> And would, according to the cycle of fifth, "F#" stand for 12 degrees
> of 22edo?
>
> (If somebody happened to have the complete list of sgaittal notation
> for 22edo and could provide me with it or popint me to a link, that
> would be great, too!)
> --> Hans Straub
>
>
>
Charles Lucy
lucy@...

- Promoting global harmony through LucyTuning -

for information on LucyTuning go to:
http://www.lucytune.com

For LucyTuned Lullabies go to:
http://www.lullabies.co.uk

🔗hstraub64 <straub@...>

6/23/2008 7:59:08 AM

--- In tuning@yahoogroups.com, "Dave Keenan" <d.keenan@...> wrote:
>
>
> In Scala you can type:
> SET SAGITTAL SHORT MIXED
> SET NOTATION SA22
> EQUAL 22
> SHOW
>
> and you will obtain:
> 0: 1/1 C
> 1: 54.545 cents C/ Db
> 2: 109.091 cents C#\ Db/
> 3: 163.636 cents C# D\
> 4: 218.182 cents D
> 5: 272.727 cents D/ Eb
> 6: 327.273 cents D#\ Eb/
> 7: 381.818 cents D# E\
> 8: 436.364 cents E
> 9: 490.909 cents F
> 10: 545.455 cents F/ Gb
> 11: 600.000 cents F#\ Gb/
> 12: 654.545 cents F# G\
> 13: 709.091 cents G
> 14: 763.636 cents G/ Ab
> 15: 818.182 cents G#\ Ab/
> 16: 872.727 cents G# A\
> 17: 927.273 cents A
> 18: 981.818 cents A/ Bb
> 19: 1036.364 cents A#\ Bb/
> 20: 1090.909 cents A# B\
> 21: 1145.455 cents B
> 22: 2/1 C
>
> You can also choose View/Staff from the View menu and see the proper
> graphical symbols on the staff.
>

Thanks for that!
(I might have looked into Scala myself before asking, errm...)
--
Hans Straub

🔗hstraub64 <straub@...>

6/23/2008 8:17:07 AM

--- In tuning@yahoogroups.com, Charles Lucy <lucy@...> wrote:
>
> Hi Hans;
>
> If you are looking at notation for 22edo, you may find this page
> useful.
>
> It is for 22 and 88 edo mapped to the spiral of fourths and
> fifths, just like LucyTuning, and since the values are so close
> between this pi derived tuning and 88edo, you can isolate the 22edo
> notes. i.e. every fourth interval of 88edo.
>
> http://www.lucytune.com/downloads/2288LT.pdf
>
> This also gives you a practical way to use conventional note
> naming and notation for 22edo, which any competent musician will
> immediately understand, without having to learn a new notation
> system.
>
> I hope it inspires you to come up with more new thoughts;-)
>

Thanks for that, too!

At the moment, I need it only for myself (as output of a computer
program I am writing). For this, both systems work.

What is practical for musicians (since we are at it) is another
question... I am not sure which is easier, learning new symbols or
getting used to things like F5b and Bxx#...
--
Hans Straub

🔗Dave Keenan <d.keenan@...>

6/23/2008 2:46:01 PM

--- In tuning@yahoogroups.com, "Mike Battaglia" <battaglia01@...> wrote:
> BTW, just in general, the concept of having notation marks
> representing small JI intervals that are then tempered along with the
> scale is brilliant. Probably was one of those ideas that clicked so
> deeply that the whole universe made sense when you guys first came up
> with it.

As we say in the Xenharmonikon paper, it didn't originate with George,
Gene or I. It even predated this list. It may have arisen
independently in several places. We saw this principle used by Erv
Wilson, Carl Eitz, Paul Rappoport and in HEWM (Helmholtz, Ellis, Wolf,
Monzo) notation which Sagittal is a fairly direct descendant of.

-- Dave Keenan

🔗Charles Lucy <lucy@...>

6/23/2008 4:57:01 PM

Yes Hans, building a tuning from 22 steps of bbIInds (double flatted seconds of approximately 55 cents, as I would hear/see them) does tend to generate plenty of "interesting" intervals, which is all part of the "charm" and appeal of 22edo.

There is little chance of compositions in this tuning being casually mistaken for 12edo, and I am pleased to see/hear the results of the compositions and experiments in the "outer reaches",

and appreciating how they relate to less "outrageous" harmony is instructive for me.

On 23 Jun 2008, at 16:17, hstraub64 wrote:

> --- In tuning@yahoogroups.com, Charles Lucy <lucy@...> wrote:
> >
> > Hi Hans;
> >
> > If you are looking at notation for 22edo, you may find this page
> > useful.
> >
> > It is for 22 and 88 edo mapped to the spiral of fourths and
> > fifths, just like LucyTuning, and since the values are so close
> > between this pi derived tuning and 88edo, you can isolate the 22edo
> > notes. i.e. every fourth interval of 88edo.
> >
> > http://www.lucytune.com/downloads/2288LT.pdf
> >
> > This also gives you a practical way to use conventional note
> > naming and notation for 22edo, which any competent musician will
> > immediately understand, without having to learn a new notation
> > system.
> >
> > I hope it inspires you to come up with more new thoughts;-)
> >
>
> Thanks for that, too!
>
> At the moment, I need it only for myself (as output of a computer
> program I am writing). For this, both systems work.
>
> What is practical for musicians (since we are at it) is another
> question... I am not sure which is easier, learning new symbols or
> getting used to things like F5b and Bxx#...
> --> Hans Straub
>
>
>
Charles Lucy
lucy@...

- Promoting global harmony through LucyTuning -

for information on LucyTuning go to:
http://www.lucytune.com

For LucyTuned Lullabies go to:
http://www.lullabies.co.uk

🔗Carl Lumma <carl@...>

6/23/2008 8:59:09 PM

> > BTW, just in general, the concept of having notation marks
> > representing small JI intervals that are then tempered along
> > with the scale is brilliant.
>
> As we say in the Xenharmonikon paper, it didn't originate with
> George, Gene or I. It even predated this list. It may have arisen
> independently in several places. We saw this principle used by Erv
> Wilson, Carl Eitz, Paul Rappoport and in HEWM (Helmholtz, Ellis,
> Wolf, Monzo) notation which Sagittal is a fairly direct descendant
> of.
>
> -- Dave Keenan

Was Erv using it in a temperament and if not, then isn't
Johnston one of the earliest to use it?

-Carl

🔗Dave Keenan <d.keenan@...>

6/23/2008 10:09:55 PM

--- In tuning@yahoogroups.com, "Carl Lumma" <carl@...> wrote:
>
> > > BTW, just in general, the concept of having notation marks
> > > representing small JI intervals that are then tempered along
> > > with the scale is brilliant.
> >
> > As we say in the Xenharmonikon paper, it didn't originate with
> > George, Gene or I. It even predated this list. It may have arisen
> > independently in several places. We saw this principle used by Erv
> > Wilson, Carl Eitz, Paul Rappoport and in HEWM (Helmholtz, Ellis,
> > Wolf, Monzo) notation which Sagittal is a fairly direct descendant
> > of.
> >
> > -- Dave Keenan
>
> Was Erv using it in a temperament and if not, then isn't
> Johnston one of the earliest to use it?

Yes Erv was using the same symbols across multiple temperaments and JI.

I thought Johnston's symbols were strictly for JI.

-- Dave Keenan

🔗Kraig Grady <kraiggrady@...>

6/23/2008 10:24:51 PM

Erv's notation is based on the placement of notes on the keyboard. regardless if they are tempered or just. The overall vision of having a generalized keyboard to switch between tunings, and yet be able to play with a somewhat universal notation system.

Johnston notation is based on the JI major scale so the cycle of fifths get interrupted between D and A (D- being the fifth below A). It is an odd concession in his music only because in practice it is the harmonic and subharmonic series that form the basis of his music, rarely using the major as a modulated block. Perhaps when he first came up with the notation he envisioned going in that direction.

/^_,',',',_ //^ /Kraig Grady_ ^_,',',',_
Mesotonal Music from:
_'''''''_ ^North/Western Hemisphere: North American Embassy of Anaphoria Island <http://anaphoria.com/>

_'''''''_ ^South/Eastern Hemisphere:
Austronesian Outpost of Anaphoria <http://anaphoriasouth.blogspot.com/>

',',',',',',',',',',',',',',',',',',',',',',',',',',',',',

Dave Keenan wrote:
>
> --- In tuning@yahoogroups.com <mailto:tuning%40yahoogroups.com>, "Carl > Lumma" <carl@...> wrote:
> >
> > > > BTW, just in general, the concept of having notation marks
> > > > representing small JI intervals that are then tempered along
> > > > with the scale is brilliant.
> > >
> > > As we say in the Xenharmonikon paper, it didn't originate with
> > > George, Gene or I. It even predated this list. It may have arisen
> > > independently in several places. We saw this principle used by Erv
> > > Wilson, Carl Eitz, Paul Rappoport and in HEWM (Helmholtz, Ellis,
> > > Wolf, Monzo) notation which Sagittal is a fairly direct descendant
> > > of.
> > >
> > > -- Dave Keenan
> >
> > Was Erv using it in a temperament and if not, then isn't
> > Johnston one of the earliest to use it?
>
> Yes Erv was using the same symbols across multiple temperaments and JI.
>
> I thought Johnston's symbols were strictly for JI.
>
> -- Dave Keenan
>
>

🔗Torsten Anders <torstenanders@...>

6/24/2008 1:50:18 AM

On Jun 23, 2008, at 11:13 AM, hstraub64 wrote:
> I have started to dig into the sagittal notation stuff. Now I have > questions about notating 22edo in it.

Concerning notation of 22-ET: I recently tried to get my head around Paul Erlich's decatonic scales. So, I notated the whole material in common music notation, because that is still be best way for me to comprehend it. I though that this is possibly also helpful for others, so I share it hereby.

Here is a brief explanation of the accidentals I am using for expressing 22 ET (it is the best I was able to do in Lilypond, I would very much welcome any further suggestions here. For example, I was unsuccessful so far to use Sagittal notation with Lilypond...).

http://strasheela.sourceforge.net/strasheela/contributions/anders/ET22/doc-DB/ET22-notation.pdf

http://strasheela.sourceforge.net/strasheela/contributions/anders/ET22/doc-DB/ET22-allIntervals.pdf
http://strasheela.sourceforge.net/strasheela/contributions/anders/ET22/doc-DB/ET22-allIntervals.mp3

Here is a list of all the decatonic scales in common music notation.

http://strasheela.sourceforge.net/strasheela/contributions/anders/ET22/doc-DB/ET22-all-scales-explicitNotes.pdf
http://strasheela.sourceforge.net/strasheela/contributions/anders/ET22/doc-DB/ET22-all-scales-explicitNotes.mp3

Here are a number of chords listed which fit into the scales, translating a list of JI chords by Dave Keenan given in ratios into common music notation.

http://strasheela.sourceforge.net/strasheela/contributions/anders/ET22/doc-DB/ET22-all-chords-explicitNotes.pdf
http://strasheela.sourceforge.net/strasheela/contributions/anders/ET22/doc-DB/ET22-all-chords-explicitNotes.mp3

Finally, for every scale and every scale degree I listed all chords which fit into this scale (the enharmonic notation is static and thus often wrong). You find the PDF and MP3 files all in the following folder

http://strasheela.sourceforge.net/strasheela/contributions/anders/ET22/doc-DB/ChordsInDecatonicScales/

For example, here are the links to standard pentachordal major and minor.

http://strasheela.sourceforge.net/strasheela/contributions/anders/ET22/doc-DB/ChordsInDecatonicScales/StandardPentachordalMajor-ChordsAtScaleDegrees-withNotes.pdf
http://strasheela.sourceforge.net/strasheela/contributions/anders/ET22/doc-DB/ChordsInDecatonicScales/StandardPentachordalMajor-ChordsAtScaleDegrees-withNotes.mp3

http://strasheela.sourceforge.net/strasheela/contributions/anders/ET22/doc-DB/ChordsInDecatonicScales/StandardPentachordalMinor-ChordsAtScaleDegrees-withNotes.pdf
http://strasheela.sourceforge.net/strasheela/contributions/anders/ET22/doc-DB/ChordsInDecatonicScales/StandardPentachordalMinor-ChordsAtScaleDegrees-withNotes.mp3

All other scales are also there, just check out the directory for the file names corresponding to the scale names.

Comments are welcome. For example, I hope I did not make any mistake in the chord list itself (before transposing these chords to scale degrees).

Best
Torsten

PS: I used the (software version of) the Tonal Plexus to get an idea of the JI interpretation involved in this scale. It is very nice to actually hear all these intervals (and commas!) with a keyboard whose resolution is high enough :)

--
Torsten Anders
Interdisciplinary Centre for Computer Music Research
University of Plymouth
Office: +44-1752-586227
Private: +44-1752-558917
http://strasheela.sourceforge.net
http://www.torsten-anders.de

🔗monz <joemonz@...>

6/24/2008 6:54:57 AM

Hi Mike and Dave,

--- In tuning@yahoogroups.com, "Dave Keenan" <d.keenan@...> wrote:
>
> --- In tuning@yahoogroups.com, "Mike Battaglia" <battaglia01@> wrote:
> > BTW, just in general, the concept of having notation
> > marks representing small JI intervals that are then
> > tempered along with the scale is brilliant. Probably
> > was one of those ideas that clicked so deeply that the
> > whole universe made sense when you guys first came up
> > with it.
>
> As we say in the Xenharmonikon paper, it didn't originate
> with George, Gene or I. It even predated this list. It may
> have arisen independently in several places. We saw this
> principle used by Erv Wilson, Carl Eitz, Paul Rappoport
> and in HEWM (Helmholtz, Ellis, Wolf, Monzo) notation which
> Sagittal is a fairly direct descendant of.
>
> -- Dave Keenan

In reference to HEWM notation:

Daniel Wolf's version was put forth only in the context
of just-intonation. Helmholtz also used the markings in
a JI context, and i would really have to read his book
again to remember if either he or Ellis extended the
idea to temperament, but i don't think they did.

My own use of HEWM, as you can see on the webpage,
does allow use of the accidental glyphs for either
JI or temperament. I got the idea of using the same
symbols for JI and 72-edo as a result of discussions
with Paul Erlich in which he noted that, because of
not only fairly good accuracy but more importantly
consistency, 72-edo represents 11-limit JI well.

references:
http://tonalsoft.com/enc/h/hewm.aspx
http://tonalsoft.com/enc/c/consistent.aspx

-monz
http://tonalsoft.com/tonescape.aspx
Tonescape microtonal music software

🔗monz <joemonz@...>

6/24/2008 7:03:24 AM

> I thought Johnston's symbols were strictly for JI.
>
> -- Dave Keenan

Yes, they are.

Johnston gave up composing in any temperament a
long time ago. All of his acknowledged music is JI.

-monz
http://tonalsoft.com/tonescape.aspx
Tonescape microtonal music software

🔗Kraig Grady <kraiggrady@...>

6/24/2008 7:19:43 AM

hey Monzo`
you dictionary is down? i think you might have mention this cause i couldn't get on earlier today

/^_,',',',_ //^ /Kraig Grady_ ^_,',',',_
Mesotonal Music from:
_'''''''_ ^North/Western Hemisphere: North American Embassy of Anaphoria Island <http://anaphoria.com/>

_'''''''_ ^South/Eastern Hemisphere:
Austronesian Outpost of Anaphoria <http://anaphoriasouth.blogspot.com/>

',',',',',',',',',',',',',',',',',',',',',',',',',',',',',

monz wrote:
>
> Hi Mike and Dave,
>
> --- In tuning@yahoogroups.com <mailto:tuning%40yahoogroups.com>, "Dave > Keenan" <d.keenan@...> wrote:
> >
> > --- In tuning@yahoogroups.com <mailto:tuning%40yahoogroups.com>, > "Mike Battaglia" <battaglia01@> wrote:
> > > BTW, just in general, the concept of having notation
> > > marks representing small JI intervals that are then
> > > tempered along with the scale is brilliant. Probably
> > > was one of those ideas that clicked so deeply that the
> > > whole universe made sense when you guys first came up
> > > with it.
> >
> > As we say in the Xenharmonikon paper, it didn't originate
> > with George, Gene or I. It even predated this list. It may
> > have arisen independently in several places. We saw this
> > principle used by Erv Wilson, Carl Eitz, Paul Rappoport
> > and in HEWM (Helmholtz, Ellis, Wolf, Monzo) notation which
> > Sagittal is a fairly direct descendant of.
> >
> > -- Dave Keenan
>
> In reference to HEWM notation:
>
> Daniel Wolf's version was put forth only in the context
> of just-intonation. Helmholtz also used the markings in
> a JI context, and i would really have to read his book
> again to remember if either he or Ellis extended the
> idea to temperament, but i don't think they did.
>
> My own use of HEWM, as you can see on the webpage,
> does allow use of the accidental glyphs for either
> JI or temperament. I got the idea of using the same
> symbols for JI and 72-edo as a result of discussions
> with Paul Erlich in which he noted that, because of
> not only fairly good accuracy but more importantly
> consistency, 72-edo represents 11-limit JI well.
>
> references:
> http://tonalsoft.com/enc/h/hewm.aspx > <http://tonalsoft.com/enc/h/hewm.aspx>
> http://tonalsoft.com/enc/c/consistent.aspx > <http://tonalsoft.com/enc/c/consistent.aspx>
>
> -monz
> http://tonalsoft.com/tonescape.aspx <http://tonalsoft.com/tonescape.aspx>
> Tonescape microtonal music software
>
>

🔗Torsten Anders <torstenanders@...>

6/24/2008 7:31:26 AM

I could access it right now.

Best
Torsten

On Jun 24, 2008, at 3:19 PM, Kraig Grady wrote:

> hey Monzo`
> you dictionary is down? i think you might have mention this cause i
> couldn't get on earlier today
>
> /^_,',',',_ //^ /Kraig Grady_ ^_,',',',_
> Mesotonal Music from:
> _'''''''_ ^North/Western Hemisphere:
> North American Embassy of Anaphoria Island <http://anaphoria.com/>
>
> _'''''''_ ^South/Eastern Hemisphere:
> Austronesian Outpost of Anaphoria <http://> anaphoriasouth.blogspot.com/>
>
> ',',',',',',',',',',',',',',',',',',',',',',',',',',',',',
>
> monz wrote:
> >
> > Hi Mike and Dave,
> >
> > --- In tuning@yahoogroups.com <mailto:tuning%40yahoogroups.com>, > "Dave
> > Keenan" <d.keenan@...> wrote:
> > >
> > > --- In tuning@yahoogroups.com <mailto:tuning%40yahoogroups.com>,
> > "Mike Battaglia" <battaglia01@> wrote:
> > > > BTW, just in general, the concept of having notation
> > > > marks representing small JI intervals that are then
> > > > tempered along with the scale is brilliant. Probably
> > > > was one of those ideas that clicked so deeply that the
> > > > whole universe made sense when you guys first came up
> > > > with it.
> > >
> > > As we say in the Xenharmonikon paper, it didn't originate
> > > with George, Gene or I. It even predated this list. It may
> > > have arisen independently in several places. We saw this
> > > principle used by Erv Wilson, Carl Eitz, Paul Rappoport
> > > and in HEWM (Helmholtz, Ellis, Wolf, Monzo) notation which
> > > Sagittal is a fairly direct descendant of.
> > >
> > > -- Dave Keenan
> >
> > In reference to HEWM notation:
> >
> > Daniel Wolf's version was put forth only in the context
> > of just-intonation. Helmholtz also used the markings in
> > a JI context, and i would really have to read his book
> > again to remember if either he or Ellis extended the
> > idea to temperament, but i don't think they did.
> >
> > My own use of HEWM, as you can see on the webpage,
> > does allow use of the accidental glyphs for either
> > JI or temperament. I got the idea of using the same
> > symbols for JI and 72-edo as a result of discussions
> > with Paul Erlich in which he noted that, because of
> > not only fairly good accuracy but more importantly
> > consistency, 72-edo represents 11-limit JI well.
> >
> > references:
> > http://tonalsoft.com/enc/h/hewm.aspx
> > <http://tonalsoft.com/enc/h/hewm.aspx>
> > http://tonalsoft.com/enc/c/consistent.aspx
> > <http://tonalsoft.com/enc/c/consistent.aspx>
> >
> > -monz
> > http://tonalsoft.com/tonescape.aspx <http://tonalsoft.com/> tonescape.aspx>
> > Tonescape microtonal music software
> >
> >
>
>
--
Torsten Anders
Interdisciplinary Centre for Computer Music Research
University of Plymouth
Office: +44-1752-586227
Private: +44-1752-558917
http://strasheela.sourceforge.net
http://www.torsten-anders.de

🔗Dave Keenan <d.keenan@...>

6/25/2008 6:19:33 AM

Wow! Torsten. What fun. Thankyou for all those mp3s and notation in
/tuning/topicId_77629.html#77702

For others: The chord (lattice) chart Torsten refers to is here:
http://dkeenan.com/Music/ErlichDecChords.gif

It's a pity we don't have Sagittal available in Lilypond yet. Make
sure you let it be known in the appropriate forum that you would like
it. You're not the only one. Prent Rodgers is another. You will find
other allies (and maybe people who can implement it) if you google
"lilypond sagittal notation" (without the quotes). Also try the common
misspellings "lillypond" and "saggital". The more who ask, the more
likely it is to happen. George and I offered to help Han-Wen Nienhuys
get it implemented a couple of years ago, but he was moving house at
the time.

-- Dave Keenan

🔗Torsten Anders <torstenanders@...>

6/25/2008 6:28:55 AM

Dear Dave,

thanks for your reply and for collecting these chords in the first place.

Concerning Lilypond and Sagittal: I raised the subject every now and then in the Lilypond users list whenever I had a question related to microtonal accidentals. For example, recently I asked whether support for such notation could be sponsored (they did that before). However, there was no reaction whatsoever to my request on the Lily list. I reckon there are more who are interested in microtonal notation, but it seems the actual Lily-hackers are not among them..

Best
Torsten

On Jun 25, 2008, at 2:19 PM, Dave Keenan wrote:
> Wow! Torsten. What fun. Thankyou for all those mp3s and notation in
> /tuning/topicId_77629.html#77702
>
> For others: The chord (lattice) chart Torsten refers to is here:
> http://dkeenan.com/Music/ErlichDecChords.gif
>
> It's a pity we don't have Sagittal available in Lilypond yet. Make
> sure you let it be known in the appropriate forum that you would like
> it. You're not the only one. Prent Rodgers is another. You will find
> other allies (and maybe people who can implement it) if you google
> "lilypond sagittal notation" (without the quotes). Also try the common
> misspellings "lillypond" and "saggital". The more who ask, the more
> likely it is to happen. George and I offered to help Han-Wen Nienhuys
> get it implemented a couple of years ago, but he was moving house at
> the time.
>
> -- Dave Keenan
>
>
>
--
Torsten Anders
Interdisciplinary Centre for Computer Music Research
University of Plymouth
Office: +44-1752-586227
Private: +44-1752-558917
http://strasheela.sourceforge.net
http://www.torsten-anders.de

🔗Torsten Anders <torstenanders@...>

6/25/2008 6:36:03 AM

On Jun 25, 2008, at 2:19 PM, Dave Keenan wrote:
> The more who ask, the more likely it is to happen. George and I > offered to help Han-Wen Nienhuys
> get it implemented a couple of years ago, but he was moving house at
> the time.

BTW: from the experience of the examples I just posted here, the actual problem with Lilypond and Saggital notation seems to be simply to have support for symbols from another font for accidentals (i.e. not Lily's Feta font). I already succeeded in changing the accidental symbols to arbitrary feta font signs and also could introduce additional pitches between semitones.

Once we can have signs from arbitrary fonts, then there is the matter of positioning them (some symbols have some y offset). Unfortunately, both these matters are beyond my Lily-hacking capabilities. Here is a link to a message with a more detailed description of the issue.

http://lists.gnu.org/archive/html/lilypond-user/2008-06/msg00283.html

Best
Torsten

--
Torsten Anders
Interdisciplinary Centre for Computer Music Research
University of Plymouth
Office: +44-1752-586227
Private: +44-1752-558917
http://strasheela.sourceforge.net
http://www.torsten-anders.de

🔗Dave Keenan <d.keenan@...>

6/25/2008 8:05:43 AM

In 2006 my exchange with Han-Wen included the following. I hope it may
mean something to you.

Dave:
I believe that Lilypond Sagittal users will be quite happy to
represent only the symbols on the score, not the actual pitch
alterations. And I suspect that the implementation will then be much
simpler.

Han-Wen:
that's already possible, albeit with some hacking. You'd have to
override the 'stencil callback in Accidental to put \markup texts
(containing text strings in your sagittal font) instead of the
accidental symbol.

I found these. They look like a long shot but they mention Lisp and
Sagittal, and Lilypond is mostly in a dialect of Lisp called Scheme.
http://www.advogato.org/person/magnusjonsson/diary.html?start=1
http://advogato.org/person/crhodes/diary/121.html

-- Dave Keenan

--- In tuning@...m, Torsten Anders <torstenanders@...> wrote:
>
>
> On Jun 25, 2008, at 2:19 PM, Dave Keenan wrote:
> > The more who ask, the more likely it is to happen. George and I
> > offered to help Han-Wen Nienhuys
> > get it implemented a couple of years ago, but he was moving house at
> > the time.
>
> BTW: from the experience of the examples I just posted here, the
> actual problem with Lilypond and Saggital notation seems to be simply
> to have support for symbols from another font for accidentals (i.e.
> not Lily's Feta font). I already succeeded in changing the accidental
> symbols to arbitrary feta font signs and also could introduce
> additional pitches between semitones.
>
> Once we can have signs from arbitrary fonts, then there is the matter
> of positioning them (some symbols have some y offset). Unfortunately,
> both these matters are beyond my Lily-hacking capabilities. Here is a
> link to a message with a more detailed description of the issue.
>
> http://lists.gnu.org/archive/html/lilypond-user/2008-06/msg00283.html
>
> Best
> Torsten
>
> --
> Torsten Anders
> Interdisciplinary Centre for Computer Music Research
> University of Plymouth
> Office: +44-1752-586227
> Private: +44-1752-558917
> http://strasheela.sourceforge.net
> http://www.torsten-anders.de
>

🔗Torsten Anders <torstenanders@...>

6/25/2008 10:11:35 AM

Dear Davem

thanks for your reply.

On Jun 25, 2008, at 4:05 PM, Dave Keenan wrote:
> In 2006 my exchange with Han-Wen included the following. I hope it may
> mean something to you.
>
> Dave:
> I believe that Lilypond Sagittal users will be quite happy to
> represent only the symbols on the score, not the actual pitch
> alterations. And I suspect that the implementation will then be much
> simpler.
>
> Han-Wen:
> that's already possible, albeit with some hacking. You'd have to
> override the 'stencil callback in Accidental to put \markup texts
> (containing text strings in your sagittal font) instead of the
> accidental symbol.
>
Do you have any more details? I tried to do this but failed so far. I can already overwrite accidentals for monophonic voices with \markup text, but not for chords. So, do you perhaps have any example? BTW: here is an example for monophonic voices (but this approach does not work for chords).

> On Mar 31, 2008, at 10:45 AM, Mats Bengtsson wrote (TA edited > slightly):

\version "2.10.0"
\relative c'{
\once \override Accidental #'stencil = #ly:text-interface::print
\once \override Accidental #'text = \markup{<my accidental>}
cis d }

> I found these. They look like a long shot but they mention Lisp and
> Sagittal, and Lilypond is mostly in a dialect of Lisp called Scheme.
> http://www.advogato.org/person/magnusjonsson/diary.html?start=1
> http://advogato.org/person/crhodes/diary/121.html
>
Hm, there is nothing specific. If I am using something besides Lilypond, then I would probably go for some extension of abc, which is advertised on the Saggital web site...

Best
Torsten

>
>
> -- Dave Keenan
>
> --- In tuning@yahoogroups.com, Torsten Anders <torstenanders@...> > wrote:
> >
> >
> > On Jun 25, 2008, at 2:19 PM, Dave Keenan wrote:
> > > The more who ask, the more likely it is to happen. George and I
> > > offered to help Han-Wen Nienhuys
> > > get it implemented a couple of years ago, but he was moving > house at
> > > the time.
> >
> > BTW: from the experience of the examples I just posted here, the
> > actual problem with Lilypond and Saggital notation seems to be > simply
> > to have support for symbols from another font for accidentals (i.e.
> > not Lily's Feta font). I already succeeded in changing the > accidental
> > symbols to arbitrary feta font signs and also could introduce
> > additional pitches between semitones.
> >
> > Once we can have signs from arbitrary fonts, then there is the > matter
> > of positioning them (some symbols have some y offset). > Unfortunately,
> > both these matters are beyond my Lily-hacking capabilities. Here > is a
> > link to a message with a more detailed description of the issue.
> >
> > http://lists.gnu.org/archive/html/lilypond-user/2008-06/> msg00283.html
> >
> > Best
> > Torsten
> >
> > --
> > Torsten Anders
> > Interdisciplinary Centre for Computer Music Research
> > University of Plymouth
> > Office: +44-1752-586227
> > Private: +44-1752-558917
> > http://strasheela.sourceforge.net
> > http://www.torsten-anders.de
> >
>
>
>
--
Torsten Anders
Interdisciplinary Centre for Computer Music Research
University of Plymouth
Office: +44-1752-586227
Private: +44-1752-558917
http://strasheela.sourceforge.net
http://www.torsten-anders.de

🔗Dave Keenan <d.keenan@...>

6/25/2008 3:19:58 PM

--- In tuning@yahoogroups.com, Torsten Anders <torstenanders@...> wrote:
> > Han-Wen:
> > that's already possible, albeit with some hacking. You'd have to
> > override the 'stencil callback in Accidental to put \markup texts
> > (containing text strings in your sagittal font) instead of the
> > accidental symbol.
> >
> Do you have any more details? I tried to do this but failed so far. I
> can already overwrite accidentals for monophonic voices with \markup
> text, but not for chords. So, do you perhaps have any example? BTW:
> here is an example for monophonic voices (but this approach does not
> work for chords).

No, I'm sorry. I know almost nothing about Scheme or the internals of
Lilypond and so I didn't know the right questions and nothing further
was said in this exchange. You might try emailing Han-Wen Nienhuys
yourself to ask for more clues to make it work for chords. It was
hanwenn at gmail.

> Hm, there is nothing specific. If I am using something besides
> Lilypond, then I would probably go for some extension of abc, which
> is advertised on the Saggital web site...

Yes. Hudson Lacerda has done a wonderful job of implementing Sagittal
in MicroABC.

-- Dave Keenan

🔗hstraub64 <straub@...>

6/26/2008 7:22:24 AM

--- In tuning@yahoogroups.com, Torsten Anders <torstenanders@...> wrote:
>
> Concerning notation of 22-ET: I recently tried to get my head
> around Paul Erlich's decatonic scales. So, I notated the whole
> material in common music notation, because that is still be best
> way for me to comprehend it. I though that this is possibly also
> helpful for others, so I share it hereby.
>

Thanks for that! Quite impressive, what can be done with Lilypond
tweaking even now...

BTW, the program I am writing (and in whose context i wanted the 22edo
note names) is to calculate the Rothenbergian sufficient sets and
Mazzolan cadence-sets for the pentachordas decatonic scale. I was
hoping to have the results by now - but it's not working yet :-(
But it's going to come up for sure.
--
Hans Straub

🔗Torsten Anders <torstenanders@...>

6/26/2008 7:51:05 AM

Dear Hans,

On Jun 26, 2008, at 3:22 PM, hstraub64 wrote:
> the program I am writing (and in whose context i wanted the 22edo
> note names) is to calculate the Rothenbergian sufficient sets and
> Mazzolan cadence-sets for the pentachordas decatonic scale. I was
> hoping to have the results by now - but it's not working yet :-(
> But it's going to come up for sure.
>
What is the algorithm you are using for computing these both? I would like to have that ready-made in Strasheela..

Thanks!

Best
Torsten

--
Torsten Anders
Interdisciplinary Centre for Computer Music Research
University of Plymouth
Office: +44-1752-586227
Private: +44-1752-558917
http://strasheela.sourceforge.net
http://www.torsten-anders.de

🔗Torsten Anders <torstenanders@...>

6/26/2008 9:41:18 AM

Oops, an old version of my mail just went out accidentally. Below is the actual message.

Dear Hans,

On Jun 26, 2008, at 3:22 PM, hstraub64 wrote:
> the program I am writing (and in whose context i wanted the 22edo
> note names) is to calculate the Rothenbergian sufficient sets and
> Mazzolan cadence-sets for the pentachordas decatonic scale. I was
> hoping to have the results by now - but it's not working yet :-(
> But it's going to come up for sure.

What is the algorithm you are using for computing these both?

Anyway, I just added some function to Strasheela for computing the minimal cadential set given a scale and a list of context scales. For example, if the scale is the C major scale, and the context scales are all major scale in the remaining 11 ET transpositions (i.e. all except the C major scale itself), then the minimal cadential set is {0, 5, 11} (i.e. the pitch class set {G, B, F}).

Here is how it works. I use the symbol < to denote subsets.

SufficientSet < getPitchClasses(MyScale)
forAll C : C \in ContextScales
not ( SufficientSet < getPitchClasses(C) )

Then I minimise SufficientSet.

So, here is the minimal cadential set for Standard Pentachordal Major in C (i.e. the 22-ET pitch classes {0, 2, 4, 7, 9, 11, 13, 16, 18, 20}) with the context of all other Standard Pentachordal Major scales (but no other Pentachordal scales):

{2, 16}

Mind that the root (0) is not part of it.

Nevertheless, I am sceptical whether/how this minimal set has perceptual relevance :) It assumes a listener which knows the Standard Pentachordal Major scale very well (like we know the Diatonic Major scale).

Still, if you want the figures for other scales, I can send them to you. Alternatively, you can grab Strasheela (from the Subversion repository until I release a new version) and I send you the few lines of Strasheela code which get you these figures...

Best
Torsten

--
Torsten Anders
Interdisciplinary Centre for Computer Music Research
University of Plymouth
Office: +44-1752-586227
Private: +44-1752-558917
http://strasheela.sourceforge.net
http://www.torsten-anders.de

🔗hstraub64 <straub@...>

6/30/2008 2:02:02 AM

--- In tuning@yahoogroups.com, Torsten Anders <torstenanders@...>
wrote:
>
>
> On Jun 26, 2008, at 3:22 PM, hstraub64 wrote:
> > the program I am writing (and in whose context i wanted the 22edo
> > note names) is to calculate the Rothenbergian sufficient sets and
> > Mazzolan cadence-sets for the pentachordas decatonic scale. I was
> > hoping to have the results by now - but it's not working yet :-(
> > But it's going to come up for sure.
>
> What is the algorithm you are using for computing these both?
>

1) First, a chord or a set of chords is cadencial iff at least one of
its transpositions (11 transpositons in the case of 12tet) is not
contained in the original chord set.

2) Then I make use of the minimality of a minimal cadence-set, which
implies that every minimal cadence-set is a union of smaller non-
cadencial sets.

So the algorithm goes as follows:

I start with one-element chord sets (the triads of C major - or the
tetrads of pentachord decatonic major) and use point 1) above to
split these up into cadencial and non-cadencial ones.

Then from point 2) follows that the candidates for minimal cadencial
sets with 2 elements are unions of non-cadencial sets with 1 element.
So in a secvond step I build all possible unions of the non-cadencial
sets in the previous step and check whether these are cadencical with
point 1), which gives me, again, a division into cadencial and non-
cadencial sets.

Then I iterate until there is no more union possible. I can send you
the code, if you want. It is hard ANSI-C, not even C++ - quite
compact and fast, but not very error-tolerating and not easy to
extend to other tunings, and has nearly no user interfaxe. I have
been planning to write it anew in C++ with the STL library or
wxWidgets soemthing - but I tend to never find the time...

> Anyway, I just added some function to Strasheela for computing the
> minimal cadential set given a scale and a list of context scales.

Great! I definitely have a reason to get Strasheela now.
--
Hans Straub

🔗hstraub64 <straub@...>

6/30/2008 5:26:53 AM

--- In tuning@yahoogroups.com, Torsten Anders <torstenanders@...>
wrote:
>
> Anyway, I just added some function to Strasheela for computing the
> minimal cadential set given a scale and a list of context scales.
> For example, if the scale is the C major scale, and the context
> scales are all major scale in the remaining 11 ET transpositions
> (i.e. all except the C major scale itself), then the minimal
> cadential set is
> {0, 5, 11} (i.e. the pitch class set {G, B, F}).
>

{G, B, F} is { 2, 5, 11}, isn't it?

> Here is how it works. I use the symbol < to denote subsets.
>
> SufficientSet < getPitchClasses(MyScale)
> forAll C : C \in ContextScales
> not ( SufficientSet < getPitchClasses(C) )
>
> Then I minimise SufficientSet.
>
> So, here is the minimal cadential set for Standard Pentachordal
> Major in C (i.e. the 22-ET pitch classes {0, 2, 4, 7, 9, 11, 13,
> 16, 18, 20}) with the context of all other Standard Pentachordal
> Major scales (but no other Pentachordal scales):
>
> {2, 16}
>

I got to have a closer look at the code. However, I have the
impression that it is not correct - not complete in any case, since
to my knowledge, there are usually several minimal sufficient sets,
not just one.

I will check tonight if I find the time.
--
Hans Straub

🔗Torsten Anders <torsten.anders@...>

6/30/2008 10:09:33 AM

On Jun 30, 2008, at 1:26 PM, hstraub64 wrote:
> --- In tuning@yahoogroups.com, Torsten Anders <torstenanders@...>
> wrote:
>>
>> Anyway, I just added some function to Strasheela for computing the
>> minimal cadential set given a scale and a list of context scales.
>> For example, if the scale is the C major scale, and the context
>> scales are all major scale in the remaining 11 ET transpositions
>> (i.e. all except the C major scale itself), then the minimal
>> cadential set is
>> {0, 5, 11} (i.e. the pitch class set {G, B, F}).
>>
>
> {G, B, F} is { 2, 5, 11}, isn't it?
>
Oops, I meant of course {C, F, B}

>> Here is how it works. I use the symbol < to denote subsets.
>>
>> SufficientSet < getPitchClasses(MyScale)
>> forAll C : C \in ContextScales
>> not ( SufficientSet < getPitchClasses(C) )
>>
>> Then I minimise SufficientSet.
>>
>> So, here is the minimal cadential set for Standard Pentachordal
>> Major in C (i.e. the 22-ET pitch classes {0, 2, 4, 7, 9, 11, 13,
>> 16, 18, 20}) with the context of all other Standard Pentachordal
>> Major scales (but no other Pentachordal scales):
>>
>> {2, 16}
>>
>
> I got to have a closer look at the code. However, I have the
> impression that it is not correct - not complete in any case, since
> to my knowledge, there are usually several minimal sufficient sets,
> not just one.
>
Ah, I see. I now extended the program to compute all solutions, see
below. Comments welcome.

All minimal sets for diatonic major (I don't understand why the
solution is not simply {5, 11} -- is that a bug or am I missing
something?)

{0, 5, 11}, {2, 5, 11}, {4, 5, 11}, {5, 7, 11}, {5, 9, 11}

All minimal sets for decatonic major

{2, 16}, {4, 7}, {4, 16}

which is

{C#\, A\}, {D, E\}, {D, A\}

Best
Torsten

--
Torsten Anders
Interdisciplinary Centre for Computer Music Research
University of Plymouth
Office: +44-1752-586219
Private: +44-1752-558917
http://strasheela.sourceforge.net
http://www.torsten-anders.de

🔗Torsten Anders <torsten.anders@...>

6/30/2008 10:09:52 AM

Dear Hans,

thanks for detailing your approach for computing the cadence-sets.

On Jun 30, 2008, at 10:02 AM, hstraub64 wrote:
> --- In tuning@yahoogroups.com, Torsten Anders <torstenanders@...>
> wrote:
>>
>>
>> On Jun 26, 2008, at 3:22 PM, hstraub64 wrote:
>>> the program I am writing (and in whose context i wanted the 22edo
>>> note names) is to calculate the Rothenbergian sufficient sets and
>>> Mazzolan cadence-sets for the pentachordas decatonic scale. I was
>>> hoping to have the results by now - but it's not working yet :-(
>>> But it's going to come up for sure.
>>
>> What is the algorithm you are using for computing these both?
>>
>
> 1) First, a chord or a set of chords is cadencial iff at least one of
> its transpositions (11 transpositons in the case of 12tet) is not
> contained in the original chord set.
>
Sorry, I don't understand. Say a chord is simply {0} (i.e. {C}). Then
all transpositions of this chord are not contained in {0} -- but you
can't mean that {0} is cadential...

> 2) Then I make use of the minimality of a minimal cadence-set, which
> implies that every minimal cadence-set is a union of smaller non-
> cadencial sets.
>
> So the algorithm goes as follows:
>
> I start with one-element chord sets (the triads of C major - or the
> tetrads of pentachord decatonic major) and use point 1) above to
> split these up into cadencial and non-cadencial ones.
>
In the approach I described before, I search for the minimal set of
pitches which unambiguously expresses a scale (say, compared with all
its transpositions). So, I don't search for cadential chord sets but
instead for a single pitch class set. Once we have that, we could
search for all (minimal) chord sets which contain this set. That way,
we are not limited to the triads of diatonic major or the tetrads of
decatonic major (diatonic chords like IV6 or V7 should not be
disallowed in a cadence, I feel).

However, this approach may be neither what Rothenberg nor what
Mazzola proposed...

Nevertheless, it works very well for music constraint programming.
For example, I can constrain a chord sequence of any length to
express this minimal cadential set (say the last three chords of a
musical section). Such a constraint always results in a cadence, and
it allows for chords with arbitrary cardiality (e.g. pentads like
V79). And because this constraint does not fix my result to a
specific chord sequence already, I can combine it with other harmonic
constraints. For example, I can combine it with Schoenberg's rules on
root progressions (see discussion starting at http://
launch.groups.yahoo.com/group/tuning/message/75982).

> Then from point 2) follows that the candidates for minimal cadencial
> sets with 2 elements are unions of non-cadencial sets with 1 element.
> So in a secvond step I build all possible unions of the non-cadencial
> sets in the previous step and check whether these are cadencical with
> point 1), which gives me, again, a division into cadencial and non-
> cadencial sets.
>
> Then I iterate until there is no more union possible. I can send you
> the code, if you want. It is hard ANSI-C, not even C++ - quite
> compact and fast, but not very error-tolerating and not easy to
> extend to other tunings, and has nearly no user interfaxe. I have
> been planning to write it anew in C++ with the STL library or
> wxWidgets soemthing - but I tend to never find the time...
>
Perhaps it is interesting for you to hear that my implementation in
Strasheela takes only about 20 lines of code (search is build-in in
my implementation language), and it is already fully generic for
arbitrary equal temperaments or other tunings which can be expressed
by pitch class sets (e.g., I use 22 ET pitch classes for Erich's
pajara).

>> Anyway, I just added some function to Strasheela for computing the
>> minimal cadential set given a scale and a list of context scales.
>
> Great! I definitely have a reason to get Strasheela now.
>
Please let me know if you are interested in some Strasheela code
examples demonstrating how to compute cadential sets. I feel that
such details may be off-topic here, so we may discuss that privately
(or on the Strasheela-users list).

Best
Torsten

--
Torsten Anders
Interdisciplinary Centre for Computer Music Research
University of Plymouth
Office: +44-1752-586219
Private: +44-1752-558917
http://strasheela.sourceforge.net
http://www.torsten-anders.de

--
Torsten Anders
Interdisciplinary Centre for Computer Music Research
University of Plymouth
Office: +44-1752-586219
Private: +44-1752-558917
http://strasheela.sourceforge.net
http://www.torsten-anders.de

🔗Graham Breed <gbreed@...>

7/2/2008 9:18:01 AM

Torsten Anders wrote:

> All minimal sets for diatonic major (I don't understand why the
> solution is not simply {5, 11} -- is that a bug or am I missing
> something?)
> > {0, 5, 11}, {2, 5, 11}, {4, 5, 11}, {5, 7, 11}, {5, 9, 11}

I don't think this was answered. It's because of tritone substitutions. These are subsets of a 12 note chromatic, right? 5 and 11 are F and B if we call it C major. There's no other major scale with F and B but E# and B are both in F# major. Your pitch classes don't distinguish E# from F.

If you take the diatonic major in 19-equal, I think you'll find the minimal set is, what, {8, 17}.

Graham

🔗Graham Breed <gbreed@...>

7/2/2008 1:22:02 PM

Torsten:
>>> So, here is the minimal cadential set for Standard Pentachordal
>>> Major in C (i.e. the 22-ET pitch classes {0, 2, 4, 7, 9, 11, 13,
>>> 16, 18, 20}) with the context of all other Standard Pentachordal
>>> Major scales (but no other Pentachordal scales):
>>>
>>> {2, 16}

Hans:
>> I got to have a closer look at the code. However, I have the
>> impression that it is not correct - not complete in any case, since
>> to my knowledge, there are usually several minimal sufficient sets,
>> not just one.

Torsten:
> Ah, I see. I now extended the program to compute all solutions, see
> below. Comments welcome.

<snip>

> All minimal sets for decatonic major
> > {2, 16}, {4, 7}, {4, 16}

Add 2 to both notes in {2, 16} and you get {4, 18} which is in the original scale. So {2, 16} isn't a sufficient subset. Add 9 to both notes in {4, 7} and you get {13, 16}.

I agree that {4, 16} is sufficient and hence the minimally sufficient subset. Which is sort of back where you started.

Graham

p.s. Maybe this isn't the place for source code but here's some anyway. Unquote it and run it in a Python interpreter.

> def minimallySufficient(scale):
> octave = scale[-1] - scale[0]
> modes = [pcSet([n+i for n in scale], octave) for i in range(1, octave)]
> for size in range(1, len(scale)):
> sufficient = [chord for chord in combinations(size, scale[:-1])
> if not filter(pcSet(chord, octave).issubset, modes)]
> if sufficient: return sufficient
> > def pcSet(scale, octave):
> assert octave > 0
> return set([note%octave for note in scale])
> > def combinations(size, seq):
> assert 0 <= size <= len(seq)
> if size == 0: yield []
> else:
> for i in range(len(seq) - size + 1):
> for subset in combinations(size-1, seq[i+1:]):
> yield [seq[i]] + subset
>
> minimallySufficient((0, 2, 4, 7, 9, 11, 13, 16, 18, 20, 22))

🔗Torsten Anders <torsten.anders@...>

7/2/2008 3:19:05 PM

Dear Graham,

thanks for your reply.

On Jul 2, 2008, at 9:22 PM, Graham Breed wrote:
> Torsten:
> >>> So, here is the minimal cadential set for Standard Pentachordal
> >>> Major in C (i.e. the 22-ET pitch classes {0, 2, 4, 7, 9, 11, 13,
> >>> 16, 18, 20}) with the context of all other Standard Pentachordal
> >>> Major scales (but no other Pentachordal scales):
> >>>
> >>> {2, 16}
>
> Hans:
> >> I got to have a closer look at the code. However, I have the
> >> impression that it is not correct - not complete in any case, since
> >> to my knowledge, there are usually several minimal sufficient sets,
> >> not just one.
>
> Torsten:
> > Ah, I see. I now extended the program to compute all solutions, see
> > below. Comments welcome.
>
> <snip>
>
> > All minimal sets for decatonic major
> >
> > {2, 16}, {4, 7}, {4, 16}
>
> Add 2 to both notes in {2, 16} and you get {4, 18} which is
> in the original scale. So {2, 16} isn't a sufficient
> subset. Add 9 to both notes in {4, 7} and you get {13, 16}.
>
> I agree that {4, 16} is sufficient and hence the minimally
> sufficient subset. Which is sort of back where you started.
>

So, you are saying, if you can transpose a set and they are still in the scale than there must be a transposed scale which shares these pitch classes?

As I wrote before, I am using the following formula/algorithm for computing these sets. Do you see any problem in this definition?

On Jun 26, 2008, at 5:41 PM, Torsten Anders wrote:
> Here is how it works. I use the symbol < to denote subsets.
>
> SufficientSet < getPitchClasses(MyScale)
> forAll C : C \in ContextScales
> not ( SufficientSet < getPitchClasses(C) )
>
> Then I minimise SufficientSet.

Finally, I search for all SufficientSet with this minimal cardiality.

Thank you!

Best
Torsten

PS: I don't mind reading code, but I would prefer some math formula -- I am not so used to Python..

>
>
> Graham
>
> p.s. Maybe this isn't the place for source code but here's
> some anyway. Unquote it and run it in a Python interpreter.
>
> > def minimallySufficient(scale):
> > octave = scale[-1] - scale[0]
> > modes = [pcSet([n+i for n in scale], octave) for i in range(1, > octave)]
> > for size in range(1, len(scale)):
> > sufficient = [chord for chord in combinations(size, scale[:-1])
> > if not filter(pcSet(chord, octave).issubset, modes)]
> > if sufficient: return sufficient
> >
> > def pcSet(scale, octave):
> > assert octave > 0
> > return set([note%octave for note in scale])
> >
> > def combinations(size, seq):
> > assert 0 <= size <= len(seq)
> > if size == 0: yield []
> > else:
> > for i in range(len(seq) - size + 1):
> > for subset in combinations(size-1, seq[i+1:]):
> > yield [seq[i]] + subset
> >
> > minimallySufficient((0, 2, 4, 7, 9, 11, 13, 16, 18, 20, 22))
>

--
Torsten Anders
Interdisciplinary Centre for Computer Music Research
University of Plymouth
Office: +44-1752-586219
Private: +44-1752-558917
http://strasheela.sourceforge.net
http://www.torsten-anders.de

🔗Graham Breed <gbreed@...>

7/2/2008 8:51:40 PM

Torsten Anders wrote:

>>> All minimal sets for decatonic major
>>>
>>> {2, 16}, {4, 7}, {4, 16}
>> Add 2 to both notes in {2, 16} and you get {4, 18} which is
>> in the original scale. So {2, 16} isn't a sufficient
>> subset. Add 9 to both notes in {4, 7} and you get {13, 16}.
>>
>> I agree that {4, 16} is sufficient and hence the minimally
>> sufficient subset. Which is sort of back where you started.
> > So, you are saying, if you can transpose a set and they are still in > the scale than there must be a transposed scale which shares these > pitch classes?

Yes. And I thought that was your original rule. It's simple to prove anyway: if a + b == c (mod N) then a == c - b (mod N) and a == c + N-b (mod N) if you don't like negative numbers.

I still don't have a set of context scales that give your minimal sets. Transpositions of standard pentachordal major with a major tonic tetrad don't do it.

> As I wrote before, I am using the following formula/algorithm for > computing these sets. Do you see any problem in this definition?
> > On Jun 26, 2008, at 5:41 PM, Torsten Anders wrote:
>> Here is how it works. I use the symbol < to denote subsets.
>>
>> SufficientSet < getPitchClasses(MyScale)
>> forAll C : C \in ContextScales
>> not ( SufficientSet < getPitchClasses(C) )

That looks fine. I don't know what language it is so I've re-written my Python to match it:

all(not pcSet(chord, octave) <= C for C in modes)

The chords are generated as sub-lists of the scale, hence I have to convert them to sets here.

Note that it's <= because Python uses < for a strict subset. The difference is important when the scale repeats within the octave, so that it's identical to one of the ContextScales. I don't know what Rothenberg did for that but I return no set of sufficient subsets. If the condition is for a strict subset then the original scale ends up getting returned (because it isn't a strict subset of itself).

>> Then I minimise SufficientSet.
> > Finally, I search for all SufficientSet with this minimal cardiality.

So first you prove that a set of given cardinality exists and then you look for it? That sounds back to front but with a declarative language I'm sure it comes out in the wash.

> PS: I don't mind reading code, but I would prefer some math formula > -- I am not so used to Python..

How am I supposed to format the math, how can it represent an algorithm, and how can you run it to check the results?

Graham

🔗Torsten Anders <torsten.anders@...>

7/3/2008 12:45:27 AM

Dear Graham,

On Jul 3, 2008, at 4:51 AM, Graham Breed wrote:
> Torsten Anders wrote:
>
> >>> All minimal sets for decatonic major
> >>>
> >>> {2, 16}, {4, 7}, {4, 16}
> >> Add 2 to both notes in {2, 16} and you get {4, 18} which is
> >> in the original scale. So {2, 16} isn't a sufficient
> >> subset. Add 9 to both notes in {4, 7} and you get {13, 16}.
> >>
> >> I agree that {4, 16} is sufficient and hence the minimally
> >> sufficient subset. Which is sort of back where you started.
> >
> > So, you are saying, if you can transpose a set and they are still in
> > the scale than there must be a transposed scale which shares these
> > pitch classes?
>
> Yes. And I thought that was your original rule. It's
> simple to prove anyway: if a + b == c (mod N) then a == c -
> b (mod N) and a == c + N-b (mod N) if you don't like
> negative numbers.
>
> I still don't have a set of context scales that give your
> minimal sets. Transpositions of standard pentachordal major
> with a major tonic tetrad don't do it.
>
Thanks for pointing that out. I re-checked my program, turns out I only checked for 12 instead of all 22 transpositions of the decatonic major scale (I simply edited a 12 ET example into 22 ET for Hans and forgot this detail..). So, with the correct set of all scales to check for the only sufficient set is

{4, 16} or {D, A\}

> > As I wrote before, I am using the following formula/algorithm for
> > computing these sets. Do you see any problem in this definition?
> >
> > On Jun 26, 2008, at 5:41 PM, Torsten Anders wrote:
> >> Here is how it works. I use the symbol < to denote subsets.
> >>
> >> SufficientSet < getPitchClasses(MyScale)
> >> forAll C : C \in ContextScales
> >> not ( SufficientSet < getPitchClasses(C) )
>
> That looks fine. I don't know what language it is
>
I tried writing some math formula as ASCII..
> so I've
> re-written my Python to match it:
>
> all(not pcSet(chord, octave) <= C for C in modes)
>
> The chords are generated as sub-lists of the scale, hence I
> have to convert them to sets here.
>
> Note that it's <= because Python uses < for a strict subset.
> The difference is important when the scale repeats within
> the octave, so that it's identical to one of the
> ContextScales. I don't know what Rothenberg did for that
> but I return no set of sufficient subsets. If the condition
> is for a strict subset then the original scale ends up
> getting returned (because it isn't a strict subset of itself).
>
> >> Then I minimise SufficientSet.
> >
> > Finally, I search for all SufficientSet with this minimal > cardiality.
>
> So first you prove that a set of given cardinality exists
> and then you look for it? That sounds back to front but
> with a declarative language I'm sure it comes out in the wash.
>

I defined a constraint problem for a sufficient set. Then I use best solution search (branch and bound) to find a solution with minimal cardiality. However, this approach finds only a single optimal solution. But I then know what the minimal possible cardiality is, so I apply this cardiality as a hard constraint and then search for all solutions. Its of course redoing some work, but it only takes a fraction of a second.

I agree, for such a relatively simple computation I could also have used plain filtering instead of constraint programming... Looks like Python provides convenient short hand syntax (namely list comprehensions) for expressing such filtering :)

> > PS: I don't mind reading code, but I would prefer some math formula
> > -- I am not so used to Python..
>
> How am I supposed to format the math, how can it represent
> an algorithm, and how can you run it to check the results?

You made it clear that I don't have an automatic way to check the results :) If the problem definition is faulty, then so are the results -- so, thanks for eye-balling them!

Best
Torsten

--
Torsten Anders
Interdisciplinary Centre for Computer Music Research
University of Plymouth
Office: +44-1752-586219
Private: +44-1752-558917
http://strasheela.sourceforge.net
http://www.torsten-anders.de

🔗Graham Breed <gbreed@...>

7/3/2008 8:05:11 AM

Torsten Anders wrote:

> Thanks for pointing that out. I re-checked my program, turns out I > only checked for 12 instead of all 22 transpositions of the decatonic > major scale (I simply edited a 12 ET example into 22 ET for Hans and > forgot this detail..). So, with the correct set of all scales to > check for the only sufficient set is
> > {4, 16} or {D, A\}

There you go!

> I defined a constraint problem for a sufficient set. Then I use best > solution search (branch and bound) to find a solution with minimal > cardiality. However, this approach finds only a single optimal > solution. But I then know what the minimal possible cardiality is, so > I apply this cardiality as a hard constraint and then search for all > solutions. Its of course redoing some work, but it only takes a > fraction of a second.
> > I agree, for such a relatively simple computation I could also have > used plain filtering instead of constraint programming... Looks like > Python provides convenient short hand syntax (namely list > comprehensions) for expressing such filtering :)

It checks different cardinalities with a plain old for loop. And the same should work for other languages -- start with single notes, if there aren't any sufficient sets try dyads, and so on.

>>> PS: I don't mind reading code, but I would prefer some math formula
>>> -- I am not so used to Python..
>> How am I supposed to format the math, how can it represent
>> an algorithm, and how can you run it to check the results?
> > You made it clear that I don't have an automatic way to check the > results :) If the problem definition is faulty, then so are the > results -- so, thanks for eye-balling them!

It can be a good idea to compare different implementations, and hope that whoever wrote them didn't repeat the mistakes. My code, anyway, is here now:

http://x31eq.com/subsets.py

It's a bit longer because it allows more general specification of the context. Requires Python 2.5 because of that "all" function but you know you like it.

I don't know if there are any problems lurking for cadential sets, which was the original problem, whatever the differences might be.

Graham

🔗hstraub64 <straub@...>

7/4/2008 8:00:54 AM

--- In tuning@yahoogroups.com, Graham Breed <gbreed@...> wrote:
>
> Torsten Anders wrote:
>
> > All minimal sets for diatonic major (I don't understand why the
> > solution is not simply {5, 11} -- is that a bug or am I missing
> > something?)
> >
> > {0, 5, 11}, {2, 5, 11}, {4, 5, 11}, {5, 7, 11}, {5, 9, 11}
>
> I don't think this was answered. It's because of tritone
> substitutions. These are subsets of a 12 note chromatic,
> right? 5 and 11 are F and B if we call it C major. There's
> no other major scale with F and B but E# and B are both in
> F# major. Your pitch classes don't distinguish E# from F.
>
> If you take the diatonic major in 19-equal, I think you'll
> find the minimal set is, what, {8, 17}.
>

I just checked the 19-equal case and came to the same result.

This is an interesting difference between 12-equsl and 19-equal. {F,
B} in 12-edo is not sufficient because it is invariant under tritone
transposition - which does not hold for {F, B} in 19-edo.
--
Hans Straub