Michael Hogg   >>   Slowspace  |  Guitar Chord Explorer  |  Marble Challenge  |  Bizarre Name Generator  |  Contact me
GCE home  |  GCE instructions  |  QuickTransposer  |  Song tabs  |  Links  |  

   

Please allow some time for the program to load
You must have Java 1.1 (or later) enabled
Click here for the program only -- no instructions, page loads much faster


About this program

Guitar Chord Explorer (GCE) is a free program which, as you may have guessed, allows you to explore many chords that can be played on any 6-string guitar: If you find GCE useful, or if you discover any problems while using it, please let me know.  Click here for a bit more background info about me and this program.

In the spirit of the Internet community, I am making GCE free for all to share, but any donations would be gratefully received, since I have devoted countless hours to designing and testing this program:


Many thanks :-)



Quick links for this page


  Layout of the screen





  Modes

GCE has four different modes:

  1     Database lookup
  2     Interval hilighter
  3     Voicing builder
  4     Chord search engine

To select a particular mode, click on its button.  The button of the current mode is hilighted in yellow.



  Displays

Chord information is presented in two displays: Depending on the mode, various notes will be hilighted in both displays, to illustrate a particular aspect of the current chord.



  Basic controls



The key buttons indicate the key of the current chord:


The chord buttons indicate the current chord type:
The dots in the two displays can have different appearances:

If the current mode allows you click on particular dot (eg. entering search notes in mode 4), then the dot will be 3D (with a raised surface).  If a dot cannot be clicked on (eg. viewing a database voicing in mode 1), then the dot will be flat.
 
The dots can either be blank, or they can be labelled with note names.  To toggle between these two settings, click on the show/hide notes on dots button.
 
Throughout the program, you can choose to use either sharps or flats (# or b).  To toggle between them, click on the use sharps/flats button.



  String tunings

GCE can use any string tuning you like.  All tuning information appears in the bottom-left corner of the screen:



To change the tuning of a string: To reset all strings to their standard tunings, click on the Standard button.

As well as using alternative tunings, you can: Note: the chord database only contains voicings for standard tuning.



  The chords

To see the structure of a particular chord (ie. its intervals), click on its chord button and look at the Intervals Display (this will work in most modes).

  Mode 1 - Database lookup  

In this mode, you can access a database containing chord voicings for standard tuning:

Select the desired key and chord, by clicking on the corresponding buttons
Voicings are displayed by hilighting the required notes in the Main Display
Click on the next/previous voicing arrow buttons to navigate through the available voicings
Click on the currently-selected key or chord button to return to the first (most common) voicing

The Intervals Display will hilight all notes that appear at least once in the current voicing.  In voicings for big chords, some intervals may be omitted (more details).

I've tried to organise the database so that similar voicings are grouped together when navigating through them.  Voicings that are very high on the fretboard (ie. 10th fret and above) may only be easily playable on guitars which have extra free space on one side of the fretboard (eg. most electro-acoustic guitars).

If you want chord voicings for non-standard string tuning, you can use the voicing builder mode.

Unlike huge printed charts of guitar chords (where it often takes a while to find your chord in the chart), this mode will show you voicings for your chord instantly.  And unlike automatic chord generators (which often produce duplicate voicings, or ones that are impossible to play), every voicing in this database has been tried out and entered by hand!  Many of the voicings were discovered using the voicing builder mode.

Database contains 1,205 voicings, last updated on 23rd Jan 2004


Barré chords

As well as basic voicings, the database also contains barré chord voicings (where several strings are held down on the same fret by one finger).  However, GCE will give no indication about how these chords should be played, because there is often more than one way of playing them.

For instance, the most common voicing for F major is shown on the left.  A lot of people barré the whole first fret with their index finger (and then add the other notes with their remaining fingers).  But some people prefer to barré just the highest two strings with their index finger, and use their thumb to make the F note on the lowest string.

Since this kind of situation arises fairly often, I've decided that GCE will just display the notes to be played, and the user is free to decide the actual fingering.


Smaller variations of voicings

It's often possible to get extra voicings from an existing one, by omitting some strings.

For instance, two different voicings for E major are shown on the left.  They are both valid voicings, since they have all the required notes, and the lowest note is E.  The second voicing is formed by omitting the lowest two notes of the first voicing.

In such cases, only the largest voicing will be included in the database.  Smaller variations can be found by using the voicing builder, or simply by looking at the hilighted notes on the fretboard.

A smaller variation of an existing voicing may be useful if: Note: be careful when finding smaller variations for "add" chords -- make sure that the distance (number of semitones) from the bass note to the added note is still correct (more details).


No voicings for the chord you want?

I'm always adding new voicings to the database, but at the moment it's not complete.  My current goal is to add at least one voicing for all 576 key/chord combinations... please be patient :-)

