There was a typo in the post that has been corrected. It now reads “If you write a song in C with an E minor in it, you should probably think very hard if you want to put a chord that is anything other than A minor or F major after the E minor. For the songs in the database, 93% of the time one of these two chords came next!”
co-founder of Hooktheory here. When this article was published (2012), it was based on the first 1300 songs in the library [https://www.hooktheory.com/theorytab]. At that time, the two most common chords after E minor for songs in the key of C major were F major (59% of the time) and A minor (34% of the time). The library now has about 12k songs and the percentages have changed. Still the same two chords, but now F major (IV) is only about 34% of the time, and A minor (vi) is about 24% of the time. Here is an updated plot of the most common chords after E minor for songs in the key of C major https://imgur.com/a/lBfVK0X?
I was responding more to what I saw as the rather blunt application of statistics to the songwriting process. Admittedly I'm new to your site, but I'm curious about the theory.
I'm not totally familiar with the data set, but it would be nice to plot more things from it. For instance, what were the chords that were popular during certain years? You mention that the chords have changed, what does that graph look like? Is there any correlation between, I dunno, the DJIA's derivative and the 'sounds' of popular music.
Great work though! I really like the clear and informative data displays.
Here are a couple pop songs from the last 10 years originally written in major that I think sound pretty neat in the minor mode. (Once on the song page, need to click the "Key" button to put into a new mode)
If you are more into the songwriting / application side of music theory, definitely check out "Hooktheory I" http://www.hooktheory.com/music-theory-for-songwriting, which is the music theory / songwriting book written by the creators of the API used in the OP.
This is definitely a goal for the future. Eventually we'd like to support everything that MathJax does (and maybe more!) Equation numbering involves more work than some of the other features (we've managed to get away with never calculating widths of elemnts, but we'd have to do that to get horizontal alignment working, we think), so we're pushing it back for now.
It is amazing to see how far HTML and JS have come. What are using for the audio engine when in "synthetic" sound mode? Do you render a custom performance on the fly from pitch samples, or play from a pre-computed mp3/wav?
I've used http://www.songsterr.com before, which is almost identical to this, except it uses Flash. One thing you might consider, to compete with them, is a larger library. I'm pretty sure they built their massive (practically complete) library from pre-existing GuitarPro tabs. From your docs, it looks like you can read GuitarPro tabs, so it might be worth doing a massive import. Not sure about the legality of this, but it is worth considering. I'm pretty sure songsterr basically went from non existing, to having almost every song ever created when they launched. The only way they could do this is using GuitarPro tabs. I wonder if they have a licensing deal with the copyright owners? Anyway, I'm definitely interested in how you do sound in Javascript. Cheers for a fantastic UI and a beautiful design.
It's surprising how seamless it works. This would be the sort of thing 18-24 months ago that we'd argue Flash would hold over traditional web. Not anymore.
EDIT: With a bit of JS and audio hacking you could actually replace the synthetic sounds with something from here: http://soundfonts.homemusician.net/ I'm sure they plan to add additional "soundfonts" as they call them later on. Can only assume that piano works best.
Yes, you're exactly right about how it works. We'll be adding other soundfonts soon. Piano worked the best for launch, but it'd definitely be better with instrument-appropriate sounds.
Thanks! All analyses on Hooktheory are in done in sections. Analyses load one section at a time. Since songs (well, most songs) repeat the same harmony in each verse / chorus / ... it made sense for use to use the section approach. One the Trends page the section that loads is the one that matched the chord progression you searched (if multiple sections of the same song match, we omit them from the song list). If other sections of a song have been analyzed, there are buttons just below the title so you can see them.