(serialized from this tigsource thread)
I couldn’t find any nice stuff on-line, but I’ve been meaning to properly go through this stuff myself for a while, so I’m happy to have the excuse to learn something about it (Disclaimer: all of what I’m saying is a filtered version of what Lerdahl says in his book, both through my misunderstandings, and my understandings of what might be useful to Muku in his PG music program (This is primarily a response to a request made by him for info on this stuff, but of course I’d love if other people were to chip in and comment)).
So if we have two chords, A and B, say, in progression, Lerdahl puts them into a special type of tree according to which seems to be the stronger of the two, (“a right branch signifies subordination to a previous event, a left branch to a succeeding event”).
Given a sequence of chords we can iterate this procedure (which I’ll outline in more detail later), using the prominent chords we had initially as the basis for a second level of calculations. One can end up, from a progression of chords A,B,C,D,E (not notes, just letters that could be any chords!) with a tree such as the following
“The most stable event in a segment is its ‘head’, and other events in the unit are elaborations of this head. Each head goes on to the next larger segment for comparison against another head, up to the level of the whole piece”
This is called a time-span reduction of the original chord sequence. You can ‘read’ it roughly in terms of tension: because A dominates B and B dominates C, we have a slight relaxation for the first three chords before D introduces us to the final chord, E. Looking it at a higher level of the tree, we could say that the whole piece is structured around the two chords A and E, around which the others are elaborations.
Each level of the tree looks at the progression on a particular time-span (in this case, B and C together would last as long as A). This photo of an example from the book might make it clear to those who can read score:
Actually, here’s the whole page: the original piece is at the top level, and the Three bottom lines represent ‘outlines’ of the piece at various levels of the tree:
Obvious questions the first: how do you compute which of two given chords in a pair is stronger than the other?
Brief answer (I can give a formula later): you look at the two chords, try and associate an appropriate scale to them, and see which of the two is more closely related to the tonic chord of that scale. (This is according to his model anyway: it doesn’t seem like a bad idea).
Obvious question the second: how might this be useful for generating music? Well, the tasty stuff happens not with time-span trees but rather with prolongation trees…which are like time-span trees, but they store more harmonic information…which come next…he gives a (simple!) grammar as to what tree-structures are more ‘musically reasonable’ than others. Using these rules, you could generate a tree pretty easily, and then populate it with various chords that are subordinated to eachother in the appropriate manners, which should, ideally, give you some sort of nice large-scale harmonic structure.
So…anyone any comments or queries? This isn’t a tutorial, so I didn’t aim for too much rigor, just enough to get a discussion going ;)
(I should be able to say enough about prolongational structures in one post that it’ll be possible to try set up a prototype. If it’s wanted).