If a chord doesn't have any voicings yet (or you're using a non-standard string tuning), no notes will be hilighted on the fretboard.  If this happens, you could: If you have a favourite voicing that isn't in the database, please email me and I'll add it!



  Mode 2 - Interval hilighter  

This very simple mode allows you to hilight all the notes on the fretboard that match an interval in the current chord.  Just click on a dot in the Intervals Display, and all the corresponding dots in the Main Display will be hilighted.

   For example, if C major is the current chord, the intervals are root (C), 3rd (E) and perfect 5th (G).  To hilight all the places on the fretboard where the perfect 5th note appears, click on it in the Intervals Display.

This can be useful when exploring big chords (eg. 13th chords), when the fretboard becomes a mass of dots, and you'd like to pick out all the occurrences of a particular interval.

Also, this mode can be used in combination with the voicing builder, to find the most suitable occurrence of an interval to include in your voicing.  This is especially useful for finding the best occurrence of the root, for your voicing's bass note.



  Mode 3 - Voicing builder  

With this mode, you can build your own voicing for any chord in any key.  The button in the bottom-right corner of the screen allows you to choose the type of chord to build:

To build a voicing for a standard chord:

Select the desired key and chord, by clicking on the corresponding buttons
Click on any green note in the Main Display to add it to your voicing (it will turn purple)
Clicking on a purple note will remove it from your voicing
In the Intervals Display, notes that occur at least once in your voicing are purple, while notes that still need to be added are green
Once all notes in the Intervals Display are purple, you have a valid voicing!

While building a voicing, you may wish to use the interval hilighter to help you locate suitable occurrences of particular intervals.  If you do change modes, GCE will remember your voicing, so you can continue building it when you return to this mode.

You might find this mode useful if you want to:
Bass notes

The lowest note (bass note) in a voicing should be the root note of the chord.  For example, if you're building a voicing for E minor, the bass note should be an E.  If not, then you should really use the "chord/bass" notation for chords with altered bass notes.  So if the bass note in your E minor voicing is a B, then the chord is called Em/B.


"Add" chords

You need to be careful when building voicings for "add" chords.  Voicings for "add2" and "add9" chords must be different, even though the actual notes are the same.

An "add2" chord should have its added note within 1 octave of the bass note, whereas in an "add9" chord it should be more than 1 octave from the bass note.  Similarly for "add4" and "add11" chords.


Chords with optional notes

For big chords, it's common to omit one or more notes from a voicing.  Here is an (incomplete) list of examples:

Chords Optional intervals
9, m9, maj9, mmaj9 5
11, m11, maj11, mmaj11 5, 9
13, m13, maj13, mmaj13 5, 9, 11

In such cases, you may omit any of the optional intervals, and still consider your voicing to be valid.  In the case of 13th chords, you will have to omit at least one interval, because 13th chords can have up to 7 different notes, and a guitar only has 6 strings :-)


Custom chords

With this feature, you can create your own custom chords, and then build voicings for them.  While in this special mode, a row of grey circles is added to the Intervals Display -- this helps you to easily select the intervals you want:



To enter your custom chord:

Select the chord's key, by clicking on a key button
Click on the appropriate positions in the Intervals Display to add/remove intervals
If at any time, your custom chord matches one of GCE's 48 standard chords, then its chord button will be highlighted in green

Points to note:
  • You cannot enter duplicate intervals (eg. you can have the 2nd or the 9th interval, but not both)
  • The root interval must always be present (for this reason, you cannot enter the octave interval as well)
Once your custom chord is entered, you may build a voicing for it in the usual way, as if it were a standard chord.

Here are some custom chords to try:

Chord Intervals
sus2/4 Root, 2, 4, 5
7b5/b9 Root, 3, b5, m7, b9
7b5/#9 Root, 3, b5, m7, #9
7#5/b9 Root, 3, #5, m7, b9
7#5/#9 Root, 3, #5, m7, #9
mmaj7b5 Root, m3, b5, 7
mmaj7#5 Root, m3, #5, 7
9b5 Root, 3, b5, m7, 9
9#5 Root, 3, #5, m7, 9



  Mode 4 - Chord search engine  

