<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>increpare games &#187; Lerdahl</title>
	<atom:link href="http://www.increpare.com/tag/lerdahl/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.increpare.com</link>
	<description>let's try something out here...</description>
	<lastBuildDate>Sun, 29 Jan 2012 14:06:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Lerdahl, part 2</title>
		<link>http://www.increpare.com/2008/11/lerdahl-part-2/</link>
		<comments>http://www.increpare.com/2008/11/lerdahl-part-2/#comments</comments>
		<pubDate>Fri, 21 Nov 2008 02:20:23 +0000</pubDate>
		<dc:creator>stephen lavelle</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Lerdahl]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[music theory]]></category>

		<guid isPermaLink="false">http://www.maths.tcd.ie/~icecube/?p=835</guid>
		<description><![CDATA[This is a sequel to this post on Lerdahl&#8217;s GTTM. Okay&#8230;apologies for the delay&#8230;I was busy, but also was uncretain whether I understood the material myself, that stopped me from saying more. Additional disclaimer: I&#8217;ve tried my best to pull out all the melody and counterpoint related content of the theory to leave things chordal. [...]]]></description>
			<content:encoded><![CDATA[<p>This is a sequel to <a href="http://www.increpare.com/2008/11/lerdahl-part-1/">this</a> post on Lerdahl&#8217;s GTTM.</p>
<p>Okay&#8230;apologies for the delay&#8230;I was busy, but also was uncretain whether I understood the material myself, that stopped me from saying more.  Additional disclaimer: I&#8217;ve tried my best to pull out all the melody and counterpoint related content of the theory to leave things chordal.  I&#8217;ve savaged the original theory in the process.  Apologies to all affected by my act of gross violence.</p>
<p><span style="font-size: 14ptpx;"><strong>Prolongation Trees</strong></span></p>
<p>Okay, so what is a prolongation tree?  They look like this:</p>
<p><img src="http://i272.photobucket.com/albums/jj200/increpatio/prolongation1-1.gif" alt="prolongation1-1.gif" /></p>
<p><span id="more-835"></span></p>
<p>So basically it <em>looks</em> like a time-span reduction with three different types of vertices.</p>
<p>The lines represent chords, and the coloured vertices<sup>1</sup> between them tell you roughly what the type of the progression is.</p>
<p><img src="http://i272.photobucket.com/albums/jj200/increpatio/strongprolongation.gif" alt="strongprolongation.gif" /></p>
<p>An aquamarine one means that there is no change between the chords represented by the two branches essentially repeats itself.  This is called a <strong>strong prolongation</strong>.  Given two chords that are the same repeated, the initial one is the dominant one, so aqua vertices almost always branch to the right (except sometimes in the case of up-beats and the like).</p>
<p>In the first diagram, we can see that chords 1 and 3 must be the same.</p>
<p><img src="http://i272.photobucket.com/albums/jj200/increpatio/strongprolongationgifweakprolongati.gif" alt="strongprolongationgifweakprolongati.gif" /></p>
<p>A blue vertex represents a chord progression where there&#8217;s only a little difference between the two, say a change in inversion, <em>possibly the addition of a note to the chord</em><sup>2</sup>.  This is called a <strong>weak prolongation</strong>.</p>
<p>In the diagram, we can see that chords 1 and 2 must be only slight modifications of eachother.</p>
<p><img src="http://i272.photobucket.com/albums/jj200/increpatio/progression.gif" alt="progression.gif" /></p>
<p>All other forms of chord progressions are just given boring old black vertex, and called <strong>progressions</strong>.</p>
<p>Interpreting these in terms of relaxion and tension-building, we have the following diagram</p>
<p><img src="http://i272.photobucket.com/albums/jj200/increpatio/lefttoright.gif" alt="lefttoright.gif" /></p>
<p><span style="font-size: 14ptpx;"><strong>Well-formedness and Suggested Shapes</strong></span></p>
<p>What sort of trees are allowed?</p>
<p>Firstly the trees must be planar, so shapes like the following are <span style="color: red;">not</span> allowed:</p>
<p><img src="http://i272.photobucket.com/albums/jj200/increpatio/notallowed.gif" alt="notallowed.gif" /></p>
<p><strong>Normative Prolongational Structures</strong></p>
<p>Lerdahl considers the following pattern to be more or less a good &#8216;top level&#8217; for trees, and calls it his prolongation basic form (with the suggested chords at the bottom):</p>
<p><img src="http://i272.photobucket.com/albums/jj200/increpatio/basicform.gif" alt="basicform.gif" /></p>
<p>Note that this <em>doesn&#8217;t</em> mean that there&#8217;s a I-V-I progression in the piece necessarily, it means that at the highest level or oranisation, The piece is oriented around the sequence of chords I-V-I.</p>
<p>Lots of pieces he analyses have strong prolongations at the top vertex instead of weak ones: you can take your pick I guess.</p>
<p>Two slightly more elaborate forms he gives that might serve as useful skletons are:</p>
<p><img src="http://i272.photobucket.com/albums/jj200/increpatio/normativeblah.gif" alt="normativeblah.gif" /></p>
<p>Either of these can be called the <em>normative prolongational structure</em>. The first has a minimal tensing-relaxing pattern, the second has a repetition of the opening)</p>
<p>Before I describe his two other guidelines<sup>4</sup>, I should say that the context in which I&#8217;m presenting them is the one where you are generating a prolongation tree from the top down, and trying to decide what additional branches to add.</p>
<p>For instance, say I&#8217;ve decided already on the prolongation tree below in back, and am trying to decide where I should attach a new branch, c.</p>
<p><img src="http://i272.photobucket.com/albums/jj200/increpatio/allowable-1.gif" alt="allowable-1.gif" /></p>
<p>The green lines represent allowable attachments, the red lines ones that are simply not (because I&#8217;m trying to add branches in a hierarchical manner, I&#8217;ve already essentially decided that either b or d must dominate c).</p>
<p><strong>The Balance Constraint</strong></p>
<p>If you&#8217;re adding brances that are framed<sup>3</sup> by a weak prolongation, prefer to have the same number attached to each branch.</p>
<p><img src="http://i272.photobucket.com/albums/jj200/increpatio/balanceconstraint.gif" alt="balanceconstraint.gif" /></p>
<p><strong>The Recursion Constraint</strong></p>
<p>This is a rule advocating alternate left/right branching of progressions as opposed to repeated branchings in the same direction, though allowing for repeated branching in the same direction provided progressions alternate with prolongations.</p>
<p>In the following diagram, <span style="color: green;">green</span> branches are good, <span style="color: red;">red</span> are bad.</p>
<p><img src="http://i272.photobucket.com/albums/jj200/increpatio/recursion.gif" alt="recursion.gif" /></p>
<p>Here&#8217;s an illustration from the book</p>
<p><img src="http://i272.photobucket.com/albums/jj200/increpatio/bookimg.png" alt="bookimg.png" /></p>
<p><span style="font-size: 14ptpx;"><strong>Interaction Principle</strong></span></p>
<p>Say I am looking to add a branch at c to the following</p>
<p><img src="http://i272.photobucket.com/albums/jj200/increpatio/interaction1.gif" alt="interaction1.gif" /></p>
<p>and to attach it like this:</p>
<p><img src="http://i272.photobucket.com/albums/jj200/increpatio/interaction2gif.gif" alt="interaction2gif.gif" /></p>
<p>The <strong>recursion constraint</strong> says that if the chord I put at <strong>c</strong> is the same as the one at <strong>a</strong> then I must rearrange the tree and put in an explicit strong prolongation:</p>
<p><img src="http://i272.photobucket.com/albums/jj200/increpatio/interaction3.gif" alt="interaction3.gif" /></p>
<p>This is the only way that adding a new branch is allowed to interfere with the existing branches of the tree. Though it&#8217;s called the recursion constraint, it isn&#8217;t to be applied recursively.</p>
<p>I guess, if you were trying to add chords to given tree (which is the application I have in my mind here: a program generates a tree, then generates a chord sequences from that tree, then generates some music with that chord sequence), you want to <em>avoid</em> this happening.</p>
<p><span style="font-size: 14ptpx;"><strong>Notes</strong></span></p>
<p>It&#8217;s not necessary (or necessarily advisable) that one construct a single tree encompassing an entire piece, one could have a group of them, one for each phrase, or section.  If your pieces doesn&#8217;t have harmonic changes every beat, however, a single tree could suffice for, say, a 16-bar section.</p>
<p><sup>1</sup>The blue vertices <em>should be</em> notated with black circles, and the aquamarine ones with similarly-sized black dots, but I can&#8217;t easily draw them at the moment for some stupid reason.</p>
<p><sup>2</sup>In the original a weak prolongation is used when the chord stays the same but either the melody or the bass change a note.  It might be worth <em>testing</em> my suggestion though.</p>
<p><sup>3</sup>Note the word &#8216;framed&#8217;, the balance constraint doesn&#8217;t say anything about branches that aren&#8217;t directly enclosed by the prolongation.</p>
<p><sup>4</sup>These are not strict rules, but I think for a basic generative model it&#8217;s appropriate to enforce them strictly.</p>
<hr />
<p>Okay, I&#8217;m tired again.  Have to stop.  I&#8217;ve <em>hope</em> given enough, and in unambiguous enough a manner, that you should at be able to generate grammatically correct prolongation trees (there&#8217;s still going to be a lot of choice/randomness involved in the generation, it&#8217;s something that should be possible to refine easily enough if you find it lacking).  Filling them out shouldn&#8217;t be too hard in principle&#8230;I&#8217;ve sort of hinted at how to do it already&#8230;but this is enough for one post&#8230;</p>
<hr />
<p>Duplicated from <a href="http://forums.tigsource.com/index.php?topic=3200.msg96693#msg96693">here</a>.  The content diverges somewhat from Lerdahl.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.increpare.com/2008/11/lerdahl-part-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Lerdahl, part 1</title>
		<link>http://www.increpare.com/2008/11/lerdahl-part-1/</link>
		<comments>http://www.increpare.com/2008/11/lerdahl-part-1/#comments</comments>
		<pubDate>Tue, 04 Nov 2008 12:22:44 +0000</pubDate>
		<dc:creator>stephen lavelle</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Lerdahl]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[music theory]]></category>

		<guid isPermaLink="false">http://www.maths.tcd.ie/~icecube/?p=785</guid>
		<description><![CDATA[(serialized from this tigsource thread) I couldn&#8217;t find any nice stuff on-line, but I&#8217;ve been meaning to properly go through this stuff myself for a while, so I&#8217;m happy to have the excuse to learn something about it (Disclaimer: all of what I&#8217;m saying is a filtered version of what Lerdahl says in his book, [...]]]></description>
			<content:encoded><![CDATA[<p>(serialized from <a href="http://forums.tigsource.com/index.php?topic=3200.0">this</a> tigsource thread)</p>
<p>I couldn&#8217;t find any nice stuff on-line, but I&#8217;ve been meaning to properly go through this stuff myself for a while, so I&#8217;m happy to have the excuse to learn something about it (Disclaimer: all of what I&#8217;m saying is a filtered version of what Lerdahl says in <a href="http://www.amazon.com/Tonal-Pitch-Space-Fred-Lerdahl/dp/0195058348">his book</a>, both through my misunderstandings, and my understandings of what might be useful to <a href="http://forums.tigsource.com/index.php?action=profile;u=1673">Muku</a> in <a href="http://forums.tigsource.com/index.php?topic=2236.0">his PG music program</a>  (This is primarily a response to a request made by him for info on this stuff, but <em>of course</em> I&#8217;d love if other people were to chip in and comment)).</p>
<p><span id="more-785"></span></p>
<p><span style="font-size: 14ptpx;"><strong>TIME-SPAN REDUCTION</strong></span></p>
<p>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, (&#8220;a right branch signifies subordination to a previous event, a left branch to a succeeding event&#8221;).</p>
<p><img src="http://i272.photobucket.com/albums/jj200/increpatio/diagram3.png" alt="diagram3.png" /></p>
<p>Given a sequence of chords we can iterate this procedure (which I&#8217;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</p>
<p><img src="http://i272.photobucket.com/albums/jj200/increpatio/diagram4.png" alt="diagram4.png" /></p>
<p>&#8220;The most stable event in a segment is its &#8216;head&#8217;, 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&#8221;</p>
<p>This is called a <em>time-span reduction</em> of the original chord sequence.  You can &#8216;read&#8217; it <em>roughly</em> 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.</p>
<p>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:</p>
<p><img src="http://i272.photobucket.com/albums/jj200/increpatio/scoreshot.jpg" alt="scoreshot.jpg" /></p>
<p>Actually, here&#8217;s the whole page: the original piece is at the top level, and the Three bottom lines represent &#8216;outlines&#8217; of the piece at various levels of the tree:</p>
<p><img src="http://i272.photobucket.com/albums/jj200/increpatio/scoreshot2001.jpg" alt="scoreshot2001.jpg" /></p>
<p><strong>Obvious questions the first</strong>: how do you <strong>compute</strong> which of two given chords in a pair is stronger than the other?</p>
<p>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&#8217;t seem like a bad idea).</p>
<p><strong>Obvious question the second</strong>: how might this be useful for <em>generating</em> music?  Well, the tasty stuff happens not with time-span trees but rather with <em>prolongation</em> trees&#8230;which are like time-span trees, but they store more harmonic information&#8230;which come next&#8230;he gives a (simple!) grammar as to what tree-structures are more &#8216;musically reasonable&#8217; 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 <em>should</em>, ideally, give you some sort of nice large-scale harmonic structure.</p>
<p>So&#8230;anyone any comments or queries?   This isn&#8217;t a tutorial, so I didn&#8217;t aim for too much rigor, just enough to get a discussion going ;)</p>
<p>(I should be able to say enough about prolongational structures in one post that it&#8217;ll be possible to try set up a prototype.  If it&#8217;s wanted).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.increpare.com/2008/11/lerdahl-part-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GTTM-based Chord Progression Generator</title>
		<link>http://www.increpare.com/2008/11/lerdahl-based-chord-progression-generator/</link>
		<comments>http://www.increpare.com/2008/11/lerdahl-based-chord-progression-generator/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 22:23:05 +0000</pubDate>
		<dc:creator>stephen lavelle</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[compositions]]></category>
		<category><![CDATA[haskell]]></category>
		<category><![CDATA[hsProcMusic]]></category>
		<category><![CDATA[Lerdahl]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[music theory]]></category>

		<guid isPermaLink="false">http://www.maths.tcd.ie/~icecube/?p=801</guid>
		<description><![CDATA[I&#8217;ll be posting some articles about the theory of Lerdahl very very soon. In anticipation of them (and to put something up so I can submit it to the Haskell Activity Report), here&#8217;s my implementation of a toy-model based roughly around his theory. It&#8217;s restricted to the process of chord generation. Here&#8216;s a simple playing [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll be posting some articles about the theory of Lerdahl very very soon.  In anticipation of them (and to put something up so I can submit it to the Haskell Activity Report), here&#8217;s my implementation of a toy-model based roughly around his theory.  It&#8217;s restricted to the process of chord generation.</p>
<p><a href="http://ded.increpare.com/~locus/chords.mp3">Here</a>&#8216;s a simple playing by me of a chord-sequence that it produced.  <a href="http://ded.increpare.com/~locus/dlah77.mid">Here</a>&#8216;s a midi example that it produced by itself when I had it more developed.</p>
<p>There&#8217;s still a reasonable amount of work to be done on it, but it&#8217;s at a stage where it&#8217;s presentable.</p>
<p>Anyway, the current version of the haskell source code is <a href="http://ded.increpare.com/~locus/prolongation.zip">here</a>.  Hopefully I&#8217;ll have more developed versions up in the future.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.increpare.com/2008/11/lerdahl-based-chord-progression-generator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://ded.increpare.com/~locus/chords.mp3" length="2160937" type="audio/mpeg" />
<enclosure url="http://ded.increpare.com/~locus/dlah77.mid" length="1861" type="audio/midi" />
		</item>
	</channel>
</rss>

