Midi Guitar Chord Finder User's Guide

By Glenn Robitaille

midigtr@worldnet.att.net

http://home.att.net/~midigtr

Download.

 

The latest version of the Midi Guitar Finder can be found at http://home.att.net/~midigtr/midigtr.zip . This includes a fiew DLL's, and a README.TXT.

The latest version of the User Guide can be found at http://home.att.net/~midigtr/mididoc.zip

There is a large number of places to find Midi files on the Internet. Here are a few links to get you started:

http://www.harmony-central.com/MIDI

http://midimusic.miningco.com

http://www.busprod.com/joker/clmidi.html

 

 Introduction.

 

 

MIDI (Musical Instrument Digital Interface) is a standard protocol that allows computers to play musical instruments, including the synthesizers built into sound cards. It allows computers to record sequences of notes, which could then be modified, stored, and played back.

Unlike WAV files, MIDI does not store the actual sounds. MIDI files contain a series of note-on and note-off messages. At any given time a combination of these notes may create a chord.

 The Midi Guitar Chord Finder (midigtr.exe) recognizes chords, and display graphic representation of the guitar fingering of that chord, while playing the midi file.

 It provides the ability to:

 There are a number of ways to play any given chord on a guitar. This program will display the fingering that the average guitarist is likely to use. Advanced guitarists will know equivalent fingerings and can experiment until it sounds right.

 

User Interface.

 

 

This is an example of the user interface. It consists of:

 

Drop-down Menus

Described below

Beat = XXX Position = YYY

The current beat within the song, and the current MIDI position (number of ticks) when the display was last updated. The display is updated once per beat.

Previous Chord

The previously recognized chord

Current/Next

The chord recognized at the time of the last screen update.

Upcoming

Upcoming chord diagrams

 

 

Chord diagrams look like this:

 

 

The File menu looks like this. It is fairly self explanatory.

 

 

 

 

The Settings menu looks like this.

 

 

Mute

Mute Tracks. Tracks are not actually muted until then next time you play the file.

Transpose

Transpose Tracks. Tracks are not actually transposed until then next time you play the file.

Set Temp

Set the tempo (slow it down or speed it up). If the midi file contains change tempo commands, this may be temporary.

Set Resolution

This sets the midi resolution -- the lowest divisions into which a quarter note is divided. Most users will have no use for this. I might actually remove this.

Timer Period

This sets the timer period. Most users will have no use for this. I might actually remove this.

Logging

This sets a number of logging options.

 

 

The play menu looks like this. It is fairly self explanatory.

 

 

The Monitor menu looks like this. It will open either the Monitor Channels or Monitor Tracks dialog windows.

 

 

 

 

The Output Device menu lets you select your Midi output device. If you get no sound, you probably need to select another output device. If you want to hear things through your sound card + speakers, you probably want to use a "Synth" or "MIDI Mapper" device.

 

 

The tool bar is a shortcut to menu items listed above.

 

These buttons are equivalent to:

 

FILE | OPEN

 

PLAY | STOP

 

PLAY | START

 

PLAY | PAUSE

 

SETTINGS | TRANSPOSE

 

SETTINGS | MUTE

 

MONITOR | TRACKS

 

MONITOR | CHANNELS

 

SETTINGS | SET TEMPO

 

SETTINGS | LOGGING

 

Dialog Windows.

 

Transpose.

 Transposing music means playing it in a key that is different from the one in which it is written. You may want to do this so it is easier to sing along with it, or so that you can play it using chords that are easier to play.

 The Transpose dialog box allows you to transposes the pitches of notes on specific tracks up or down by a fixed number of steps. Set the transpose amount to the number of half-steps – a negative number to transpose down, a positive number to transpose up. You can transpose by a single octave in either direction (-12 to +12).

  

 

Selected tracks are transposed by the transpose amount. If the file is playing, this will not take affect until you stop, then play.

 

If you transpose drum tracks, you will probably find that it sounds strange. Bass drum's may become cymbals, etc.

 

 Mute.

 

 

Selected tracks are muted. If the file is playing, this will not take affect until you stop, then play.

 

