Nifty Digital Voodoo Man Logo

KD's Guitar Utilities

Copyright Notice

These programs and data are copyright 1999,2000,2001 by Kent Dalton. You may freely redistribute unmodified versions of the program distribution provided all files remain intact and unmodified. If you wish to sell or profit from the distribution of these files you may not do so without the express written consent of Kent Dalton. Those wishing to contact me for this purpose may do so via e-mail.

Quick Download Link

For folks who just want to update an existing version right now:

Immediate Download Link

If you need installation instructions jump down to the "Install" section of the page.

 

POD Line 6 Library Collection Download

If you came here to grab the POD Line 6 Libraries (Organized by Amp Type) Collection get it now by clicking on the POD:

 

News (Version History)

Watch the Dates/Versions here if you want to determine whether your installation is up to date. NOTE: Documentation development (the boring un-fun part) lags the Software development (Fun part) considerably.

Click Here to view the version history

Overview

This package consists of a set of utilities to aid in guitar fretboard visualization and exploration. It started out as a basic set of Chord and Scale diagram generators (I did an initial release of these in an early form about a year and a half ago which required perl but also ran under Unix, see the Implementation details if you're really curious) and the project has grown from there. It is currently offered as copyrighted freeware, it doesn't cost anything (although I reserve the right to charge for it in the future or develop a commercial package based on it) but I do own the rights to the entire suite. 

Here are the current base capabilities provided by the suite:

Generate Scale Diagrams
Generate Chord Diagrams
Determine Chord Names based on Fingering
Generate Arpeggio Diagrams
Determine Chords that fit into a given Key/Scale
Determine Scales that fit into a given Chord Progression

The tools all understand the same basic chord types and scale set (Currently knows 269 scales). The programs support a wide array of custom tunings. In the offhand chance that a scale or tuning is not known to the tools, the user can input completely custom scale patterns and tunings as described in this document.

Installation

1. Download the zip distribution via this link.

2. Unzip the package to a temporary directory

3. Run 'Setup.exe'

4. Delete  the temporary files.

 

User Interface/Usage

The GUI Frontend will appear in the program manager group as 'KD's Guitar Utilities'. This program's sole purpose is to provide a frontend/wrapper for the other tools in the suite and can be used to access all of the suite's
capabilities from a single starting point.

Execution and use simply consists of launching the program yielding the main dialog:

Front End GUI ScreenShot

Front End Main Dialog

The list of buttons in the dialog describe the different functions of the tool suite. Clicking a button launches the corresponding tool that provides the function described by the button text. The drop down menus provide the same ability via a menu interface.

The help menu provides an 'About' dialog box and the 'Done' button ends the program execution.

Jimi Reminds us what it's all About...

Jimi reminds us what it's all About...

Chord, Scale, and Arpeggio Generators

These programs are all based on one another and function in the same basic way. Here is the main dialog for the Chord Diagram program:

Chord Diagram Tool Main Dialog

Chord Diagram Tool Main Dialog

Here are links to the Scale and Arpeggio diagram dialogs if you wish to see them individually.

Basic Usage

That's pretty much it!

MIDI Playback

The programs can now generate a MIDI file example of the scale, chord, or arpeggio being viewed and send this file to an external player. The playback capability is not Native, so you must define the external player via the 'Edit Settings' dialog. The default player settings are based on the Windows Media Player Default settings. Individual MIDI playback parameters, like tempo and instrument can be set via the settings editor also. 

If everything is setup correctly pressing the new 'Play' button beside the tuning selector on the main dialog (note: pictures in this document have not been updated to shoe the 'Play' button) will generate a temporary MIDI file and then send this to the external MIDI player for listening. If you do not have an external player you can grab Windows Media Player or save the MIDI file for later processing using the 'File->Save MIDI' command.

Options

NEW -- Options are now edited via the 'Edit Settings...' dialog from the 'Settings drop down menu. Here is an example from the 'Scale' diagram generator:

Scale Settings Editor

Display Options

Root Note Highlighting - This colors the Scale or Chord root note differently than the other notes. This is 'On' by default.

Note Letters - Print the letter text of the note name inside the note circle on the diagram. This option is 'On' by default.

Frets (Scale Program Only) - Adjust the number of Frets on the diagram display. Default value is '5'.

Inversion Options (Chord Program Only) 

Default Value is 'All Inversions'.

MIDI and Path Options

Default Save Path - Determines directory location where save operations will occur.

MIDI Play Command - Determines the name and arguments for external MIDI Player. The guitar utilities do not have a native MIDI playback capability. They rely on the user having an external MIDI player installed on their system (nearly all windows systems with sound have some sort of base MIDI player capability preinstalled). The default is "C:\Program Files\Windows Media Player\mplayer2.exe /play /close" which is the default location for the installation of the MS Windows Media Player and the arguments to immediately play the MIDI file and then close the  window. If you do not have a MIDI Player or would just like to try a new one grab Windows Media Player from Microsoft for free.

MIDI Tempo - Length of a quarter note in beats per minute.

MIDI Note Length - Length of note to play for each note or chord.

MIDI Instrument - Select the MIDI instrument to use for playback.

IMPORTANT NOTE: Once you have selected 'Done' on the edit settings dialog, if you wish for the changes to become permanent, you must save the settings using the 'Save Settings...' option from the 'Settings' menu. SETTINGS ARE NOT AUTOMATICALLY SAVED.

Saving

The Save options are found under the 'File' drop down menu. They will prompt for a file name with a File Selector (the default Output directory is the program documentation directory). After entering a file name in the entry box at the bottom hit 'Accept' to save or 'Cancel' to abort.


FileSelect ScreenShot

These programs all allow saving of the current diagram view as either PostScript or Text via the 'Save PostScript' and 'Save Box as Text' options. I've got some downloadable examples linked below:

Example PostScript Output:

Example Text Output:

There is also a 'Save all as text' selection on the 'File' menu which will save the entire fretboard as text for the Arpeggio and Scale programs and will save all the chord fingerings for the selected chord type for the chord program.

Examples:

One cool thing I like to do is convert the PostScript to PDF using Adobe's Acrobat Distiller. You can make some cool charts to print on non-PS printers.

Example: A Dorian PDF

NEW FEATURE -- MIDI and ABC format output

These two newly supported formats work the same way as the other save file formats. They can save the example scale or chord in ABC or MIDI file format and are selected via the 'File' Menu. Select the desired save format and then select the save location with the File Selector. To change output file parameters, like tempo, MIDI Instrument, etc, see the settings editor.

ABC is standard text notation format for music files. See http://www.gre.ac.uk/~c.walshaw/abc2mtex/abc.txt for a description of the ABC format.

MIDI is a platform independent format for saving binary music files.

ABC Examples:

E Harmonic Minor MIDI File

 

 

Custom Values

In order to input custom scales or tunings you must select 'Custom' from the appropriate menu in the menu bar at the top of the window the option buttons in the dialog box area of the window do not allow this option.

Custom Scales

To Input custom scales, Select the 'Custom' option from the 'Scale' drop
down menu. This will bring up the custom scale dialog. Input the step
pattern for the scale as a comma separated list of the number of half
steps in the scale pattern starting from the root. \

So for example: If we wished to enter the Major scale which has a step
pattern of "Whole Step, Whole Step, Half Step, Whole Step, Whole Step,
Whole Step, Half Step" we would enter:

2,2,1,2,2,2,1

into the Custom Scale dialog box.

Example of a Custom Scale Entry

Example of a Custom Scale Entry

Custom Tunings

To Input a custom tuning, select the 'Custom' option from the 'Tuning'
drop down menu. This will bring up the custom tuning dialog. Input the
six open string values from lowest to highest separated by spaces into
the dialog.

For example, to enter standard tuning into the custom tuning dialog
you would enter:

E A D G B E

and hit 'Ok' in the Custom Tuning Dialog.

Example Custom Tuning

Example Custom Tuning

 

Chord Namer

The chord namer is a program that attempts to come up with a chord name for a user entered fingering. It knows a wide variety of chord types and looks for inversions, as well.

Chord Namer with detail mode off

Chord Namer with detail mode off.

Usage

The fingering is entered into the text entry area next to the 'Compute' button using a TAB-like
notation where six numeric values from left to right represent the fretting of the six strings from the the low E at the leftmost input to the high E as the rightmost input. Use the letter 'x' to represent unplayed strings and the number zero to represent open strings. Press the 'Compute' Button

For Example - A Major could be entered as: x00222

Checking the detailed analysis info check box will allow you to see how the program analyzes the notes in the chord and tries to determine the best chord name.


Chord Namer doing detailed analysis on an open A Major Chord

Chord Namer doing detailed analysis on an open A Major Chord

This program does not currently support non-standard tunings.

Key Chords

The intent of Key Chord program is to determine a set of chords that 'fits in' with a particular scale. This is sort of a compositional tool and probably my favorite program in the suite (close runner up is the other 'Key' program for scales)

Say you have some nice licks or melody line composed in a particular scale and you'd like to figure out a chord progression that fits in with the melody. Or better yet, say you have a verse or section of a tune composed that uses as particular key and you want to explore spicing up the chord progression by using something other than simple Major/Minor/7 chords. This program can give you plenty of ideas to play with in these situations.

Key Chord Program Calculating Chords for use with E Mixolydian Scale

Key Chord Program Calculating Chords for use with E Mixolydian Scale

The results are divided up into two basic sections the 'Basic Note Values' (labeled in blue at the top of the dialog) and the 'Chord Analysis' Section (labeled in red below the Basic Note Values).

In the Basic Note Values section, the Selected Scale's note contents and the corresponding Major scale's note content in the two buttons at the top along with the Scale Degrees contained in the displayed scale
relative to the Major (ie I, II, bIII, etc) and the Step Pattern for the computed scale. Clicking on the Computed or Scale Notes button will launch the Scale diagram program for that particular scale if you wish to see the note pattern.

<insert scale example>

In the 'Chord Analysis' section, the notes contained in the scale are in the leftmost column of the results and the Chords that were determined to fit in the scale have buttons to the right of their base note. Clicking on the base note will bring up a dialog containing any corresponding modes of the parent scale that correspond to that note value. Clicking on a mode name will recompute the display using the corresponding mode.

Modes corresponding to F#/Gb in E Mixolydian Scale

Modes corresponding to F#/Gb in E Mixolydian Scale

Clicking on the chord names will bring up the Chord diagram program for that particular Chord.

Viewing the 'Eadd11' Chord from the Keychord View

Viewing the 'Eadd11' Chord from the Keychord View


Clicking 'Done' exits the program.

Key Scales

The Key Scales program is similar to the Key Chords program: The intent of Key Scales program is to determine a set of scales that 'fits in' with a particular chord progression. If you often come up with cool chord progressions or riffs and don't know what scale to solo in with them, this program can help.

Usage

The first step is to enter the chords in the progression into the entry boxes on the entry screen. You can enter chord fingerings using the notation for the 'Chord Namer' program or enter proper chord names like 'Dmaj', 'Amin', 'G7', 'Gadd9', etc.


Key Scale Chord Progression Input Window

Key Scale Chord Progression Input Window


Once the chords are entered hitting 'Compute' will close the window and open the results window:



Key Scale Progression Analysis Results

Key Scale Progression Analysis Results


The results window will show an analysis of each of the chords in the progression (as you'd expect clicking on one of these will bring up a chord diagram). Under the chord analysis are buttons for each of notes represented in the progression clicking on one of these notes will bring up a list box showing the scales that can be used for that note as the key with the chord progression entered.



Available Scales for the Chord Progression based on 'C' as the root

Available Scales for the Chord Progression based on 'C' as the root

As with the chord names, Clicking a scale name within the list will bring up a corresponding diagram:

Scale Diagram Generated by Clicking 'Theta Kalyan' in the Scale List

Scale Diagram Generated by Clicking 'Theta Kalyan' in the Scale List

 

Detailed Information on Supported Features

Supported Tunings

I don't use a whole ton of different tunings so there aren't as many represented here as I'd like, mostly due to my own lack of expertise. But if you have any you want me to support explicitly that aren't here, let me know, they're easy to add.

Tuning Name Open String Pattern
Standard E A D G B E
Half Step Eb Ab Db Gb Bb Eb
Fourths E A D G C F
Drop D D A D G B E
Drop D to D D A D G B D
Open G D G D G B D
Open D D A D F# A D
Open C C G C G C E
Open E E B E A B E
DADGAD D A D G A D
Lute E A D F# B E
Lute 2 E A D F# A E
Big City D A D F# A A
D Wahine D A D F# B D
D Minor D A D F A D
D Modal D A D D A D
G6 D G D G B E
GMinor D G D G Bb D
C6 C G C G A E
Baritone B E A D F# B
Baritone 2 A D G C E A
Old Spanish D G D G A E
D Modal D A D G A D
Bron Y'Aur C A C G C E
Parvardigar C G C G C D
Bruce Palmer Modal E B E E B E
New Standard C G D A E G
Low C C G D G A D
Shifted E E G# C# F# B E

Supported Scales

These are all of the scales I could find. Like with the tunings, if you do find any that are missing that you want me to support let me know, these are really easy to add also.

Scale Name

Step Pattern (in Half Steps)

8 tone Spanish 1,2,1,1,1,2,2,2
8 tone Spanish Mode II 2,1,1,1,2,2,2,1
8 tone Spanish Mode III 1,1,1,2,2,2,1,2
8 tone Spanish Mode IV 1,1,2,2,2,1,2,1
8 tone Spanish Mode V 1,2,2,2,1,2,1,1
8 tone Spanish Mode VI 2,2,2,1,2,1,1,1
8 tone Spanish Mode VII 2,2,1,2,1,1,1,2
8 tone Spanish Mode VIII 2,1,2,1,1,1,2,2
Aeolian 2,1,2,2,1,2,2
Aeolian bb7 2,1,2,2,1,1,3
Algerian 2,1,2,1,1,1,3,1
Alt Alt 1,1,2,2,1,2,3
Alt bb3 1,1,2,2,2,2,2
Alt bb3 bb7 1,1,2,2,2,1,3
Alt bb6 bb7 1,2,1,2,1,2,3
Alt bb7 1,2,1,2,2,1,3
Alt n2 2,1,1,2,2,2,2
Alt n5 bb7 1,2,1,3,1,1,3
Alt n6 1,2,1,2,3,1,2
Arabian n2 2,2,1,1,2,2,2
Arabian 2,1,2,1,2,1,2,1
Augmented 3,1,3,1,3,1
Augmented Mode II 1,3,1,3,1,3
Balinese 1,2,4,1,4
Bebop Dominant 2,2,1,2,2,1,1,1
Bebop Dominant Mode IV 2,2,1,1,1,2,2,1
Bebop Dominant Mode V 2,1,1,1,2,2,1,2
Bebop Dominant Mode VI 1,1,1,2,2,1,2,2
Bebop Dominant Mode VII 1,1,2,2,1,2,2,1
Bebop Dominant Mode VIII 1,2,2,1,2,2,1,1
Bebop Dorian 2,1,2,2,2,1,1,1
Bebop Dorian Mode II 1,2,2,2,1,1,1,2
Bebop Dorian Mode III 2,2,2,1,1,1,2,1
Bebop Dorian Mode IV 2,2,1,1,1,2,1,2
Bebop Dorian Mode V 2,1,1,1,2,1,2,2
Bebop Dorian Mode VI 1,1,1,2,1,2,2,2
Bebop Dorian Mode VII 1,1,2,1,2,2,2,1
Bebop Dorian Mode VIII 1,2,1,2,2,2,1,1
Bebop Locrian Add5 1,2,2,1,1,1,2,2
Bebop Locrian n2 2,1,2,1,2,2,1,1
Bebop Locrian n2 Mode II 1,2,1,2,2,1,1,2
Bebop Locrian n2 Mode III 2,1,2,2,1,1,2,1
Bebop Locrian n2 Mode IV 1,2,2,1,1,2,1,2
Bebop Locrian n2 Mode V 2,2,1,1,2,1,2,1
Bebop Locrian n2 Mode VI 2,1,1,2,1,2,1,2
Bebop Locrian n2 Mode VII 1,1,2,1,2,1,2,2
Bebop Locrian n2 Mode VIII 1,2,1,2,1,2,2,1
Bebop Major 2,2,1,2,1,1,2,1
Bebop Major Mode II 2,1,2,1,1,2,1,2
Bebop Major Mode III 1,2,1,1,2,1,2,2
Bebop Major Mode IV 2,1,1,2,1,2,2,1
Bebop Major Mode V 1,1,2,1,2,2,1,2
Bebop Major Mode VI 1,2,1,2,2,1,2,1
Bebop Major Mode VII 2,1,2,2,1,2,1,1
Bebop Major Mode VIII 1,2,2,1,2,1,1,2
Bebop Minor 2,1,2,2,1,1,1,2
Blues 3,2,1,1,3,2
Blues M3 3,1,1,1,1,3,2
Blues M3 Mode II 1,1,1,1,3,2,3
Blues M3 Mode III 1,1,1,3,2,3,1
Blues M3 Mode IV 1,1,3,2,3,1,1
Blues M3 Mode V 1,3,2,3,1,1,1
Blues M3 Mode VI 3,2,3,1,1,1,1
Blues M3 Mode VII 2,3,1,1,1,1,3
Blues Mode II 2,1,1,3,2,3
Blues Mode III 1,1,3,2,3,2
Blues Mode IV 1,3,2,3,2,1
Blues Mode V 3,2,3,2,1,1
Blues Mode VI 2,3,2,1,1,3
Byzantine 1,3,1,2,1,3,1
Chinese 4,2,1,4,1
Chinese Mongolian 2,2,3,2,3
Composite II 1,3,2,1,1,3,1
Composite II Mode II 3,2,1,1,3,1,1
Composite II Mode III 2,1,1,3,1,1,3
Composite II Mode IV 1,1,3,1,1,3,2
Composite II Mode V 1,3,1,1,3,2,1
Composite II Mode VI 3,1,1,3,2,1,1
Composite II Mode VII 1,1,3,2,1,1,3
Diminished 2,1,2,1,2,1,2,1
Dominant #2 3,1,1,2,2,1,2
Dominant Augmented 2,2,1,3,1,1,2
Dominant Sus 2,3,2,2,1,2
Dominant Sus Mode II 3,2,2,1,2,2
Dominant Sus Mode III 2,2,1,2,2,3
Dominant Sus Mode IV 2,1,2,2,3,2
Dominant Sus Mode V 1,2,2,3,2,2
Dominant Sus Mode VI 2,2,3,2,2,1
Dominant b2 1,3,1,2,2,1,2
Dorian #4 2,1,3,1,2,1,2
Dorian 2,1,2,2,2,1,2
Dorian Augmented 2,1,2,3,1,1,2
Dorian b2 1,2,2,2,2,1,2
Dorian b2,#4 1,2,3,1,2,1,2
Dorian b4 2,1,1,3,2,1,2
Dorian b5 2,1,2,1,3,1,2
Double Harmonic 1,3,1,2,1,3,1
Egyptian 2,3,2,3,2
Enigmatic 1,3,2,2,2,1,1
Enigmatic Minor 1,2,3,1,3,1,1
Enigmatic Minor Mode II 2,3,1,3,1,1,1
Enigmatic Minor Mode III 3,1,3,1,1,1,2
Enigmatic Minor Mode IV 1,3,1,1,1,2,3
Enigmatic Minor Mode V 3,1,1,1,2,3,1
Enigmatic Minor Mode VI 1,1,1,2,3,1,3
Enigmatic Minor Mode VII 1,1,2,3,1,3,1
Enigmatic Mode II 3,2,2,2,1,1,1
Enigmatic Mode III 2,2,2,1,1,1,3
Enigmatic Mode IV 2,2,1,1,1,3,2
Enigmatic Mode V 2,1,1,1,3,2,2
Enigmatic Mode VI 1,1,1,3,2,2,2
Enigmatic Mode VII 1,1,3,2,2,2,1
Ethiopian ARaray 2,2,1,2,2,2,1
Ethiopian Geez 2,1,2,2,1,2,2
Half Whole Diminished 1,2,1,2,1,2,1,2
Harmonic Major 2,2,1,2,1,3,1
Harmonic Minor 2,1,2,2,1,3,1
Hawaiian 2,1,2,2,2,2,1
Hindu 2,2,1,2,1,2,2
Hindustan 2,2,1,2,1,2,2
Hirojoshi 2,1,4,1,4
Hirojoshi Mode II 1,4,1,4,2
Hirojoshi Mode III 4,1,4,2,1
Hirojoshi Mode IV 1,4,2,1,4
Hirojoshi Mode V 4,2,1,4,1
Hungarian Gypsy 2,1,3,1,1,2,2
Hungarian Gypsy 2,1,3,1,1,3,1
Hungarian Gypsy Persian 1,3,1,2,1,3,1
Hungarian Major 3,1,2,1,2,1,2
Hungarian Minor 2,1,3,1,1,3,1
Ionian #2 3,1,1,2,2,2,1
Ionian #5 2,2,1,3,1,2,1
Ionian #6 2,2,1,2,3,1,1
Ionian 2,2,1,2,2,2,1
Ionian Augmented#2 3,1,1,3,1,2,1
Ionian b5 2,2,1,1,3,2,1
Japanese A 1,4,2,1,4
Japanese B 2,3,2,1,4
Japanese Ichikosucho 2,2,1,1,1,2,2,1
Japanese Taishikicho 2,2,1,1,1,2,1,1,1
Javaneese 1,2,2,2,2,1,2
Jewish Adonai Malakh 1,1,1,2,2,2,1,2
Jewish Ahaba Rabba 1,3,1,2,1,2,2
Jewish Magen Abot 1,2,1,2,2,2,1,1
Kumoi 2,1,4,2,3
Kumoi Mode II 1,4,2,3,2
Kumoi Mode III 4,2,3,2,1
Kumoi Mode IV 2,3,2,1,4
Kumoi Mode V 3,2,1,4,2
Locrian 1,2,2,1,2,2,2
Locrian bb3 bb7 1,1,3,1,2,1,3
Locrian bb6 1,2,2,1,1,3,2
Locrian bb7 1,2,2,1,2,1,3
Locrian n2 2,1,2,1,2,2,2
Locrian n2 n7 2,1,2,1,2,3,1
Locrian n3 1,3,1,1,2,2,2
Locrian n6 1,2,2,1,3,1,2
Locrian n7 1,2,2,1,2,3,1
Lydian #2 3,1,2,1,2,2,1
Lydian #3 2,3,1,1,2,2,1
Lydian #6 2,2,2,1,3,1,1
Lydian #6,#2 3,1,2,1,3,1,1
Lydian 2,2,2,1,2,2,1
Lydian Augmented #3 2,3,1,2,1,2,1
Lydian Augmented #6 2,2,2,2,2,1,1
Lydian Augmented 2,2,2,2,1,2,1
Lydian Augmented#2 3,1,2,2,1,2,1
Lydian Dominant 2,2,2,1,2,1,2
Lydian Dominant Augmented 2,2,2,2,1,1,2
Lydian Minor 2,2,2,1,1,2,2
Lydian b2 1,3,2,1,2,2,1
Lydian b3 2,1,3,1,2,2,1
Major 2,2,1,2,2,2,1
Major Locrian 2,2,1,1,2,2,2
Major Pentatonic 2,2,3,2,3
Mela Bhavapriya 1,1,3,2,1,1,3
Mela Chakravakam 1,3,1,2,2,1,2
Mela Chalanata 3,1,1,2,3,1,1
Mela Charukesi 2,2,1,2,1,2,2
Mela Chitrambari 2,2,2,1,3,1,1
Mela Dharmavati 2,1,3,1,2,2,1
Mela Dhatuvardhani 3,1,2,1,1,3,1
Mela Dhavalambari 1,3,2,1,1,1,3
Mela Dhenuka 1,2,2,2,1,3,1
Mela Dhirasankarabharana 2,2,1,2,2,2,1
Mela Divyamani 1,2,3,1,3,1,1
Mela Gamanasrama 1,3,2,1,2,2,1
Mela Ganamurti 1,1,3,2,1,3,1
Mela Gangeyabhusani 3,1,1,2,1,3,1
Mela Gaurimanohari 2,1,2,2,2,2,1
Mela Gavambodhi 1,2,3,1,1,1,3
Mela Gayakapriya 1,3,1,2,1,1,3
Mela Hanumattodi 1,2,2,2,1,2,2
Mela Harikambhoji 2,2,1,2,2,1,2
Mela Hatakambari 1,3,1,2,3,1,1
Mela Hemavati 2,1,3,1,2,1,2
Mela Jalarnavam 1,1,4,1,1,2,2
Mela Jhalavarali 1,1,4,1,1,3,1
Mela Jhankaradhvani 2,1,2,2,1,1,3
Mela Jyotisvarupini 3,1,2,1,1,2,2
Mela Kamavardhani 1,3,2,1,1,3,1
Mela Kanakangi 1,1,3,2,1,1,3
Mela Kantamani 2,2,2,1,1,1,3
Mela Kharaharapriya 2,1,2,2,2,1,2
Mela Kiravani 2,1,2,2,1,3,1
Mela Kokilapriya 1,2,2,2,2,2,1
Mela Kosalam 3,1,2,1,2,2,1
Mela Latangi 2,2,2,1,1,3,1
Mela Manavati 1,1,3,2,2,2,1
Mela Mararanjani 2,2,1,2,1,1,3
Mela Mayamalavagaula 1,3,1,2,1,1,3
Mela Mechakalyani 2,2,2,1,2,2,1
Mela Naganandini 2,2,1,2,3,1,1
Mela Namanarayani 1,3,2,1,1,2,2
Mela Nasikabhusani 3,1,2,1,2,1,2
Mela Natabhairavi 2,1,2,2,1,2,2
Mela Natakapriya 1,2,2,2,2,1,2
Mela Navanitam 1,1,4,1,2,1,2
Mela Nitimati 2,1,3,1,3,1,1
Mela Pavani 1,1,4,1,2,2,1
Mela Ragavardhani 3,1,1,2,1,2,2
Mela Raghupriya 1,1,4,1,3,1,1
Mela Ramapriya 1,3,2,1,2,1,2
Mela Rasikapriya 3,1,2,1,3,1,1
Mela Ratnangi 1,1,3,2,1,2,2
Melodic Augmented 2,1,2,3,1,2,1
Melodic Minor 2,1,2,2,2,2,1
Minor 2,1,2,2,1,2,2
Minor Pentatonic 3,2,2,3,2
Minor Pentatonic Mode III 2,3,2,3,2
Minor Pentatonic Mode IV 3,2,3,2,2
Minor Pentatonic Mode V 2,3,2,2,3
Mixolydian 2,2,1,2,2,1,2
Natural Minor 2,1,2,2,1,2,2
Neapolitan Major 1,2,2,2,2,2,1
Neapolitan Minor 1,2,2,2,1,3,1
Oriental 1,3,1,1,3,1,2
Pelog 1,2,1,3,1,4
Pelog Mode II 2,1,3,1,4,1
Pelog Mode III 1,3,1,4,1,2
Pelog Mode IV 3,1,4,1,2,1
Pelog Mode V 1,4,1,2,1,3
Pelog Mode VI 4,1,2,1,3,1
Pentatonic Major 2,2,3,2,3
Pentatonic Minor 3,2,2,3,2
Persian 1,3,1,1,2,3,1
Persian Mode II 3,1,1,2,3,1,1
Persian Mode III 1,1,2,3,1,1,3
Persian Mode IV 1,2,3,1,1,3,1
Persian Mode V 2,3,1,1,3,1,1
Persian Mode VI 3,1,1,3,1,1,2
Persian Mode VII 1,1,3,1,1,2,3
Phrygian #4 1,2,3,1,1,2,2
Phrygian 1,2,2,2,1,2,2
Phrygian b4 1,2,1,3,1,2,2
Phrygian bb3 1,1,3,2,1,2,2
Phrygian n3 1,3,1,2,1,2,2
Super Locrian 1,2,1,2,2,2,2
Super Lydian Augmented 3,2,1,2,2,1,1
ThetaAsavari 2,1,2,2,1,2,2
ThetaBhairav 1,3,1,2,1,3,1
ThetaBhairavi 1,2,2,2,1,2,2
ThetaBilaval 2,2,1,2,2,2,1
ThetaKafi 2,1,2,2,2,1,2
ThetaKalyan 2,2,2,1,2,2,1
ThetaKhamaj 2,2,1,2,2,1,2
ThetaMarva 1,3,2,1,2,2,1
Whole Half Diminished 2,1,2,1,2,1,2,1
Whole Tone 2,2,2,2,2,2

 

Implementation Details/Credits

The main programs are implemented as 'Perl' code and then compiled using IndigoStar's Perl2Exe. Only the PC Version is provided here but they run under Solaris, Linux, and probably any other box that supports the Perl/Tk environment. I am not distributing the Perl source for use on Unix since there doesn't seem to be much general interest, if someone has a desperate desire to use the tools under Unix I would consider providing source if the recipient would agree to a nondisclosure. 

The perl-compiled programs are a tad slow when exiting and invoking other programs because the shareware version of the perl2exe program was used to compile them and thus have a two second delay on exit. If
someone wants to pay for these programs, I'd be happy to use the money to buy a commercial copy of perl2exe. :)

Thanks to ActiveState (insert URL) for their PC Perl port.

The C++ Programs were compiled using the 'mingw' (insert URL) port of GCC for windows.

The chord and scale C++ programs are based on C++ source code Rick Eesley released into the public domain and were downloaded from the Harmony Central WWW Site. A big thanks goes out to Rick for making some usable free code for others to work from, it gave this project a good jumpstart!!

abc2midi is used for the MIDI file generation and translation from abc to MID. See http://abc.sourceforge.net/abcMIDI/ for the complete package plus source.