Theorytab search by chord (beta)

The Theorytab search bar now allows users to search for tabs by chord progression. While this functionality has already been available in a graphical form (hooktheory.com/trends), we are experimenting with putting it directly into the search bar.

Right now the functionality and scope of this search is very limited:

  • Chords must be entered in a specific format, outlined below
  • Chord durations are not supported
  • Chord progressions must be entered in relative notation
  • Chord progressions are limited to progressions containing 4 chords or less.
  • Certain types of chords are not yet supported, like chords with adds, omits, suspensions, alterations, and chords borrowed from supermodes, although these will be added soon.

We eventually envision building a broader “search by chord progression” tool that will do away with these limitations and have lots of advanced search features, but as this will require a significant development effort, we are putting this off for the time being.

In the meantime here is a brief guide for entering chord progressions:

Chord progression search notation

The basic form of a query is:
[mode: (optional)] [chord], [chord], [chord], [chord]

Where mode specifies the mode of the tab, and can be: major, minor, dorian, lydian, mixolydian, phrygian, or locrian. If mode is left blank, it is assumed to be major.

Chords are entered in the notation outlined below. Chord progressions must be between 1 and 4 chords in length. Chords after the 4th chord in the progression will be ignored.

Chord notation

Chords have the following form:

[borrowed mode: (optional)] [root] [figured bass (optional)] [/ applied chord target (optional)]

Note that the root is entered in plain numbers (Arabic numerals, i.e.: 1 2 3 not Roman numerals: I ii iii).

Chord examples:

I : 1
ii : 2
viio : 7
I6 : 16
V11 : 511
V42 : 542
V/vi: 5/6
V42/IV : 542/4
iv (min) : minor:4
bVI (min) : minor:6
#ivø7(lyd) : lydian:47

Search Examples

To search for tabs in major containing the progression I → V → vi → IV, use the search term:

1 5 6 4

To search for tabs in minor containing the progression i7 → VI → VII, use:

minor:17 6 7

To search for tabs in major containing the progression I → V42/IV → IV6 → iv6 (min), use:

1 542/4 46 minor:46

1 Like

I’m looking up the chords minor: 6 7 5 1, but the result (VI → VII → v → i) looks too much like it ends in I (major 1):

image

Pressing Enter leads to the TheoryTab front page when no songs with a matching title (so 1 4 5 1 searches for songs with the title 1 4 5 1).
Clicking on the Search icon properly searches for the chords.

The front page thing also happens for both the Enter key and the Search button when there are no tabs with that progression.

I get a 400 Invalid Request error whenever you search for a song with an invalid chord sequence in the search bar, such as 4o. Interestingly, 7o searches successfully, and finds songs with viio.

The extension 9 or (add9) does not work, such as 47 (400 Invalid Request), despite that a tab exists with a IV(add9).

There is no indication other than no suggestions appearing that a singular chord doesn’t exist in the database.

minor: 1 gives a 400 error when the search suggestions gives songs with i.

Searching for minor: 111 1 dorian:464 does not yield i11 → i → IV64, but rather only i11 → i.

Thanks for the bug reports, we’re working on getting these issues resolved

Normal searches now seem to always return to the main page.

This is going to be great, but a few tests show that there is a lot of work ahead.

e.g. I type lydian:4 and shows a few with vio, which I think is not the right one (?)
and when complete the lydian:47 it shows nothing.

I guess you should be aware of it and more, but I am writing because of a little suggestion that may help with two existing problems.
(1)Readability of cluttered/small chords and (2)a way of knowing every chord ID.

By adding a little Info box (e.g. besides, below the keyboard) that when we click on a chord it shows confirming the roman numeral, chord symbol and chord ID.
I am striving with those two issues right now.