In this mode, you can enter some notes on the fretboard in the Main Display, and GCE will search through all available chords for your notes.  While in this mode, a grid of grey circles is displayed on top of the fretboard -- this helps you to easily select the notes you want.

The button in the bottom-right corner of the screen allows you to choose the search type:

  • An exact match search will return chords that contain exactly your notes -- no additional notes, and no notes missing
  • A fewer notes search will return chords that contain some of your notes, but not all of them
  • An additional notes search will return chords that contain all your notes, plus some additional notes
For example, if you enter the C major notes C E G, some of the results for the different search types will be: To perform a search:

Enter your notes, by clicking on the appropriate positions on the fretboard in the Main Display
Your selected notes will be coloured purple.  To remove a note, click on it again
When a chord is found, its buttons will be hilighted...
...and the chord's remaining notes will be added to the fretboard
Click on the next/previous result arrow buttons to navigate through the search results
The Intervals Display will colour your search notes in purple
In fewer notes searches, yellow dots indicate notes that you entered, which don't appear in the current chord
In additional notes searches, green dots indicate additional notes -- they appear in the current chord, but not in your notes

Once a result is displayed, GCE will automatically select its key and chord in the other three program modes.  So you can immediately check the database for other voicings for your result, build your own alternative voicing, etc...

How to choose the most appropriate search type:
  • Use an exact match search to find a precise chord name for the notes you've entered
  • Use a fewer notes search to find simpler chords contained within your notes
  • Use an additional notes search to find chords that are based on your notes, but need extra notes to make them complete
The latter two search types are also useful when no exact matches can be found (see below for more details).


Chord inversions

The search engine will match any inversion of a chord.  For example, EGB, GBE and BEG will all match E minor.

You should always check whether the bass note of your voicing is the same as the root note of the chord matched.  If not, then the search engine has matched an inversion of the chord displayed.  In such cases, you should use the "chord/bass" notation to indicate that the bass note has been altered.  For example, BEG should be called Em/B.


Multiple results in exact searches

Sometimes, a combination of notes will match more than one chord name in an "exact match" search.  This is due to the fact that an inversion of one chord is often identical to another chord.

For instance, the chord shown on the left can either be called Esus4 or Asus2/E.  In such cases, you need to decide which name is more appropriate (eg. in the context of a song).

Also, "add" chords will always be matched in pairs.  For example, if an "add2" chord is matched, then the corresponding "add9" chord will be matched too, due to the fact that they contain identical notes.  You should inspect your voicing, determine the distance (number of semitones) between the bass note and the added note, and then choose the correct name for the "add" chord (more details).


Organisation of results

In a fewer notes or additional notes search, the results are organised as follows:
  • Chords are sorted by ascending number of special notes.  For instance:
     
    • In a fewer notes search, all chords with 1 missing note are grouped together, and they come before chords with 2 missing notes
       
    • In an additional notes search, all chords with 1 extra note are grouped together, and they come before chords with 2 extra notes
       
  • Results with the same number of special notes are sorted using the list of chords.  For instance, a maj7 chord would come before a 7#5 chord

Restricted search

Normally, the search engine will look for results in all 12 keys.  However, you may restrict the search to a single key.  To do this, simply click on the button of the desired key:



Now, only results in your chosen key will be displayed.  To return to the normal search mode, click on the restricted key button again.


No exact matches?

If an "exact match" search produces no results for your notes, there are several possible reasons:
  • Your chord might not be one of GCE's 48 standard chords.  If this is the case, you should try a fewer notes search.  This will often help to reveal the underlying structure of your chord, making it easier to work out a suitable chord name -- see below
     
  • Alternatively, your chord does match one of GCE's chords, but it's missing some notes.  In this case, you should try an additional notes search, where the missing notes will be filled in -- see below
     
  • It's also possible that your chord will never match any of GCE's chords in any way, because it's just too unusual.  In this case, you can inspect your chord's structure manually -- see below

Using "fewer notes" search

The following chord produces no matches when using an "exact match" search:



After switching to a "fewer notes" search, and navigating forwards through the results, we find one result is Am(add9).  The Intervals Display shows:



