Some more suggestions

Hello! This is a copy of what I posted on your facebook page some time ago:

  1. Add the possibility to “like” or “up-vote - down-vote” tabs, it may sound silly but peer recognition can be a big motivation to have a lot of people contribute :wink:
  • There shouldn’t be any character limitation in the name field when adding a contribution as artists usually don’t have them when choosing their titles :slight_smile:

  • on the “most missing” chords types, I would love to have fully diminished 7th, 6th’s, and all the jazzy tensions (b9, 9, 11, #11, …). Augmented chords would be nice as well.

  • It should be possible to modulate inside a section. In fact a lot of songs pass from a key to the other in the middle of the song which gives you alot of borrowed chords that don’t make much sense like that but can be seen as nice ways to modulate from one key to the other

  • Add the possibility to extend a note/chord from a bar to the next one (vertically) (it can be useful sometimes :d)

Thank you for all the hard work !


I support all of those ideas. These are some remarks I’d like to make:

  1. This also could be used to make the Theorytab of the day a bit less… randomized (at least I think it is, I’ve seen some with a lacking quality (in my opinion) getting there so I don’t know). Random song with a 70%+ upvote ratio, maybe?

  2. YES, YES! There are some songs I didn’t analize correctly (or didn’t analize at all) due to the lack those (specially augmented chords and fully diminished chords), but as soon as these are implemented (if they are) I’ll correct them. Hooktheory is in great need of those ‘missing’ chords.

  3. Nice idea, also we could be able to do the same with tempo, idk.

I hope those get implemented eventually, mainly 1 and 3.

IMO complete ninth chords and above should not be added early since it could make the chord spellings very cluttered up and the Hookpad interface more complicated. They could be regarded as suspended chords in the meantime. There are ways to incorporate some of these chords while having them still analyzable:

  1. Enable 56sus2, 34sus2, 24sus2, and the third inversion of (add9); these will functionally become (add11), 6(add11), 46(add11), and 11(no3,no5).
  2. Implement the harmonic minor scale, which contains III+ aug, i7 mM7, III+7 augM7, viio7 dim7, III+6(add9) aug7, viiosus4 M♭5, V7sus2 7♭9, and possibly V(add9)d dimM7.
  3. Implement the melodic minor scale, which contains III+ aug, i7 mM7, III+7 augM7, III+6(add9) aug7, viiosus4 M♭5, viio7sus4 7♭5.

As for inputting notes/chords that extend through rows, Hookpad could also allow bars to split into rows instead, and allow the first division of each row to be shorter than one full bar.


Hey Luca and everyone,

Thanks for your suggestions! I’ll try to respond as best as I can.

Like/up vote/down votes: We’ve been talking about this internally for a while now, so it’s definitely on our radar. We recognize the value of not only the peer recognition, but also the quality control as @raphaelgoulart points out, which is very important to us and our community.

Constraints on tab names: We agree with this. When Hooktheory was just getting started this didn’t come up very often, but now that the database is expanding, it’s clear that not supporting certain characters is becoming an issue.

"Missing" chords: This is an important yet tricky issue. Hooktheory tries to strike a balance of maintaining the simplicity of the user interface while at the same time allowing users to compose/analyze with a robust and often complex set of harmonic tools, which sometimes requires tradeoffs. From the beginning, it was always important point for us that we build a framework that prioritizes chord function. We could have designed HookPad to allow users to put in arbitrary chords (e.g., entering chords by chord name and quality) the way that most other music software does. However, by encouraging our community to think about chord progressions functionally, we hope to to answer questions like, “Why do these chords sound good together?” rather than, “How do I play this song on my guitar?”. We also want to show people that music theory isn’t quite as scary as it seems :smile:.

When we were first designing the backend to Hooktheory, we supported “embellishments” that included ♭5, ♭9, #9, #11, etc. These were mainly designed to accommodate so-called alt. 7 chords, that come up from time to time. Here’s an early example from Sara Bareilles’s Bottle It Up:

We eventually took this away, because they cluttered up the interface and felt their function was too limited. That being said, I personally find a few omissions particularly inconvenient. Without augmented chords, classics like Blackbird, and Stairway to Heaven can’t be properly analyzed. And V11, (which is commonly shorthand for V11omit 3, omit 5) is surprisingly common in popular music, and so far we’ve had to use V7sus4 as a substitute.

We agree with many of the points that @HertzDevil has made. For the time being, we don’t plan on adding ninth chords, although this may change. We don’t plan on allowing users to explicitly specify the quality of a chord, as we feel this goes against the spirit of HookPad. And if we do introduce augmented chords and fully diminished 7ths, we’d like to do this within our framework. As @HertzDevil mentioned, one way to do this and still remain consistent is to introduce a harmonic minor mode. We’ve thought about this extensively in the past and if we do decide to implement this, we’ll have to consider all of the consequences (e.g., being consistent when modes switch).

As always, we welcome your feedback on this issue.

Modulations: So far, many key changes are represented by separate TheoryTabs. However, modulations are obviously an important musical device that are commonly used in popular music. We have certainly discussed this issue, so it’s on our radar, and we will definitely consider it for a future update.

Extending notes and chords across lines: We’ve also been talking about this internally, and will implement this as soon as we find an adequate solution :).

