Algorithmic composition

thanks @jasonw22 for sharing the New Music Box thread…

here’s the first article in the series:

this is definitely an area that i feel holds a lot of potential, especially when combined with realtime notation (which i will get into in later articles in the series). i define algorithmic composition rather broadly as any method of composing that consciously employs formal systems or rules. the use of computers is not strictly necessary, although they are of course well-suited to the number-crunching.

i’ve applied algorithmic techniques to rhythm, harmony, musical form, dynamics, orchestration, and more. it’s really only limited by one’s ability to describe musical processes numerically. the third article will give some concrete examples of work i’ve done with realtime harmony, voice leading, and counterpoint in my own music…


thanks for merging my redundant thread into this, I’m excited to check out some of these resources!

the second article in my series on algorithms & acoustic music is out today via the new music box site:

in this article, i delve into realtime networked notation and the possibility of creating a live algorithmic score. there is some historical background, some technical info on implementation in Max/MSP, and a couple examples of basic algorithmic techniques like canonic delays & transpositions, probabilistic rhythm, &c.


here’s an example of some algorithmic approaches to harmony & counterpoint i’ve been working on, rendered on a yamaha disklavier.

there’s a basic explanation about the algorithmic process in the youtube video, but for those who are interested in the max stuff, i will be going into it in detail in my next newmusicbox article, out on monday.

i am still very much in the process of refining my approach, but am fascinated by how powerful the application of basic counterpoint rules is when constructing generative harmony programs. it lets you get away with all kinds of non-functional harmonic moves while still retaining a strong narrative logic.


my third article on algorithms and acoustic music is out today:

this week’s post is perhaps my favorite in the series, exploring algorithmic approaches to harmony, counterpoint, and orchestration. i dive into some of my most current research/work such as creating and searching a harmonic database according to vertical and horizontal rules, the application of contrapuntal principles to generative music, and realtime approaches to orchestration.

the disklavier patch from above is broken down step-by-step.

anyone else tried addressing harmony algorithmically? how’d you deal with it?


kind of! made a huge breakthrough at one point with my jazz guitar playing using ‘the math’ - specifically working out all the permutations of ‘drop 2’ & ‘drop 3’ tetrad voicings for the main chord families. I definitely reinvented the wheel here, but practicing the mental machinery required to ‘see’ chord inversions on the fingerboard is probably as useful as the chord/melody muscle memory itself.

An aspect of musical harmony that I got interested in is ‘harmonics-based’ systems (as opposed to semitone-based). I’ve explored the math a little through the ‘tonality diamond’ construct. Again, I haven’t really been approaching algorithmic composition, coming from more of an improviser/player background. IMO it would be an interesting challenge to try and invent some ‘rules’ for chord progressions inside this system!

Could even try combining pure-harmonic harmony with e.g progressions of perfect fifths or something… Obv this would be fiendish to actually play on a violin or whatever.


This is super interesting to me, and I’d love to see it if you find some time to venture there.

1 Like

that’s great! have you checked out mick goodrick’s guitar voice leading almanac series? those books expand on what you’re talking about, deriving not only all the n! permutations of diatonic tetrachords (4!, or 24, in this case) but also all the possible ways of moving among them using diatonic cycles. in the later books he moves beyond triads into quartal, secundal, and triad over bass note configurations. the books are out of print – and are by no means limited to guitar use (i’m a piano player) – but i’d be happy to share pdfs if anyone is interested.

there is a fascinating 24-page thread on the books over at jazz guitar forum. i’ve experimented with voice leading using some of the non-octave-repeating scales mentioned in the thread, and it’s some beautiful stuff.

when you talk about harmonics-based systems, are you referring to just intonation-based harmony?

1 Like

Specifically I’ve been fooling around with the construct described in this wikipedia article (last time I link that thing, I promise):

Which one is ‘just intonation’ again? It’s one of the ‘non-logarithmic’ semitone scales, right?

Mick goodrick’s voice leading book sounds interesting I’d definitely like to take a peek. I took (at least) one really valuable lesson from ‘advancing guitarist’ - the bit where you try & play melodies on one string!

:raised_hand: raises hand!

Thanks for this article Joseph. It really touches on a lot of things I’ve been mulling about for quite a long time, and in a very practical manner. I’ve been playing around with algorithmic harmony in Supercollider for a while, but not with any kind of rigour or specific goals so I don’t really have much to share.

One thing I think is worth exploring is to assign weights to different kinds of motions and intervals. In the system described in your article it seems that some possibilities are all equally likely, and others are forbidden (eg: tritones). Instead you could allow the composer to tune the selection so that some intervals are simply more likely than other, and the algorithm chooses the next step via a weighted random choice.


As a total aside, that whole New Music Box website has a wealth of interesting articles and info! But why isn’t there an RSS feed, or am I just missing it?

1 Like

Sweet, thanks! No idea how you found that :slight_smile:

View source, Cmd-F for “feed” (or “rss” or “atom” if that doesn’t work). Or, I just paste the web URL into feedbin and it finds it for me.

1 Like

here is volume i of the goodrick books. (i would normally refrain from posting material like this in a public setting, but there’s absolutely nowhere you can purchase this anymore and i know of no current plans to re-print. if that changes, i’ll happily take it down and pay for a paper copy.)

yeah i like that idea about weighted choices for melodic intervals. it’d be easy to implement. that gets nicely at the distinction i was trying to make in the article about filters vs. sorts.

the other thing i’d like to look at is longer-range melodic rules. it’s still pretty crude as currently implemented, given that the algorithm can only compare the current chord and the next one. therefore, there’s no long-range melodic development possible. i’ve been looking at the fux counterpoint book to try to develop some strategies for this. i’d also like to move into territory beyond first species in the near future, maybe experiment with suspensions over the barline for more dissonance.

1 Like

Sounds really interesting. I hope you keep us updated on your progress.

I know way more about programming and algorithms than I do music theory as I never really formally studied music, I’ve just started studying it in earnest the last couple of years. Still feel I have a lot of catching up to do before I start getting results I’m satisfied with :slight_smile:


last article in my series is out today. it’s a roundtable conversation on computer algorithms in acoustic music with pianist dan tepfer, composer kenneth kirschner (12k), bassist/composer florent ghys, and jeff snyder of snyderphonics and the princeton laptop orchestra. we touch on topics including the role of algorithms in one’s compositional process, realtime notation and its performance challenges, and computer networking using max/msp, ableton link, and LANdini.

i find it interesting how these guys are approaching algorithmic composition in completely different ways, from the pre-compositional use of algorithms, to the realtime generation of graphic or traditionally notated scores, to digitally controlled acoustic instruments and musical data visualizations.

still a lot of wide open territory to explore here…


Wish I could find a download for this software.


We had ESSL as our Composer in Residence in 1999 at UF Electro-acoustic festival and he woke a TON of people up to using the computer for composition maths instead of just brute force speed stuff