The only missing note (yellow) is F, which is the #5 interval of the key of A.  So one name for our chord could be:
  • Am(add9)(add#5)
Another result from the "fewer notes" search is Fmaj7.  For this chord, the Intervals Display shows:



Here, the only yellow missing note is B, which is the b5 interval of the key of F.  So another name for our chord could be
  • Fmaj7(addb5)/A
Note that this is an inversion, because the bass note of our voicing is not F.

Continuing forward through the search results, the chords have fewer and fewer notes.  So if you're trying to work out an exact name for your chord, it's usually best to only consider the first few results (with 1 or 2 missing notes).


Using "additional notes" search

The following chord produces no matches when using an "exact match" search:



After switching to an "additional notes" search, we find one result is D9.  The Intervals Display shows:



Our voicing would exactly match D9 if the additional perfect 5th interval (green) was present.  However, in this case, the voicing is still valid, because the perfect 5th interval is optional in D9.

This won't always be the case, so you should always check whether the green additional notes in your search result are optional.

Note that 13th chords will never appear in the results of an "exact match" search, because only 6 of the 7 possible notes can be played simultaneously on a guitar.  Only "additional notes" searches can match 13th chords.


Very unusual chords

Sometimes, a chord won't produce any results, with any search type.  If this happens, your chord is extremely unusual!  For example:



However, there is a special option which allows you to guess the key of a chord, and then inspect the structure of the chord's intervals.

Simply click on a key button (as if you wanted to do a restricted search), and look at the Intervals Display.  This feature works in any of the 3 search types, whenever there are no search results.

Let's guess that our weird chord above is in the key of E.  So click on the E key button:



Now look at the Intervals Display:



We can see the following points:
  • we have the root and m3 intervals, so it could be a minor chord
  • there is no perfect 5th interval (which is usually present in a minor chord)
  • the 2 and b9 intervals have been added
So we could call this chord Em(no5)(add2)(addb9).



  Easter egg

See if you can discover how to reveal a hidden smiley face somewhere on the screen!  If you're successful, you can play with him by clicking on him!



  Update history

9th Jan 2005 Website hits reached 20,000 unique visitors
25th June 2004 Website hits reached 10,000 unique visitors
18th Feb 2004 Website hits reached 5,000 unique visitors
10th Feb 2004 Fixed a small bug -- when clicking on a string tuning button for the first time since the program loaded, the corresponding string often didn't hilight.  Also, modified browser status bar to display warning if any images don't load properly
23rd Jan 2004 Updated chord database to 1,205 voicings
23rd Dec 2003 Updated chord database to 1,136 voicings
17th Dec 2003 Updated chord database to 1,088 voicings
13th Dec 2003 Website hits reached 2,000 unique visitors
8th Dec 2003 Updated chord database to 991 voicings
4th Dec 2003 Improved the voicing builder custom chord mode -- simplified the controls, and added some extra features
25th Nov 2003 Added simple help text in the browser status bar for each mode
24th Nov 2003 Converted entire chord database to a much more efficient format -- now loads over 3 times faster!
17th Nov 2003 Graphics update -- screen now redraws faster, shadows added to purple dots, clickable dots are now 3D
15th Nov 2003 Updated chord database to 966 voicings
9th Nov 2003 Fixed a bug which caused part of the display to be rendered incorrectly on some machines
8th Nov 2003 Website hits reached 1,000 unique visitors
18th Oct 2003 Updated chord database to 901 voicings
15th Oct 2003 Updated chord database to 847 voicings
14th Oct 2003 Graphics code completely rewritten and optimised.  The program still looks the same, but it now loads almost 40% faster than before!  I tested this new version pretty thoroughly before I uploaded it, but there may be a few bugs still lurking -- please contact me if you spot anything going wrong!  Thanks :-)
29th Sept 2003 Updated chord database to 796 voicings
23rd Sept 2003 Added the "custom chord" feature of the voicing builder, and completed a major rewrite of the search engine (adding the "fewer notes" search type in the process)
20th Sept 2003 Updated chord database to 721 voicings
18th Sept 2003 Updated chord database to 648 voicings
17th Sept 2003 Updated chord database to 585 voicings
9th Sept 2003 Website hits counter added
5th Sept 2003 Updated chord database to 423 voicings
24th August 2003 Updated chord database to 270 voicings
14th August 2003 Updated chord database to 259 voicings
7th August 2003 Updated chord database to 218 voicings
6th August 2003 Updated chord database to 134 voicings
1st August 2003 Updated chord database to 92 voicings
29th July 2003 Chord database created, with 60 voicings



  Troubleshooting
  • I've let the page load for a while, but GCE hasn't started yet

    If you are using a slow Internet connection (eg. dial-up), it will take a while for GCE to load all its files -- please be patient!  With a 56K modem, the program will take at least 14 seconds to load.  Hopefully your browser will cache many of GCE's files, so that it will load much quicker in future visits.

    If this is the first applet you've viewed since you started your browser, Java will need to be launched before GCE can begin loading.  Depending on the speed of your computer, Java can take several seconds to start up... 8 seconds is a typical time.

    If you are already familiar with GCE, click here for the program only.  It will usually load over twice as fast as this page, since it doesn't contain all the instructions and related images.

     
  • I just get an empty white rectangle (or an error symbol) where the program should be

    Make sure you have Java 1.1 (or later) installed and enabled.  Some old versions of browsers (especially Netscape) seem to have trouble finding GCE's files -- I'm investigating this problem.

     
  • Parts of the display seem to be corrupted or missing

    Very occasionally, a required image will fail to load properly, usually due to a sporadic network error.  If this happens, a warning message will be displayed in your browser's status bar.  The easiest solution is simply to reload the page, and GCE should work fine.  If not, you may need to clear/flush your browser's cache first.

     
  • The program seems to react very slowly to my mouse clicks

    Many Java programs which run fine normally, slow down when they are run in Internet browsers.  Unfortunately, there's not much that can be done about this, since browsers must process your mouse activity themselves, before passing it on to Java applets.

    If GCE seems to be running slowly in your browser, you can try running it in a separate Java applet program.  Examples are appletviewer for Windows (in the MS-DOS prompt), Apple Applet Runner for Mac OS Classic, and Applet Launcher for Mac OS X.  From my experience, GCE's reaction speed is very fast when it's run in one of these programs.

     
  • The program was running fine, and then suddenly froze when I clicked on a button

    I've tested GCE pretty thoroughly, but there will always be small obscure bugs, which only occur in very specific circumstances.  Please email me with as much information as possible about what happened, and I'll do my best to fix the bug.


  Linking to this site