Again, thanks for your feedback!


Thank you for your reply!

For the missing chords:

  • I understand that you want to accentuate the music theory instead of the “how to play this piece” part, however I have to say that Hooktabs is actually one of the best tool for learning songs that is currently available, for several reasons:

1- It is free (unlike songsterr etc.)
2- Unlike common chords sites (i.e. ultimate-guitar, echords, …) it gives not only the chords but also the correct moment at which you have to change from one chord to the next one
3- For people with basic knowledge of how music works it gives exactly the only things that you need to play a tune: Melody, chords, and rhythm.

  • As for the concern that it may become too messy and unclear if you add embellishments and/or more exotic chords, one potential solution I thought of is to have an option to to switch between a “basic mode” activated by default in which only the usual chords are written and an “advanced mode” in which all the technical details are shown

  • Adding the minor scales can be a good way to implement diminished chords but there can be other approaches: If I recall my music theory lessons correctly, depending on the bass the diminished chords can be seen as a X7(b9) (dominant) chord (i.e. D°7 / Db = Db 7(b9) ) which then resolves a fifth below ( Gb in this case)

This also applies to the other kinds of missing chords (augmented etc), you don’t always have to consider a chord “borrowed” from another tonality, sometimes they make sense on their own in a particular context.

1 Like

For reference, in analysis viio7/ is more common than viiø7/. The applied leading-tone in Hookpad should also be treated as such (all 12 fully diminished seventh chords can be accessed by inversion as well).

The way Hookpad works means that including the harmonic minor scale is not just a matter of raising the seventh note of the natural minor, and the remaining 6 modes of harmonic scale may also need to be implemented at the same time;
The least cumbersome way is to add checkboxes next to the key/mode selection window and the borrowed chord pulldown menu, to switch between natural, harmonic, and perhaps melodic scale; or simply create a new list of radio buttons for choosing the chord’s scale, but disable them when the current chord does not change under these scales.
Sharpened/flattened notes can be carefully retained using enharmonic equivalence, while changing the Theorytab’s key.

1 Like

@HertzDevil, you’re right, viiø7/, is not very useful, is it.

I think your suggestion about having modes of the harmonic minor scale (rather than having a separate “harmonic minor mode”) is very interesting. It would make songs in the so-called “phrygian major” more natural.

Of course, I’m guessing that you’d still want to borrow chords from a harmonic minor mode when you’re in a regular mode.

1 Like

Another nice thing to add would be the hability to change bpm within the same tab, as something songs have slow-downs, speed-ups or were recorded without a metronome, which opens the possibility of having an unstable bpm, despite not sounding like such.

