Music Theory for Programmers

(runjs.app)

107 points | by birdculture 3 days ago

18 comments

  • seanhunter 54 minutes ago
    This is (mostly) not music theory and what is music theory is mostly wrong or incomplete to the point of being wildly misleading. Source: have degree and postgrad in music, was a professional musician until RSI put paid to that career, wife is a professional musician and teaches to postgrad level at 2 conservertoires, most of our friends are professional musicians, have a house full of scores and music books.

    If you actually want to learn music theory for the purposes of playing I strongly recommend you just follow whatever tutorials for your instrument and style and if you get to the point where feel you want to learn more and take it seriously in and of itself, buy “The Jazz Theory Book” by Mark Levine[1]. In spite of what it says, there really isn’t any such thing as Jazz theory - it’s just music theory, and this book is a great presentation with lots of good examples. If you like jazz (or the western popular music tradition including rock, pop, funk, etc) you’ll come out understanding how that music works better than most people. If you’re doing a music degree, there will be books recommended by your music programme, but honestly, Levine will cover most of what you need if you’re not doing a straight classical course in which case you’ll want to augment with a more conventional source so you understand the “rules” they want you to follow when writing pastiche counterpoint etc.

    If you want to get big into composition and/or want to understand late romantic and 20th century music, get Harmonielehre and “Structural Functions of Harmony” by Schoenberg. Together they are by far the best harmony books I have ever seen and go super-deep into why the western classical tradition works the way it does. If you compose there’s a decent chance they will change your life forever as his approach is to not take anything for granted but exhibit everything with examples from masterworks of the western tradition. Amazing books both of them. Harmony is not a spectator sport though - to get full benefit you have to get the books and work through stuff on the piano. It will reward you immensely.

    If you want something else that will blow your mind, read “The technique of my musical language” by Messiaen. If you read Levine first this will have the additional benefit of showing you where the “diminished” and “augmented” scales and the whole “harmonic major” thing come from.

    [1] https://www.shermusic.com/products/the-jazz-theory-book

    • ripharamberip 13 minutes ago
      You say that the article isn't music theory but don't bother to say why.
    • vishalmullur 39 minutes ago
      When I see my friends who are into music play and talk about different instruments, it actually feels like magic to me. I tried to learn Violin some years ago but I could never understand why the note was correct. I do know that if I had learnt Keyboard instead, I would know where the correct notes are but I am still not able to recognize a sound and understand what note that is. Any pointer as to what I can do? Because I dont think learning music theory is going to be enough for me.
      • seanhunter 31 minutes ago
        At many western music schools, if piano isn’t your first instrument, it is compulsory to study piano as a second instrument. The reason for this is that it really helps when understanding harmony. You also do ear training, which is meant to solve the problem I think you’re describing. I expect you would find ear training resources on youtube or something now but I did it the old-fashioned way where you start by listening when people play major / minor chords, all the intervals, learn to recognize inversions etc and then move on to doing transcriptions of music you like. I have box files full of transcriptions I did when learning. But Levine (for example) includes some ear training advice.
        • vishalmullur 27 minutes ago
          Thanks! That's actually very helpful :)
      • kaoD 28 minutes ago
        > I am still not able to recognize a sound and understand what note that is

        That is called "perfect pitch" and it is not necessary to play music. It's very rare to have perfect pitch, and it seems to be innate, not something you learn.

        Contextual note recognition (relative pitch) is what musicians normally use to jam. It comes with practice and contextual clues that you pick up over tens of years (including familiarity with your jammate's instrument, even if it's not the one you play; familiarity with multiple eras of music theory; pure practice), so this shouldn't be your #1 priority since it just comes along for free (or a bit of practice), as you learn. Music playing 101 is just... playing music in your instrument. You don't need to recognize notes until you want to jam, which comes years after you start playing an instrument.

        Some people seem to just be physically unable to distinguish relative pitch though.

        You might want to start here: https://www.musictheory.net/ (not affiliated, I just think it's a very good resource for Music Theory 101).

    • HexDecOctBin 13 minutes ago
      As a non-musician non-Western programmer, the only music book that is making sense to me (still reading) is Robert Snyder's Music and Memory[1]. It's the first book that doesn't trick me by trying to pass cultural artefacts (notes, scales, raga, etc.) as some universal truth, or douse me in medieval pseudo-science (Pythagorean small ratios, etc.)

      I am not an expert, so maybe this book has its own shortcomings which I am being blind to. But this is the first book on music I have been able to read this far without having to fight the urge to fling it against a wall.

      [1] https://mitpress.mit.edu/9780262692373/music-and-memory/

      • pianopatrick 3 minutes ago
        If you like that book, you might also enjoy David Huron's books on voice leading and anticipation. I have not read the book you referenced, but from the description it seems like a similar approach.
  • maybewhenthesun 58 minutes ago
    > Which is a strange way to teach a system that essentially comes out of physics and arithmetic. There are twelve notes for a reason.

    There is of course a lot of physics involved. But there is at least as much convention at play. So imho this is a very one sided way of looking at it.

    There is a physical reason the 12 notes are those 12 notes (though the exact frequencies assigned are influenced by culture as well), but lots of different cultures use less notes, or more, or extra notes inbetween.

    So 'Because that is the convention.' is imho at least a good an explanation as the physics one.

    • seanhunter 36 minutes ago
      Also his physics explanation is not the best, and you can see if you just ask the next “why” question.

      He talks about the harmonic series giving the basic ratios of the Pythagorean scale but why is that the case? When you solve the equations of motion of any sort of harmonic oscillator (including crucially, strings, vibrating columns of air from a wind instrument etc) you see that you can solve them using a Fourier series, so if you solve this in trigonometric form you get a_1 * cos blah_1 + 1/2 * (a_2) * cos blah_2 + 1/3 * (a_3) * cos blah_3 + … + 1/n * (a_n) * cos blah_n [1]

      …so those fractions end up being the partials of the harmonic series (a_n/n) where a_n is the n_th coefficient, which you find using an integral. Now if you have a normal western musical instrument, the higher overtones (later terms of the Fourier series) are not prominent so those coefficients are small. So the terms that matter have ratios a_1, a_2/2, a_3/3, a_4/4, a_5/5 corresponding to the primary intervals that he’s talking about.

      In cultures (eg Balinese and Javanese music from Indonesia) where they use a different number of tones and different scale, it’s no coincidence that they play a lot of gongs and bells, which have much more prominent higher overtones, so a different set of Fourier coefficients so different ratios are going to be “congruent”/melodious-sounding.

      [1] the “blah” terms are a function of pi and the length and stiffness of the string etc. Not really relevant here.

  • polotics 1 hour ago
    Let us try an experiment shall we: listen to any music you like and try and match the information the article provided to the complexity of what you are hearing. How much do you see a path from A(rticle) to S(ound in your ear).

    This article is trivializing music down to a few not-so-important facts and mistaking some math for anything that would help `programmers` (?) understand music.

    Maybe start by rewatching "This is Spinal Tap" instead, and consider that https://www.reddit.com/r/musictheory/comments/59n3pg/remembe...

    • amingilani 54 minutes ago
      > How much do you see a path from A(rticle) to S(ound in your ear).

      Very clearly. The author constructed a melody from first principles in the article. You can take any song, deconstruct it using the information in there and begin to see why it sounds nice.

      > This article is trivializing music down to a few not-so-important facts

      This is a music theory lecture with code examples. Hardly “not-so-important”.

      > mistaking some math for anything that would help `programmers` (?) understand music.

      Compared to the lessons on https://www.musictheory.net this is definitely programmer/engineer friendly. It’s better than my old go-to at https://www.lightnote.co

      • polotics 14 minutes ago
        Sure.

        It is a trope amongst gigging musicians that over-intellectualizing the feels is a massive no-no.

        Hence the joke about Db being the saddest chord... also Phil Collins said that, he would know :-D... ...and C# being the most evil chord. Hilarious.

        I persist: "before you can be good, you first have to be bad" is more helpful music theory than that whole JavaScript visuals page.

    • huflungdung 52 minutes ago
      [dead]
  • WindyTree 49 minutes ago
    Pretty good, could use more on the tonic, how it’s defined for a diatonic set of 7 notes. The chosen I IV V primary chords are key for that, but a precious tidbit I learned is any of the notes can be set as tonic, but the I IV V chords are only for major and minor. Like for the notes in C major, it becomes A minor with I IV V chords starting off A, but to set the tonic to F, it becomes F Lydian mode with primary chords I, II, and VII. (Fmag, Gmaj, Emin) The rule for the primary chords of the modes is you find the note that differentiates it from the major or minor scale, and pick the chords that have it avoiding the diminished. Playing the notes of c major starting at f, it’s the sharp fourth b that is different, so the primary triads are f-a-c e-g-b and g-b-d.

    Oh, and rhythm is just the same as consonance. Most are octave based, beats on wave peaks of overlaid octaves getting quieter. The 3 based on times like 6/8 are the same but for 5ths and 17ths. (The bottom number 8 is just a BPM hint from old days.) beyond those the intervals get unstable feeling, like 7/4 in Money by Pink Floyd has that cut off feeling, someone took a few from each measure, but maps to a minor 7th interval.

  • ergonaught 2 hours ago
    I want to read it, because it’s interesting. And yet.

    https://bcantrill.dtrace.org/2026/09/05/the-revolt-of-the-re...

    • youoy 1 hour ago
      It looks good at the begining, but at some point it starts saying "half truths", or stating facts/conclusions with confidence as if that was the main reason, but its just half of it (and maybe not the most important half)...

      I wanted to read it because I like the topic, but i somehow felt it was folluting my brain. I think i will also start joining the club of AI;dr to protect myself from pollution, even though i may miss some iteresting articles.

    • yiren 1 hour ago
      I did read it, found it mildly informative/interesting, then saw your comment, read the link, and pasted in two paragraphs into Pangram 4... ouch! I guess I'm not LLM-weary enough?

      https://www.pangram.com/history/25773627-adfa-4efb-8c10-f4fd...

      • alew1 56 minutes ago
        When you read something like this

        > Change it to 300 and run it again. You get a different pitch and nothing breaks, because at this level there are no notes yet, just a number.

        does it make sense? Or perhaps it just seems like something easy enough to skim past without worrying about whether it makes sense?

        Before LMs, I would have assumed that a person intentionally wrote that sentence, and perhaps spent some time trying to understand what could possibly "break" if there were "notes" rather than "just a number." Now there is a simpler explanation: the sentence actually doesn't mean anything.

    • tessierashpool 2 hours ago
      yeah, this is robot garbage.

      the post says: I wanted to start from scratch and learn music from first principles, and I began that journey by writing code.

      but we know that's not true. you began that journey in Claude Code, or Codex, or ChatGPT, or whatever. you just want to demo your startup that embeds JavaScript in web pages.

  • _kb 1 hour ago
    If this is the sort of thing that interests you, I highly recommend setting aside 90 minutes and strapping yourself in for a listen to https://malwebb.com/notnoi.html.
  • theanonymousone 2 hours ago
    How come the same article has been posted four times in the past 18 days? https://news.ycombinator.com/from?site=runjs.app

    Doesn't HN have a temporal deduplication system?

  • euroderf 1 hour ago
    If tasked with this, I would start with an image of a piano keyboard and ask: Why the hell does it look so weird ? Black and white keys in some infernally strange layout ? WHY ?

    Which takes you very quickly to equal temperament and perfect fourths and perfect fifths. This tells us where the notes C and F and G are located on the chromatic scale, but then the rest are pretty arbitrary eh. Semitones from C to C go 2-2-1-2-2-2-1, but there is nothing heavenly ordained by this particular arrangement. E-to-F and B-to-C are a collective choice.

    If I had been presented with this kind of explanation fifty years ago, I might have been less skeptical of the entire enterprise.

  • lefra 2 hours ago
    I should not have to install a browser plug-in to opt out of Google analytics (that's what's proposed as an opt-out option in the privacy policy).

    Where's the "reject non-essential cookies" button?

  • hypfer 50 minutes ago
    This is clearly interesting and contributing value, but it's also painfully AI prose to the point where it is hard to not dismiss it as likely false information.

    Fun interactive examples though. With another human pass, this could be great.

    • vishalmullur 44 minutes ago
      The first couple of sentences got me hooked because I have had the same difficulty trying to learn music where I dont understand if I am producing the right sound or not. I thought it was fun so tried to push myself to read through but overcoming the dislike of the way AI structures the statements became impossible after a short while.
      • hypfer 42 minutes ago
        I eventually just started clicking on the examples and thinking "hey that sounds nice".

        And now I've realized that the page hosting that is for a JS snippet editor embedding thingy. Commercial stuff.

        So this is just a tech demo created with AI to showcase what can be done with their library, and not someone actually caring about the topic :<

  • raulparada 1 hour ago
    If you’re a programmer interested in music, do check out Strudel, at least the examples at https://strudel.cc/examples. If you like those (I love them, so much art in a few lines of code), the docs _will_ get you started. Enjoy!
  • kmoser 2 hours ago
    This article is quite well done, especially from a programmer's perspective, but falls flat (no pun intended) for me because of my terrible ear for pitch.

    > Here are five notes. Every one is double the frequency of the one before it. [...] They are different pitches, and yet they sound like the same note.

    Nothing about these notes seem similar to me. You could play pretty much any sequence of rising notes and (falsely) claim they're the "same note" and I'd believe it. This is one reason I've always had trouble learning music.

    > √2 the awkward one -> 311.13Hz

    That one doesn't sound particularly awkward to me. Again, I blame my inability to distinguish pitch.

    The only instrument I was able to pick up pretty easily was drums.

    • Vespasian 54 minutes ago
      I thought the same for a long long time.

      At least for me the solution was to grind ear training for a few weeks/ months 10 minutes a day.

      I'll certainly never reach the heights of this skill but a bit of persistence to overcome lack of natural talent did propell me forward.

  • yuumei 58 minutes ago
    > Two things fall straight out of that.

    Hi Claude

  • altmanaltman 2 hours ago
    I learned to play guitar by my own when I was around 12. You don't really even need to know music theory to play guitar, as long as you understand the shapes etc.

    Over time, I developed shorthands for understanding theory like i can easily look at a fretboard and know which note it is.

    But what bugged me is that you seem to imply the reason why you couldn't learn a instrument was because you did not understand the why. That makes very little sense to me. I know several professional musicians who don't even know what a mode is or what formal notation is. One of them has pitch perfect ear, he can literally hear anything and tranpose that on his guitar. He has no idea how notes work and just writes tabs.

    So while this is very nicely from a programmer point of view and an objective explanation of things but learning all this will not make you a better musician is the point.

    Practice above all. Dont try to fit all theory into the pratice but understand what you are practicing particulalry using the theory. Otherwise you end up with all theory and no practice experience of using that theory and creativity.

    As a perosn who likes code, this is interesting. As a musician who also understands music theory, this is kind of alienating in terms of how it presented. Like if someone just read this article and thought they understood music theory now, they would be pretty unsufferable to actual musicians.

    • jemmyw 2 hours ago
      It's funny though how different people respond to learning music theory differently. I started on guitar when I was 19. I played for a long time at campfire level. When my kids started learning music I also learnt a lot, and now I know scale shapes and modes on guitar, so I can reasonably play to a song I'm hearing for the first time, then figure it out by ear. But I just cannot make the leap to knowing the notes at each position. I can read music, very slowly, to play on piano, but fluency has never clicked for me even though I've put the time in.

      My 8 year old hardly ever practices but just looks at the music and knows the notes on piano and violin.

      In any case, I agree that this isn't that helpful to being able to play, it's just an interesting way to understand why things are as they are.

      • dyzone 2 hours ago
        Your kid might have absolute pitch. Only a few percent of people have it.

        https://www.youtube.com/watch?v=t3Cb1qwCUvI

        • sjrd 2 hours ago
          Perfect pitch is not correlated with the ability to see written notes and immediately know how to play them on any instrument. It is only barely correlated with the same but for singing the note.

          I do not have perfect pitch, but I could always do what GP's kid does. I am now a pretty good amateur singer.

          What matters for this is learning to read the music notation and developing a sense (mostly subconscious) of scales and harmony. Perfect pitch does not help either of those things.

      • altmanaltman 1 hour ago
        I think it gets significantly harder to learn new things as you age. It could make sense though like its significantly easier to learn a new language as a child than an adult, something simillar could apply to sheet music also i guess where they are naturally more intuined with its language vrs you who has to kinda use a dictionary for time to time because the "normal" way for you to speak has been so different for so long. But for your child, its another form of expression almost. Its really good to get kids into music while they are young imo
    • rTX5CMRXIfFG 1 hour ago
      Re: not knowing how to play because author doesn’t get the why

      Quite a lot of people learn by imitation without knowing the underlying theory. Some people need a theoretical framework so that they have a mental model with which to understand everything else.

      Fundamentally, you’re arguing against learning theory. Not everyone learns the same way. If you have a problem with that, then you have a problem with a basic fact of life.

      • altmanaltman 1 hour ago
        No I don't have a "problem with that". And yes, people learn by imitation, which is what I meant by practice. Playing the guitar is a fundamentally different activity than knowing music theory. Becoming good at one doesn't make you good at the other naturally (since you are practicing two different things) and I am worried some people think its the same thing.

        Furthermore, in real life, I have seen the same approach actually be detremental to learning guitar. Its a bit like football - there is a physical skill level to the sport which you can practice and then there is a theoritical part (tactics and formation) that help you understand the game and play better.

        But if you just want to start by kicking a ball and you know everything about Pep Guardiola's new counterattacking system. Yet when you are kicking the ball and practicing the basic skills, you are not thinking woah am i a midfield playing the right side and looking for a pass? That type of thinking is not useful when you are learning how to kick a ball.

        Ideally you should do the two together and work really hard on practice first if you actually want to be a footballer is my point. If you say oh no everyone is different, some people just like tactics, I don't think I say anything against it.

        Theory first is not a good way to learn an instrument is my qualified statement. Not that theory is not important or doesnt matter or everyone should follow the same way of learning.

  • JonathanRaines 3 days ago
    Fantastic post. You took a subject that never made sense to me and made it seem simple.
  • Fannon 2 hours ago
    Very nice, thanks for creating this!

    > The system we want, where the octave is pure and the fifths are pure and everything closes into a neat loop, does not exist and never has. Every tuning system in history is a different choice about where to dump the error.

  • aidio 1 hour ago
    [dead]