Yet occasionally another programmer/musician type, who maybe got into the game the other way round, writes a post like this that expounds with mystery and wonder upon a topic that I know inside and out. And it gives me hope that the years that I spent in the musical woodshed learning those things inside and out were not wasted in the context of the startup world, but giving me a massive amount of (what I now know as) domain expertise.
So thank you HN, and happy new year. May this be your year, as I'm feeling pretty good that it will be mine and my family's.
Recently I started coding in a language i was sort of afraid of, haskell, and playing an instrument I was afraid of, fretless bass, at the same time. I had a "Dammit, go somewhere, do something" moment.
Which reminds me that i was going to google for how string, brass and woodwind players aren't locked into equal temperament, they can intonate as they like.
I would love to see more music-related posts. Math and music are so closely related, I really think it switches on a creative part of the brain that is used in math/programming too.
To give you an idea of how conservative people were regarding music, even in the beginning of the 20th Century, the Vienna Music Society rejected playing Schoenberg's Verklärte Nacht at first on the ground that it had inverted 9th chords . See  for an example, it's the first chord in the second bar.
 See "reception" in http://en.wikipedia.org/wiki/Verklärte_Nacht
Why is this on HN? Because there is a giant overlap between hackers and musicians.
For those of you interested, but confused, go to a music store and ask for a "fake book," a big collection of tunes in "head chart" format (just melody and the kind of chord symbols being discussed here. Study it like a new programming language. Bang out the chords on a piano, if you can. (Most fake books have a "glossary" of the chords in the front or back.)
Donald Knuth said that when a new CS grad student arrived at Stanford, they didn't ask, "are you a musician?," they just asked, "what instrument do you play?"
A good number of the best coders I work with right now are fantastic musicians, including Chad Fowler who is a phenomenal sax player, and another senior dev on my team who is a superb UNT-trained jass pianist. We talk about this all the time -- so many good coders are also musicians.
Great story about Knuth, I was never aware of that quote!
Also married to a UNT music graduate who I'm hoping to lure into programming :-)
Depends on the classical. There's classical stuff that's harmonically miles beyond jazz music.
Contemporary classical, that is.
In any case, your point is well taken. It would be interesting to trace the parallel development of harmony in "serious" music and jazz. (Which, of course, someone has done.)
What's "serious"? What's a "composer"? What's "art"? What's "sound"? And just like any jargon, it depends on the audience with which you're communicating. The more you try to standardize a definition, the more star systems will slip through your fingers.
A famous example is Shakespeare, who was vulgar until the German Romantics discovered him as classic.
There's a sort of rule of thumb in jazz that the only interval that sounds genuinely BAD is the flat 9. Try it on your piano right now (say, C and C# an octave up). Notice that a similar interval, the major 7 (C and B) sounds pretty, even though the notes are kinda clashing because they're so close. But on the other hand the flat 9 sounds GREAT if you voice it right. To see this, hit a low C, then E, B-flat, and D-flat. Similarly this chord works with all the other color tones: 9s, 11s, 13s.
I think ultimately what makes jazz piano truly musical is when the musician has spent a lot of time trying out different voicings, spreading them out or crunching them in, and listened to each one to see which sounds the best.
That's actually not correct. sus, as in "suspended", implies that the third is absent from the chord. Cadd2 or Cadd4 would be more correct. A major chord with an added forth is kind of a weird sound, however -- too unstable, the fourth wants to resolve. add2 chords are fairly common, though!
I struggle with this every time I write songs. How exactly do you know which direction you should go, and how to transition from verse to chorus (i.e. how to pick good transition chords/notes). Currently, I do this by ear, whatever sounds good, but I know there is a better way.
What you can do, however, is push yourself to try out new harmonic structures. You can make your chords more complex, you can delay resolution much longer, you can shift keys.
There are also other musical idioms like polytonality, alternate scales, etc. that you can use to expand you horizons.
But ultimately, you still should pick something that sounds right to you.
BUT it's still good to work on a better grasp of the theory -- if you try chord progressions at random until you hit something that sounds good... yes, there's a better way.
The whole point of documenting lots of rules around "what sounds good" is that you can refer to the rules and save a hell of a lot of time in your experimentation.
This is definitely what I meant, and it's what I currently do. My grasp on music theory is shaky at best, and I'm not exactly sure where to start to fill in the gaps in my knowledge (this may be true of any self-taught skill).
Dunno if you'll even see this comment.. but my short-version recommendation is to learn different types of chords, (major, minor, 7th, etc., inversions, different spacings) and chord functions, then figure out what the progressions that "sound good" are doing in those terms. That's a big step up right there, I think.
It may be counter-productive to over-analyse these things too, at least beyond a point.
I ran myself into a bit of a dead end with jazz piano trying to be ever more inventive when it comes to harmony. I probably thought about it too much. The result was that I ended up pursuing it to its conclusion as far as my abilities went and then feeling like I had nothing left to do but flog a dead horse with the same improvisational tricks. Then I got tired and rusty.
(Any tips from musician hacker types here on how to get past this kind of 'improvisor's block' ?)
I guess my advice with hindsight would be: trying to get better by being cleverer with harmony hits a dead end. Instead try to get to a point where you can feel harmony in a textural way. Theory can help with that, but a little of it goes a long way, try to get as much as you can just from playing and listening. Watch out though as it's easy to get stuck in a feedback loop doing that which converges on a local optimum that bores you. Seek input into the loop which is outside your improvisatory comfort zone. And not necessarily in the sense of technically harder -- just different.
The best stuff I've been able to play has been when I'm in a state of mind when I'm able to play texturally without thinking very much about what I'm playing, but it's quite rare these days.
I've been a pro musician before being a programmer and here's my advice: look someone else's playing, that's it. Of course you can do it the hard way and painfully learn to play chorus from recordings, but it's really tough. However, you can learn a lot simply by observing someone playing on your instrument.
The latest trick I learnt this way is incredibly simple, really the kind of slap-my-forefront discovery: to play be bop tunes (Ornithology, Billie's bounce, Night in Tunisia) on solo piano, a good way to play both the bass and chords is to ditch the classic be-bop triads described in this article (7th-3rd-11th, 3rd-7th-9th and the likes) and simply play 1st-7th-10th (yes, a good ol' 7th chord) with the left hand, which provides both enough bass and enough harmony, while keeping the right hand free :)
A trick I always use it to transpose into a common key and watch the overlap develop. It may surprise you to find most tunes are the same I IV V or II V I progression in various keys...
Of course, blindly creating something from such patterns is a not very fulfilling, but adding your own variations and color can be. Or, deviating from convention for effect becomes viable when you deeply understand those conventions.
People usually measure things with natural numbers when the things to be measured share some of the properties of natural numbers, like equidistance.
Personally I find the article quite incomprehensible, and I thought I knew a littlebit about music theory :) Just a tiny bit, however, and I don't even play an instrument--I always found it very hard to even just make a passable tune on a tracker/software synthesizer. Even though I love music and spent a lot of times creating mixes and mash-ups in software such as Ableton Live and Traktor (which were pretty good according to those who heard them both on and off the dance floor), as well as coding software synthesizers, instruments and sound effects (which were also pretty good according to my rankings in 4k demo-competitions over 10 years ago).
I wonder, can anybody perhaps provide a couple of links to some good introductory articles that would tell me about how to interpret the things discussed in this article? (I'm willing to spend more than just 10 minutes on them, btw ;-) )
A chord with a 9th and a 7th is a _major_ 9th. For example, the chord C-E-G-B-D is Cmaj9 (sometimes written C triangle 9).
1. adding 7 arithmetically to obtain the same note an octave higher;
2. adding in a 7th note to whatever chord you are playing.
But the way the chords are named isn't what you'd guess from those two meanings. If it were, you'd add a 6th to C major to get C6 (that part is true) and then a 7th to C6 to get C13 (that part is not true). Instead, there's yet a third way the notes are "added", namely cumulatively in the following sequence (I've cribbed most of this from the OP):
I suppose some arbitrariness is inevitable, because there are only so many letters and numbers to go around, and more chords with a plausible claim to the "best" names -- which, if you know regular expressions, would be something like [A-G][1-9]+ -- than there are names available. One beautiful thing about music is that it isn't math (we have math for that). It seems to overlap with math and then mixes everything up in mind-blowing ways, at which point all you can do is feel. Well, memorize and feel.
Does anyone know historically how C13 got to mean "C+E+G+B♭+D+F+A" rather than "C+E+G+B♭+A", which if you consider things only symbolically, seems more likely? Obviously, it must be because that's what people were playing - but who? Presumably jazz musicians? When was this name settled upon?
In Jazz theory, the 7th scale degree is part of the chord. C7 isn't C (C+E+G) plus a B♭; C7 is its own flavor of C chord, C + E + G + B♭.
More generally, the ^3 and the ^7 are the two most important notes in the chord. The ^3 tells you its quality (minor, major) and the ^7 tells you its, uh, seventhness (dominant, diminished, maj7). It's common for players to leave off the 1 and the 5; they're low-information notes, and those fingers are better put to use playing the tensions, which are "chord extensions", the 9th, 11th and 13th. Critically, all three tensions are considered part of the chord, unlike Csus4, which means substitute a 4 for the 3, and don't play the 3.
C9, C11 and C13 can exist, but you won't often find C13 in particular like that. There's a whole set of memorizable rules to tell you which chord scales go with which chords performing which functions; if that C is a I chord in the measure, you're not likely to see a C11. You may see a C7(11), or C7(add11), which is IIRC the C chord plus an 11th note - but not the 9th. Then there's C7(#11), which you'll often find when C is the IV chord, 'cause the IV chord gets a Lydian scale.. but now I forget how that explains anything.
C+E+G+B♭+D+F+A can also be looked at as D-/C7, and often is. That whole "Upper Triad" polychord stuff is a whole semester to itself.
I'd say it's usually the other way around: if you want to improvise in a Lydian mode, use a 7th(#11) chord on your IV, while improvising; if you're composing, use this chord to hint the interpret to use this scale. And so on.
Changing the question to C11 to simplify: a possible answer (take it with a grain of salt) is that C11 got to mean "C+E+G+B♭+D+F" because in classical harmony you can't just stick a 11th there without the 7th and 9th. The 11th interval (C to upper F) is dissonant; not as much as the 4th, but still dissonant. However, it is consonant with the 7th and 9th. That is, B♭ to F is a 5th, and D to F is a 3rd, or simply: B♭-D-F is a triad.
The question now is, why do books say C11 means "C+E+G+B♭+D+F" but in practice it's often voiced as "C+E+G+B♭+F"? I think the simple answer is that in some traditions (like jazz) people are OK with that dissonance; and in some harmonical contexts (when the function of the chord is such and such; say jaylevvit's comment), we can omit such and such notes because the chord still "works". If you doubt, play several voicings. The "proof" is in the sound.
(but honestly I'm not fully convinced by that answer. In particular I dislike the notational mess).
In what's typically called a 13th chord, the 11th is almost always omitted because it either clashes, or it changes the chord into something completely different. Stacking 3rds doesn't actually explain how jazz chords work. And it tends to produce corny voicings.
To make an analogy with computers, it feels like the classical notation is an abstraction layer which has been extended beyond its usefulness.
It's relatively easy to read music theory notation, so that the Gibberish and Goobeltygookus make sense, similar to learning mathematical notation. (I personally believe this is easier than learning the alphabet, but that's a different story)
However, understanding what the abstractions mean is difficult. The difference between memorizing formulas and intuiting patterns. Maybe this is no harder than understanding the abstractions behinds words.
Like most "hard" things, the largest reason for difficulty is one of obtaining persistent practice.
If it were common to sing piano music using theory words rather than a single "lalala", for example, or if our language made use of specific tonal changes (up a second v down a major third), or if everyone learned the theory at the age where we now learn the alphabet, the gibberish goobeltygook would seem "easy".
Someone on HN is going to hammer me. I just muddled through the ambiguity.
Then again, what I used to think was the real solution (an exensible grammar -- say, s-expressions -- which would remove the ambiguity) would result in really ugly-looking math.
[Don't get me started on denotational semantics. I tried, I really tried to understand the foundation of Standard ML through some DS-based books on the subject, but in the end I just got sick of yet another system of poorly defined heiroglyphics. Maybe I'm just allergic.]
One note from the excellent introduction focused how to learn math (q.v.): "In his book on mathematical pedagogy , Hans Freudenthal argues that the reliance on ambiguous, unstated notational conventions in such expressions as f(x) and df(x)/dx makes mathematics, and especially introductory calcu- lus, extremely confusing for beginning students; and he enjoins mathematics educators to use more formal modern notation."
In contrast, the essence of music theory is fairly easy (if you have a math background, you could learn it in a few hours!). But music notation a strange mix of time-tested, concise notations with cruft that remains due to backwards compatibility.
So we write "𝆮" to mean pedal down, but "𝆯" to mean pedal up. We write C7, Cmaj7 and Cmin7 but the modifiers "maj" and "min" modify different parts of the chord. And so on.
And sometimes the notation is there, but people simply don't use it consistently. For instance, the usage of 6th and 13th interchangeably without proper justification (e.g. the post in question).
In fact, in the history of jazz piss poor black kids that never went to school managed to master music theory just fine. And an enormous amount of people all around the world.
The particular example you mention (chord naming) has something like 1/100 the difficulty of something like regular expressions.
And it's several orders of magnitude easier than actually learning to play your instrument. Which also millions of people manage to do.
I'm not sure who the article was for, people who already know its contents perhaps? Anyone else would have to have a solid background in theory to understand much of anything in it.
"I find not only the 13th chord a great substitute for a 7th now, especially when it's the dominant resolving to the tonic, but I also love the 7th+3rd+13th/6th way of voicing it too."
You can look at a diagram that will tell you what notes go together to make a particular 11th chord, say, but it tells you nothing about why that's a useful way to combine notes.
The blog post is aimed at people who know some of the "what", but who could use a clue as to some of the "why".
No, just anyone who already knows a bit of music theory. Not even a great deal of it. Something that can be learned in a week, tops.
Tons of articles on HN have titles like: Djikstra's algorithm, advanced types in Haskell, currying and memoization in Scala, A Graphical Notation for the Lambda Calculus, and similar content.
Is someone expected to understand those without knowing the underlying naming schemes, theory, basic domain knowledge etc?
Or do people seeing stuff like "^[ab](foo)^[k])/i complain that:
"that pretty much explains why people have a hard time "getting" computer science theory. Gibberish.Goobeltygook$"?
There a logic behind regular expressions, and there's a logic behind chord/interval notation. And the second is a lot easier, too, and it's used because it's succint and it works.
Urban legends about qwerty keyboards ( http://www.utdallas.edu/~liebowit/keys1.html ) and railroad gauges ( http://www.snopes.com/history/american/gauge.asp ) aside, bad solutions don't last 400 years.
"""Anyone else would have to have a solid background in theory to understand much of anything in it."""
The naming scheme used in the article takes like 10 minutes to grasp --and requires no great background in music theory. 7th, 13th etc are like numeric indexes.
As for dominant / tonic, those are are like music theory 101. Similar to knowing what "Objects" and "Interfaces" mean when discussing OO programming.
Usually such articles are praised on how well-written they are, even allowing for people not familiar with the background getting the gist, somewhat.
> Or do people seeing stuff like "^[ab](foo)^[k])/i complain that:
> "that pretty much explains why people have a hard time "getting" computer science theory. Gibberish.Goobeltygook$"?
> There a logic behind regular expressions, and there's a logic behind chord/interval notation. And the second is a lot easier, too, and it's used because it's succint and it works.
That's a very good example, because IMO it demonstrates my point. If anyone would have written an article like that about regular expressions, written in the same way, with:
Regexes peppered inline throughout each sentence, repeatedly mentioning how this is probably the most basic stuff ever--up to the point of actually apologizing for stooping down to the level of what must probably be "regex theory 101". Then someone would have remarked "that pretty much explains why people have a hard time 'getting' regular expressions. Gibberish. Goobeltygook", then nobody would have disagreed with them. Because everybody knows that a badly written article about regexes very quickly becomes to look like unreadable gibberish.
And in case you didn't catch that, this article actually apologizes for "probably being jazz theory 101". What? Have you ever seen a comp.sci/math article being apologetic about saying
"I know this is probably graph theory 101, but we define a graph as an ordered pair G = (V, E) comprising a set V of vertices or nodes together with a set E of edges or lines ..."
Of course not! It is considered good style to repeat the basics, and in fact IMO, I consider it bad style to be apologetic about it (because it's condescending to that part of your audience that made good use of the quick refresher).
Everybody knows that regexes can quickly look like unreadable gooblygook, even if you're familiar with them, and any article that wants to discuss something fundamental about regexes, is going to have to take some special care to not make it look as such. In some sense, same goes for set theory or mathematical formulae in general.
That still doesn't mean the hypothetical regex article would be so much clearer to the layman, but it would seem much more approachable, in some sense.
I thought I knew some very rudimentary things about music theory, but apparently not enough to make the leap to "get" and string together what this guy is talking about in pure jargon (and believe me I spent more than the "10 minutes" everybody says it would take). To me, that tells me the article is simply badly written. A similar exposition about monads in functional programming, is more like what I'd expect in a 1-on-1 comment thread (when it's perfectly ok to use as much jargon to succinctly get your point across) than a blog article intended for the general public (when regardless how obvious or simple, it always pays to step down and explain from basics, even if only to reinforce the audience that already knows them you're talking about the same things).
In fact, the only other computer science topic I've seen this sort of attitude, is the security/exploit/disclosure/hacking scene. That's where people routinely bash on eachother for repeating the basics and that "this is nothing new" because hacker X already did sploit Y in 2005 which was kinda similar (regardless that writing/warning about it again is a good thing).
I maintain, however, that people without sufficient background in music theory have a right to complain (on HN, not on your blog) it's quite incomprehensible. And that it could have been written to better accommodate for that. Not that you have any obligation to, as you said it's a personal blog post where you can write whatever you want, however you want :)
Though personally, if you would put in a few links to some simple introductory articles--maybe the other commenters were right and it just takes 10 mins of reading the right definitions of notation, maybe I just read the wrong things before or forgot the important parts--that would have definitely triggered me to explore some more of the subject matter, and you can't disagree that would have been a good thing ;-)
They are not difficult to understand, and they are even easy to derive from some basic rules.
But you do have to remember them, not derive them at will, to be able to think musically and play fluently.
I think that's my problem with Chemistry too, as opposed to Physics. There was always tons of stuff to remember when studying chemistry, while just remembering a few basic rules and deriving everything else was possible in Physics (I talk about High School grade material, of course).
If you want a comparison for music theory, try compiler theory (or just type theory).
Music theory is dead easy in comparison, no?
It is the conceptual framework & vocabulary you use to talk about music, not perform it.
If kids love performing and listening to music, they'll want to talk about it. And initially they'll be limited to things like "I love that thing it does near the middle when the bass is going baBONG baBONG baBONG then everything suddenly get really quiet and strange".
That's obviously ridiculously imprecise, right? And aren't you curious to know what "strange" means in this context? Suppose you want to write a piece of music that sounds "strange" like the piece you liked, but more so? So even piss-poor black kids end up with a thirst for a subject that looks pretty dry to the unmotivated.
Here's a delightful example:
We're talking about music theory in genres where it is important, i.e where the music is involved and advanced. Three minute fifties rock-n-roll tunes is not where this happens.
Little Richards is great, but not in the musically advanced way Charles Mingus, Miles Davies, etc are great. He's great for the raw fun/energy/danceability impact of his music.
So, not really a counter-example.
It's ironic that you would pick a couple of jazz musicians to illustrate this, since for most of its formative history jazz was derided as a vulgar form. Only in later stages was it championed by the priests of "advancedness". This is a sign of decadence. When the Davises and Minguses appear, that is the late-blooming of a genre, and by the time the scholars move in, the muses for the most part have moved on. (Which is not at all to say that Davis and Mingus aren't great artists.)
There's also a great deal of ground that music theory formalizes that long-time musicians will grasp intuitively (but be less able to discuss, of course).
Just some complementary points.
Please don't submit comments complaining that a submission is
inappropriate for the site. If you think something is spam or offtopic,
flag it by going to its page and clicking on the "flag" link. (Not all
users will see this; there is a karma threshold.) If you flag something,
please don't also comment that you did.
(And maybe my comment too, but mine is double-meta, so I would understand any down-voting to it).