@raphaelgoulart, we’ve thought about this too. A lot of songs do not strictly adhere to a fixed tempo and this would be a nice addition.

1 Like

A quick search shows that viiø7/ is not even commonly used in the database as a secondary leading-tone; most of the Theorytabs that use it either approximate chords unavailable in Hookpad right now (e.g. Nocturne in Eb, by Frederic Chopin, uses F+M7sus4 or B♭°/F♮; Blackbird, by The Beatles, indeed uses D♯°7 to go to Em), access out-of-key chords when borrowing from other modes was not yet supported, or, as shown in that Trends search result, raise the bass for the Mixolydian ivø7.

It is true that these harmonic mode chords have to be accessible from any natural mode, and vice versa. The same principle works for any heptatonic scale that Hookpad may implement in the future.

1 Like

@HertzDevil, you’re right, before Hooktheory introduced modes, applied viiø7 was the only way to access the mixolydian ivø7, which is actually the most common half-diminished chord in the database (more common than viiø7 even).

The existence of viiø7/x, as you can imagine, is mostly a side effect of the way that the Hooktheory engine computes chord quality. For the same reason that V7/x is a dominant 7, and IV7/x is a major 7, viiø7/x is a half diminished 7. The flaw in this logic, of course, is that the applied leading tone is traditionally used to cadence to a minor i rather than a major I, and the leading tone 7th chord in the harmonic minor mode would be viio7. Ultimately the implementation of the harmonic minor mode into HookPad could solve this problem.

Hello all,

First of all: what wonderfull HK is!

I´m new to Hooktheory and have just recently searched for some specific chords: alt (b5, #5) b13, b9, #9, I found this thread and although it dates from june ’14 I still like to add my thoughts.
First of all I’m specifically interested in the functional analysis of Hooktheory, not for arranging. I’m an Jazz musician (amateur) and use functional analysis to really understand what I’m hearing and to get hints for what notes to play when improvising. E.g. in Jamey Aebersold play along jazzmaterial there are often these type of suggestions on which notes to play and how),

But it’s a thin line between chords quality and adding tensions. In other words: between functional analysis and voicing:

  • The dim or aug 5 might be more considered as a voicing than functional. But I’d like to compare what I hear on some CD-recording of a song to what I write down in HK. So I would use the ‘voice’-option and maybe put them in the higher octave. But especially in Jazz then the fifth is often omitted.
  • The same would go for the dim and aug 9
  • There is a lot of ‘walking’ bass in jazz recording from which I try derive the function of the chord. So I would put in a bassline as a voice in HK. But it clutters when I have to listen to the bass of the HK-chord at the same time, in stead of after eachother. Furthermore, I’ve seen several solutions for nice baselines via inversions but these I would also like to compare with the bassline I hear in the song. And other instruments often omit the bass-note of the chords because that’s the bass-players area.

In bluesy style the I-chord kan be Ib7 (not I7) and I might use Mixolydian. (This is called the extended dominant in Berkley music terms). But typically the #9 is sometimes added to create that bluesy sound. This let me to the idea to add ‘voice’ for the #9

This would all lead to two ideas:

  1. to have a playback option to only playback the bare quality of the chord: the 3 and 7 and not playback the 5 or/and the rootnote (yes even for other inversions). I would then listen to it with my voicing an/or bass added. This would give me the option to compare between the full analysis of HK and what I hear in the actual song, just by switching.
  2. Thought the 5 and 9 might be considered as voicings, there are some rules involved when and where they might be altered (5) or minor/major intervals. (as I read in Berkley musical harmony) tutorials. Maybe, just maybe, HK can bring in suggestions by rules derived from good functional analysis.

Btw I also saw the thread: On implementing the augmented fifth

And I’d welcome the use of functional analysis related to harmonic and melodic minor. It does bring in some of these altered chords.

I hope that I can still provoke some ideas or maybe there is somebody more informed on this forum to address this issue.

1 Like