Guitariano
By Warren S. Goff, D.O.
This program is a novel idea that I have been considering for some time. I call it a Guitariano (Guitar + Piano). The idea is to have a virtual midi guitar which is controlled by the Computer Keyboard (like a piano), Mouse or Mousewheel which outputs MIDI instruments.
The novelty is the additional options one has to create guitar chords and voices. One can choose any of multiple alternative guitar tunings (and even customize your own) and basically construct impossible guitar fingerings. The alternative tunings really shine when admixed with open strings. The possibilities are endless. The Source code is here:
http://www.moosenose.com/Guitiano/Guitiano.zip
This project incorporates my prior Midi Guitar program. It also uses the public domain Mabry MIDI Controls (needed to use the source code only) which can be downloaded from here:
www.moosenose.com/MABRYMIDICONTROLS.EXE
To use the Keyboard as a "pick", the six strings from high to low are Z-X-C-V-B-N. You may strum all strings together with the Space key (more like plucking). A mouse wheel can pluck individual strings. You create chord sequences for a song and then cycle through them with the mousewheel or keyboard. You are responsible for the output. A drum machine and metronome are provided. Arpeggios and partial arpeggios, up and down, are possible as chord strumming. Down is S and Up is D. The speed of arpeggiation may be adjusted as well.
See Keyboard Help Screen
There is also a Virtual Blues accompaniment module which allows one to play lead upon a given progression, the default being 12 bar blues in A. One may choose any song and any scale to play over it using the mouse and/or the keyboard.
One may also record and play back both the chord sequences (songs) and the Blues Progression (keyboard input only).
Finally, one may control the program with a MIDI instrument, especially a midi guitar, rendering alternate tunings. This is imperfect due to problems with my coding and usage of the Mabry MIDI Controls many functions of which are undocumented.
This program is relevant to students, musicians and guitarists. It seems like an excellent learning tool for guitar scales, chords and music theory.
The interface is not intuitive and the program has a learning curve. It is likewise not terribly User Friendly. Sorry...
One problem I haven't solved is the sustain on some instruments such as organs.
A panic button is provided on most screens if this happens.
It works intermittently.


The opening screen is busy, not a standard Windows interface and perhaps intimidating. It encompasses many options and directs all of the other functions and features of the program.
Fretboard Chords and Scales
The guitar fret board displays all possible notes on the 6 strings.

For Chords (AMaj)

For Scales (AMaj)

And ALL Notes to Create of Identify New Chords in all Tunings.
This means that chords and scales can be constructed in all and any alternative guitar tunings desired.
The chords are not displayed as separate elements, that is, they are not in a standard fingering format. Rather, all notes in the chords are displayed. By clicking on a note, it is selected as a note in the chord. (The other notes are then hidden.) By looking at the Intervals,

you can verify that you have included all of the notes on all of the strings to make a chord. You may also mute strings or select an open string. By clicking the notes just to the left of the mute buttons, one allows open strings. These notes are also grayed when muted or not in the chord.

An incredible number of possible guitar fingerings can be developed for one to learn on. In open tunings, players often must expend tedious effort finding chords. This program takes the experimentation out of the process. Many players use alternative tunings. Some musicians have suggested that by changing tunings and changing chord patterns, one may overcome muscle memory which keeps an artist playing the same old material, the same old way.
There is a tuner function:

so one can easily tune an external guitar to any tuning selected.
One may also have the output as a 6 string or 12 string guitar.

Indeed, one may program the output to any MIDI preset instrument. Please be aware that some of the patches have long durations and may have problems with the program. You may pick and choose and this is also done in the Tool-Drum dialog or clicking under Patch on the guitar face.


Constructing and Playing Songs/Progressions

Chord Input is performed using the drop-down boxes

after depressing one of the Chord Sequence Buttons
Keyboard Help

The Chord Banks allow one to cycle through all chords entered into as Chord
Sequences. This circumvents using the mouse to choose a chord
while playing in realtime with the keyboard.

Playing and Play back displays which strings are being hit.
Using the above functionality allows you to create, play, record and play back songs or chord progressions.
Using the virtual fretboard, you may create customized chords from presets or construct a chord from scratch.
At present chords constructed from scratch cannot be added to the progression.
With one of the buttons above depressed,

whatever chord selected and constructed is assigned to the depressed button.
The Wheel button
allows one to use the mouse wheel to arpeggiate the chords.
Otherwise, the keyboard acts as one's strumming hand.
Note that the program will only record and play back input from the keyboard.
The Arpeggiation Delay sets the speed that arpeggios are generated by the Strum keys above
.
I/O Functions

This dialog opens, saves and deletes the present and saved chord progressions. One can also save specific chords using the fretboard
and open them as well. Likewise, one may save and recall any tuning that is constructed. One can stack multiple chords on top of one another by changing the tuning to each chord in sequence thus stacking alternative tunings.

One may dock and undock the forms, display the Lyrics dialog, which can be autoplayed under the drum dialog:

Also a CAGED guitar view is provided to see simplified forms of most chord possibilities.

This option allows you to input any combination of notes and determine what chord it may be (if it fits standard criteria), if any.

One creates chords from this view by selecting any notes on any string by clicking on the letter.

The Circle of 5ths allows you to construct chord progressions for song composition.

This option is the primary tool to add Alternative Tunings and change MIDI parameter such as Instruments, MIDI-IN, MIDI-OUT, Volume and Panning. The Trans (transposition) slider places the capo up to 32 frets behind and in front of the present tuning (guitar nut) basically changing key but with the same fingerings.
MIDI Instruments
Preset Alternative Tunings

Custom Alternative Tunings
You may choose from the multiple preset instruments and alternative tunings or construct your own tunings by entering half steps in the provided boxes.

MIDI IN and Out Devices
To use the program you must at least have a MIDI-OUT device (eg SoundBlaster).

This is a simple drum machine. Start and Stop are obvious. Hiding or Closing the window, keeps the drums playing. Record is not an option for the drums. You may trigger any of the MIDI Instruments on the Kick or Snare drums. As stated, the Chords Button loads the lyrics which autoplay and autoscroll. The chords may be arpeggiated, strummed or both.

If chords are selected, the lyrics open and the song scrolls with the music. This options is still under development.
12 Bar Blues in A or Lead Guitar Scales


The default is 12 Part Blues in A, using the A-Pentatonic-Blues scale. Moving the Mouse over the notes plays them. You can also use the keyboard (as noted in white) to trigger the notes. You may change instruments between Clean Electric Guitar, Steel Acoustic Guitar and Honkey-Tonk Piano (Unfortunately, Harmonica has the sustain problem mentioned above. The panic button aborts it.) or choose any instrument using the Tool Dialog (above).

If you call the Browse for Folder option (
), you may select any mid, mp3 or wav file. The scale comboboxes then are shown so one may choose any scale desired.