Monitor Tracks & Channels.

 

Selected tracks are monitored, to recognize chords. If the file is playing, this will not take affect until you stop, then play.

 

Selected channels are monitored, to recognize chords. If the file is playing, this will not take affect until you stop, then play.

 A Midi note will only be recognized if it is BOTH on a track being monitored AND it is on a Midi channel being monitored. Most of the time you will probably want to "Select All" on one of the above screens, and then restrict things using the other.

 You may ask why we wouldn't want to monitor everything. The best way to explain this is with an example.

 Let's say, at a given moment in time, you have:

 

Logical Instrument

Track Name

Midi Channel

Notes playing

Guitar

Rhythm Guitar

1

C E G

Guitar

Lead Guitar

2

A

Bass

Bass

3

C

DrumKit

Bass Drum

8

A1

DrumKit

High-Hat

8

A2

DrumKit

Snare Drum

8

B

 

If you monitored everything, it would not see that C major chord the guitar is playing, because the notes playing would be

 

C E G + A + C + A + A + B è B C E G

 

By not monitoring the drums, it can correctly see the "C E G" and display a C Major chord.

 

Note: a common convention is to put the drums on channel 8.

 Tempo.

 

This lets you speed up or slow down the playback speed. Note: some midi files contain tempo change commands. You may set it to one number, and quickly have it changed to something else.

 Logging.

 

This lets you select the log file location, and various logging options.

 

 Enable Logging

If this is checked, basic logging will be performed. If it is not checked, all other logging is disabled.

Log All Monitored Notes

This will show a dump of all the notes that are monitored. This can be useful, if you want to figure out why it didn't find a chord

Log All Monitored Recognized Chords

This will display an ASCII representation of the chords that have been recognized.

Log All Midi Events

This will display every Midi event found in the Midi file.

Log Track Information

This will log the basic track information.

 

Transposing.

 

There are twelve musical notes: C, C#, D, D#, E, F, F#, G, G#, A, A#, and B. The distance from each of these to the next is a semitone [also know as a half step]. The next note in this sequence is another C, which is played one octave above the previous C. From a musical chord perspective, there is no difference between middle C, or the C one octave below that, or the C one octave above that.

 

The simplest scale in music is the major scale. This can be thought of as the following steps:

An interval describes the distance between tones. A major third consists of two notes separated by two whole steps. A minor third consists of two notes separated by one whole step plus one half step.

A chord is a combination of two or more tones. The most common chords are combinations of three notes; these are called a triads.

 If you raise or lower all the notes being played, they kind of chord (e.g. major, minor) does not change. So a C Major chord, raised by 4 semitones, becomes an E Major chord (C è C# è D è D# è E). A C Major chord raised by 12 semitones becomes another C Major (it was raised by one octave).

 

For more on transposition, check out a good music theory book.

 

Troubleshooting.

 

Problem

Possible Solution

It doesn't display any chord diagrams

It is very likely that you are monitoring too much. See the section Monitor Tracks & Channels.

Only one track is displayed.

Many Midi files have all the notes in one track. Use the Monitor Midi features.

The file doesn't play. Position remains at zero.

Things won't play if you aren't attached to a valid Output device. Try using other devices.

The file seems to be playing, but nothing can be heard.

  1. Speakers are turned off.
  2. All channels are muted.
  3. Wrong output device selected.

transpose/mute/monitor not working.

These features do not take affect while a song is playing. Stop, and then restart.

It doesn't play immediately.

When you hit the play button, the software parses the contents of the midi files, builds data structures, recognizes the chords, etc. These data structures are used at play-back time to display the chords. If a file is big, it may take a few seconds or more for it to start. If it takes longer than 15 seconds, there might be something wrong.

 

 

Future Releases.

 

This software was developed as part of my Masters project. It is likely that I may add additional features to this, when I have some free time and the desire to do so. If you have any suggestions for features to add, please send email. If you find any bugs, please send email (do not send attachments, but remember which midi file you were using in case I want it). If you want upgrades, check out my web page from time to time.

 

Features I am considering adding are:

 

1