If you'd like to link to this page from your own website, feel free to use one of the GIFs below.  You may copy & paste the HTML code supplied, or write your own code.
 
<a href="http://www.michaelhogg.btinternet.co.uk/gce/" target="_blank"><img src="http://www.michaelhogg.btinternet.co.uk/gce/ad.gif" width="178" height="50" border="0" alt="Guitar Chord Explorer"></a>
 
<a href="http://www.michaelhogg.btinternet.co.uk/gce/" target="_blank"><img src="http://www.michaelhogg.btinternet.co.uk/gce/ad_small.gif" width="120" height="34" border="0" alt="Guitar Chord Explorer"></a>

If you would prefer a text link, then you may use the following:
 
Guitar Chord Explorer -- a free online Java program/applet/tool which allows you to explore, search and build hundreds of guitar chords. Easy to use, with colour-coded displays. Features include a chord database/dictionary, a voicing builder, a powerful chord search engine, and more. Dual display -- fretboard and chord structure (intervals). Use any string tuning. Build unusual custom chords.



  Users' comments
  • "It's real fun to play with - nifty program."
        
    Oct 2003
     
  • "I took a look at your chord application and I'm very impressed indeed.  I think it should come in very handy..."
        
    Nov 2003 -- A lecturer in Computer Science at Cambridge University
     
  • "This is an incredibly useful program!"
        
    Dec 2003
     
  • "Your program is the best one of it's kind that I have ever seen.  It is extremely useful."
        
    Jan 2004
     
  • "I am very impressed with the design of GCE and am eager to use it.  It is the best design of its kind I've seen on the web in terms of its power and ease of use."
        
    Feb 2004
     
  • "An excellent and innovative idea."
        
    Mar 2004
     
  • "Great program."
        
    Mar 2004
     
  • "I have been playing for a long time... but I still sometimes have trouble finding the exact voicing I am looking for quickly.... this website is awesome!!  VERY, VERY cool."
        
    May 2004
     
  • "What a great little tool!"
        
    Jul 2004
     
  • "Your program is awesome!"
        
    Jul 2004


  Background info

I'm a Cambridge University graduate in Computer Science, and I've been playing the guitar for over three years.

I've come across many websites with guitar chord programs, but I've never been totally satisfied with any of them.  Some have terribly complicated controls, some produce confusing chord diagrams, and some even contain incorrect chord voicings.  I wanted to create a program that's both powerful and very easy to use, while still making it free for all to share.  GCE is the result.  I don't pretend to think that it's perfect, but it provides several features which I personally find very useful when writing or tabbing songs, and I hope that others find it useful too.

GCE has been developed over many months (completely from scratch) in Java, which allows it to be embedded in web pages, and provides more flexibility than JavaScript.



© 2005 Michael Hogg

Marble Challenge Slowspace