Return to MAIN Music Visualizer Page



NORM'S MUSIC VISUALIZER MUSIC ANALYSIS ASSISTANCE AND IMMERSION SOFTWARE INSTRUCTIONS




DOWNLOAD BY CLICKING ON THE LINK BELOW

UPDATE TO THE LATEST VERSION (2011.11.11 released Nov 11, 2011) OF NORM'S MUSIC VISUALIZER FREE

DOWNLOAD OR UPDATE THE OPTIONAL INTERCONNECTING SPECTRATUNE TONE/PITCH ANALYSIS/SPECTROGRAM SOFTWARE HERE.

(A Permanent-Use Copy of each software item is free.)




EXPLANATION/INSTRUCTIONS

(it helps to have open a copy of the MAIN Music Visualizer Page for reference to screenshots while reading this):
. Note that, on that page, Screenshot 6 is the most recent, showing all the controls I have gradually added.

When the program is started, you are prompted to enter a MIDI file. (Be aware that the main window will not draw completely until it is selected.) [It's actually a little misleading that I wrote the program to require a MIDI file to start, as you actually don't use the MIDI file for certain useful functions of the software: specifically, discrete pitch-matching and continuous pitch-matching, against sung and other pitches, and for interval identification. If you intend only these uses, just open some MIDI file. Many are free to download from all over the internet.]

The program does not write to MIDI files, it only reads them. Thus, you don't have to worry about changes you make in the instruments, colors, etc. winding up in you original MIDI file.

To avoid mouse-pointer misbehavior on certain manual play functions, you have to turn enhanced mouse pointer precision off in Windows while you are running the program. (Control Panel, Mouse, Under Pointer options "Enhance Pointer Precision" off). It is not essential that you do this to test out and explore the program, but you will get the mouse pointer jumping around incorrectly in certain manual play functions unless you do this. [I have my computer now set this way permanently, and I don't notice any negative results with any other programs.]

The program works adequately with Microsoft's built in software synthesizer ("Microsoft GS Wavetable SW Synth") used to generate the MIDI sounds, but if you have around even a modestly priced (e.g. $120 Yamaha) keyboard device that plugs in via USB to your computer, you will find you get both better sound, and quicker response if you select this as the MIDI output device. NOTE THAT when you change MIDI OUTPUT DEVICE, this usually winds up being done after the instrument selection records are hit in the MIDI file you are playing. You might get only piano sounds until you backup my software to the beginning of the MIDI file with the "<<" button.

Upon Starting the Program each time, you will usually want to immediately make sure Key Context (top right) and KyAn (bottom right) are checked. (This is the default since 2009, so never mind, and you probably won't have a need to uncheck them.) Actions of those checkboxes: The former causes the grey and white key context indicators on the piano rolls, and when both are checked, you get the tonal center perceptograms.

The program opens with the top piano roll, bottom piano roll, and the chord-based key-help for all 24 potential keys showing (starting is the 2009.09.09 version). Usually, you will want to find the key of the piece (or first key of the piece), which is easiest if you check "NoTopPR" (which removes the top Piano Roll and enlarges the key help display). Once this is done, you will usually select the key or initial key (details on how below), and then hit the "/" key to toggle to the top Piano roll showing with the key-help (i.e. chord info) only showing the selected key. (And toggle again as needed with "/" when you think you may have a key change.)

Note that MIDI non-pitched percussion sounds should usually be turned off upon opening a MIDI file. (Starting in the 2009.06.09 version, this is the default.) Non-pitched percussion sounds are always on MIDI channel 10 by MIDI convention, encoded in MIDI without the usual pitch meaning, and mess you up in all of my visual output, where they are treated as pitches. Thus, it is smart practice to always turn any channel 10 sounds off as I have done in screenshot 1 on the main page (i.e. the on button is not checked for that channel 10 drum track). (The only reason to keep the non-pitched percussions on is to hear them, but mainly users of my program will be concentrating on the pitched sounds of the music.)

  • Without a basic knowledge of music theory, the user will be able to correlate melodic patterns, and perhaps dissonances, with the written music, and should be able to observe the repetitions and near-repetitions in the musical form. (Further, using the Spectratune in the mode where it interacts with this program, sing-along intonation guidance will be available.) However, for the maximum music comprehension benefit, the user should have, or be acquiring, at least a very basic knowledge of music theory: of key, chords, chord progressions, passing tones, for classical music also secondary dominants, secondary function, etc, from either an elementary harmony or an elementary music composition book geared towards the type of music of your main interest. I believe the software is of great benefit to be used while reading along with a harmony or composition book, especially as many of the example music in the book will be available on the web in MIDI form for free. (Since the program shortcuts fluency in traditional music notation, music students in academic programs should be careful not to shortcut developing that fluency, in accordance with the guidance of their teachers.)


  • The top Piano-Roll view is an ordinary Piano-Roll view.


  • The bottom Piano Roll shows all notes overlaid on one octave. It is designed to make it easy to pick off harmony, chords, non-harmonic tones, etc. (E.g., see the last two chords are a V-I cadence, with no non-harmonic tones, and with the V being a seventh chord and the I being a triad, and both being in root position.

    The software displays in the context of a user-selected key (or candidate key), which would typically be set by the user as a (possibly only suspected or to-be-tried) key of a song or a portion of a song or portion of a piece of music. The user selects this key is selected via the "Ky+" and "Ky-" pushbuttons, and the "minor" checkbox. Alternatively, one can use the middle mouse wheel. There are also hot-keys to rapidly switch to a non-adjacent key, described somewhat below.

    When one selects a key/candidate key, the grey/white overlay on the piano rolls will indicate which notes belong to the scale for that key. Further, the tonic will normally be at the bottom of the bottom Piano-Roll display. ("Normally" means unless one uses the arrow buttons to the left of the bottom piano roll to change the starting note on that bottom piano roll. I stuck these buttons in to allow one to confirm the various triads very very easily from the bottom piano roll.)

    The user-selected key / candidate key also affects the various perceptograms, in a way described farther below.


  • Swipe-play: If you have your left mouse button down when anywhere below the top piano roll, you play all notes at whatever time you are pointing on. (You can slide through the score at your own pace this way, if you hold that left button down.) In this mode, to allow a nice slide through without having to reposition the scroll time position, if you have the mouse pointer down on the second piano roll, it will scroll the score half a screen ahead when you are near the end of the currently visible part of the score. [To make the scroll-half-screen ahead work without overshooting, you have to put the Windows Mouse Property (Under Pointer options) "Enhance Pointer Precision" off, or you get an overshoot.]


  • If you hit your left mouse button when pointed on a note in the top piano roll score, your hear that note in its instrument in the score. In any other place in the top piano-roll, you hear the piano version of the note.



  • To try and make tonic-related, chord-related, and melody-related sounds associated with a key or your candidate key very conveniently available:
    When "Key Context" is checked (the default):

    a1)If you RIGHT click on any of the first few notes above a tonic in the area augmenting the top Piano Roll (with gray and white bars but to the right of the measure/beat grid, e.g. beyond my measure 41 indicator in screenshot (2a) on the main page) you get a key-related sound (for the key you have set to): tonic, or tonic chord, or ascending or descending scale, or cadence, random-order scale, I-IV-V-I chord key cadence, or first 5 scale notes ascending followed by descent to tonic (depending on how many notes above the tonic you right-clicked). The octave of all these sounds is based on the octave where you right click.

    a2)For the bottom (i.e. all-octaves-overlaid) piano roll, you can do the same right-clicking in the augmenting area to get a key-related sound. Since that piano roll doesn't overlay octaves, the octave of the key-related sound is chosen for you, but you can raise or lower the octave by right-clicking on the two top notes.

    b)if you do the right clicking anywhere else besides the augmentation on the top piano roll, on a non-chromatic note, you get the corresponding triad. (Minor scale: non-chromatic note here means in the harmonic minor scale.)

    c1)Having done (a1) or (a2) or (b), if you right click with mouse below the top piano roll except not in the augmentation of the bottom piano roll), you get the last sound you got from (a1) or (a2) or (b). By putting this (c1) in, I am trying to make critical reference sounds available as you pause from listening interactively (i.e. swiping) the score.

    c2)Having done (a1) or (a2) or (b), if you right click with mouse when the shift key is depressed while pointed over a 24-potential-key chromatogram (i.e. this includes the area for (c1), but is just a part of it), you get the the last sound you got from (a1) or (a2) or (b) transposed to the candidate key whose perceptogram you are over when right-clicking.

    d)If you hit the middle mouse button anywhere on the screen, you get the I-IV-V-I chord cadence (in the you have set to).

    Also: : If you hit any of the 13 keys that run across: 1 through 9 0 - = and backspace on the top row of the typewriter-portion of the keyboard, you get the set-key-based notes "Do" to "Do" by half-step (one octave above the most recent octave for which you did (a1) or (a2) or (b) prior). If you do the same thing with the keys one and two rows below this, you get the same notes an octave lower than that, and two octaves lower, respectively.



  • When you read in a file with key information encoded, the key-context display overlays automatically. (However, be careful that in classical music, key changes often within a movement. It may also change in other types of music. Also, I have seen some MIDI files with incorrect key encodings, so you may have to beware.)


  • My minor key show in the display, when neither the "asc." or "hrm." buttons are checked, is the natural minor=descending melodic minor. [NOTE: The "asc." and "hrm." buttons are not shown in the screenshots--it is a newer feature.] These check boxes allow you to get the other minor scales.


  • On the top, and the side of the 1st piano roll, are 3 little white boxes. The small one zooms in (when you click on it), the big one zooms out, and the medium sized one is for grabbing and moving (when you drag it).


  • When there are more than 14 tracks in the MIDI file, you get access the information and control buttons and checkboxes for the remaining tracks by hitting the "v" or "^" buttons that I put right next to the "Ovs." button. I also have a little red box showing right above each button only when hitting the button will get you more tracks. (This feature starts 8/19/09 -- before that date, extra tracks will overwrite stuff at the bottom, making a mess of the controls.)


  • There is a "start marked section" marker and an "end marked section" marker to allow you to tell the program, or your mind, to focus on just a particular limited section (timewise) of the midi score. Those markers are green and black, respectively, and are shown in the screenshot just above the top Piano Roll. You set them by left and right clicking the mouse, respectively, in that same zone there where the markers appear. These mouse clicks are done: when the full (non-overlay) Piano Roll is on the main panel, above that Piano Roll; when the main panel has only a chord-overlay Piano Roll, you click over that. (The full non-overlay piano roll, when on the non-main detached panel, shows the markers, but you can not set them from there.)


  • The markers are used for loop-play, and also in one of the "% non-chromatic calculations".


  • You can set up to 10 positions in the MIDI music for rapid switch to and from these positions. You can set them only when the MIDI file is not playing, by hitting the "Memorize a Play Position" button (then entering memory number 0 to 9). While playing or not playing a midi file, you can move to any set position by hitting Shift+0 for memory 0, etc. Note that you must hit the digits at the top of the keyboard, not on the numeric keypad, for this to work. Also note that the memorized positions will not be retained next time you open the same MIDI file (this software does not write anything to the MIDI file--it is a read-only program).


  • You can change each (non-percussion) instrument that plays from what it is in the midi file, to any of the standard 127 midi non-percussion instruments. This does not write to the midi file -- it just holds for the duration of the session. The feature is new to the 3/30/09 version of the program. The buttons you have to hit to reset it are not shown in most of my screenshots, but are next to the "On" and "Mel"ody checkboxes for each track. (Right next to that, new, is the "midi channel" that the midi file instructs the track to use, from 1 to 16.) You can also change the reference-instrument, that is, the one that is used to play all non-midi-file reference notes and chords. (It starts out as piano).


  • Besides being able to change each midi file instrument and the reference sound instrument as in the last bullet point, you can also define a secondary "quick-switch" instrument for each midi file instrument and the reference instrument. (This choice comes up in the same prompt as the one for changing the instrument.) When you are playing through the score manually (i.e. not with the play button, but by moving the pointer across the 2nd piano roll or below with the left mouse button down), or when you are generating reference notes, holding the right-arrow on the keyboard starting before or at the same time will sound the sounds in the secondary instrument. [The reason I put in this feature is to allow quick instrument switches in cases when you are trying to improve your sense of pitch detection across the timbres of the different instruments.]
  • When manually playing through a score, you can also hold the keyboard up-arrow or down-arrow to raise or lower the sound of all the notes in the score by an octave. [The reason I did this feature is to help with cross-octave pitch recognition.] Both this and the last feature start in the 2009.04.21 release.


  • The ability to change the reference sound instrument is designed to allow varying instrument for pitch perception exercises in and against music. One such use is to set it at the same instrument as a line of melody in the midi score being listened to, to experiment with melodic alterations and position in melody. Since I want you to be able to get the reference sound's spatial position, reverberation, etc., of the test sounds to match those of the midi file instruments exactly if you want, the reference instrument can also have its MIDI channel used adjusted. Since the midi file usually has resonance, spatial position, etc. coded for each channel, if you adjust the reference instrument Midi channel to the channel of the track whose instrument you are matching (and also possibly adjust the "reference notes volume" slider), you should get a very good match. (That is, I don't reset the reverberation, etc. when I send down the reference sounds, so that information is the same for the channel as what the MIDI file sets it to.)


  • Also not shown in many of the screen shots because it is new, the name of the midi file that is opened is now displayed in the frame of the main window in case you forget what you are playing.


  • To allow you to use your own favorite and instrument-informative standard colors for each instrument, I have buttons that allow you to change the color that each instrument is displayed in in the Piano roll. (The buttons are just to the right of the color displayed in the track key. They are not shown in most or any screenshots, however, since they are a recent addition.)


  • My software has two types of "Tonal center Perceptograms" The first is "distributional" (black and red shades--described below), which is usually the more helpful one in bits of music where there are not a lot of simultaneous notes (i.e. chords). The second is the "chord" version (red, green, yellow, and orange shades--described farther below.) Both can be displayed for all 24 potential keys (where they are used to determine key, key characteristics as the music perceptual features move across keys or sometimes out of all keys to perceptual non-keyness and key-confusion), and in a chosen-key version, where you get a larger, easier-to-see display for the key the bit of music is in. Often, it is helpful to look at both, so you can rapidly switch between "distibutional" and "chordal" using the "b" and "n" keys (pre 9/7/2011 these were "m" and ",") at the bottom of the keyboard. (Further details below--note actually the "distributional" has 2 different variants, described below.) Actually, when concerned with tonality, since it varies so rapidly in much music, with very brief suggestions of excursion into another key, and since the elements of tonality are both chordal and melodic, you usually have your finger on a number of keys on the bottom row of letters of the keyboard. Besides "b" and "n" for switching type of perceptogram: if you don't have a big enough screen to see adequately both piano rolls and the 24-key perceptograms, you use "." and "/", for switching between all-potential-key and chosen-key perceptograms (with the top piano roll knocked off for room when the all-potential-key perceptograms are displayed). You can also use spacebar to switch between 3 useful configurations of top piano roll on-off and # of keys in the perceptogram. You also us "z","x","c", and "v" for rapidly changing the chosen key. (The functioning of these keyboard keys is described in detail elsewhere on this page.) Further, you are usually doing this keyboard stuff with the left (or you non-dominant) hand, while the right hand controls your actions in manual swipe-play mode (right mouse button down, mouse over bottom piano roll or lower) to keep you going throught the music at your own interactive pace. The screenshot just below shows a case of this.


  • Tonal center Perceptogram--"Distributional" type (shown in red at the bottom of screenshot 1 on the main page). To turn this on, click KyAn at the bottom right (this label used in the current software version). For each of the 24 potential keys, it gives a visual of two things: one is in black shades, the other in red shades. The black shades are a representation of what proportion of time the sounding notes are not in the key (i.e. are chromatic to the key), darker for more chromatic. The red shades represent the proportion of sounding-note time for non-rest = "active" (including chromatic) notes in the key. Darker red represents more active+chromatic tones. (Note: rest notes are tonic, mediant, dominant for the key. The other 9 are non-rest, = active+chromatic.)

    As you might guess, you look for potential keys by looking for whitish areas in the black-shade-zones for the key, which means the music is tending relatively towards non-chromatic tones in that key, relative to other keys. The red zone displays an additional sound characteristic in the key -- whitishness there means a less tense sound. It often can be used as a tiebreaker when you have two or three keys that are all white in the black/white chromaticity.

    This typically will narrow you down to 1 or 2 or 3 potential keys in a segment of tonal music -- beyond that, you look for chord patterns (lots of tonic chord "I" in the true key, V-I and other cadences where the music emotionally pauses), etc. and possibly other patterns (leading tone usage) associated with a key.

    The perceptogram plot shades shown below every tone-combination-grain of music X, is based on the music starting a certain number of tone-combination grains back from X to X. This total number of grains defaults at 6 (i.e. 5 grains back), but you can adjust it from 1 to 40 with my 3rd slider up there. Also, I have stuck in an experimental option to do the plot on just presumably melodic notes -- where I have used at each time the highest tone among the tones of shortest duration. You get that if you check "Mldc."

    [Note that in minor keys, the black (chromatic to key) half of the display treats as non-chromatic whatever is in any of the scales checked in my 3 checkboxes that appear after the "MinorNHM" text, where "NHM" indicates the button-order natural, harmonic, and melodic ascending. This functionality was added starting in the 9/10/09 release.] As you might expect, there will be times when both a minor scale and the major with tonic 3 half-steps up will be almost white at the same time. The way to distinguish the key is chords, and usually the wrong choice of the two will show not enough tonic presence.

    Also note that when the graphic key-help is on, there is a lot of processing going on. I have noted some non-smoothness when the MIDI file plays on my PC with the graphic key-help on, so you may want to keep it switched off if you are not using it.


  • Tonal center Perceptogram--"Chord" Type [This is really the more useful perceptogram, but the "distributional" is useful or better in some cases]
  • You get this when both KyAn and Chrd are checked in the bottom right. If you also check "1:", you get the tonal function version for your chosen key, rather than the 24 potential keys. As shown in screenshots 4 and 5 on the main page, green represents tonic function, red dominant function, yellow sub-dominant. The substitute chords are in the same color, but a little more washed out. Orange is III function. The height represents the number of pitch classes present. There is an adjustment that you will want to make based on chord richness for your piece of music. You can adjust the "top of the scale" for the graph from 1 chord note up to 5. You do this by using the "N-back/MxNts" slider. In this mode ("Chrd" checked for chordal=chord functional analysis), the meaning is MxNts=Max Notes. When set to >5, it processes as 5. In setting this slider, you want to set it so your richest chords (most separate pitch classes) run to near the top of the plot. [Details: my chord-finding algorithm is primitive, but it is very helpful if you understand how it works and practice with it to confirm you see how it works. During the time when each simultaneous set of notes is sounding, it picks the diatonic chord (of the 7 diatonic chords) with the most pitch classes, allowing 1 missed chord note after the chord's starting note. There may be more than 1 chord with the maximum number of its pitch-classes found, but not usually (except 1-class-present chords). In this case, it picks the lowest numbered root. (Also, if the third of a chord is not present, it plots at a height corresponding to one less than the number of pitch-classes present. I did this to help distinguish each major from its parallel minor key). Note that one pitch class of a chord present counts as a chord, but the plot will be very short if MxNts is set to >1. [Note that the chords in the minor keys default at being recognized if based on any of the natural, harmonic, and melodic ascending scales. You can switch off any one or two of these if you want to, using my 3 checkboxes that appear after the "MinorNHM" text (where "NHM" indicates the button-order natural, harmonic, and melodic ascending). The MinorNHM boxes also affect the black (chromatic-to-the-key) half of the distributional perceptograms described above, starting in the 9/10/09 release.]

    Chordal "lack of fit" feature: These items are added to the color-coded tonal function plot(s) by clicking on "Chrd Lof". They are designed to aid in finding key, borrowed and altered chords, secondary dominants, and non-harmonic tones. What is added is that for each key in the color chordal function plot, a diagonal criss-cross goes up any additional distance (up to the set plot maximum value MxNts) to the maximum number of notes in the best fitting chord in any key, and further, a one-direction diagnonal takes you any further additional distance (up to MxNts) to the total number of pitch classes in the bit of music being analyzed. The diagonal criss-cross thus may indicate this is not the key of the chord (either not the key, or a secondary dominant or borrowed chord or Neopolitan/other altered chord). The diagonal criss-cross may also indicate non-harmonic tones, with the better fit of some chord in another key being just a coincidence. The diagonal slash tends to point out non-harmonic tones. See screenshots 6 and 7 on the main-page for an example. ( Also, note that, as stated, the settable parameter "MxNts" truncates the plots, so make sure it is set high enough -- depending on the density of the chords for best readability without loss of information.)

    Chord position feature: When color-coded Chord analysis is engaged "Invsn." can be clicked to show inversion. Inversion for non-root-position chords are shown with a horizontal black mark within the chord. The scale is that on the right (not explicitly numbered, but going from 1 on up by 1).

    Note these limitations on the "chord" perceptograms: (a)They show what is going on chordally very literally during every bit of time when a particular set of notes is sounding simultaneously. This differs from what a music analyst would find, in that the music analyst accounts for various blurring when sounds are non-simultaneous, such as arpeggios, brief non-harmonic tones, and other things. The music analyst is of course being reasonable, in that perceptually the blurring occurs in the listener. Thus, the chord perceptograms are not the last word, and you can investigate further using the pianos rolls. (At any rate, note that there is some subjectivity that is unavoidable. From the 3rd edition of Piston's Harmony, p. 132: "The question ... of whether a vertical combination of tones is an independent chord, or just some melodic tones which happen to harmonize at the moment, depends on various considerations, and is often open to differing interpretations.")
    (b)Secondary dominants and borrowed chords are not part of the direct color-code for each key, but you can catch them when you see lack of fit in the current key, and generally identify them using the all-potential-key chord perceptograms.
    (c)In classical music, Neopolitan 6ths, the various nationalities of augmented 6ths have to be determined manually using the bottom piano roll once you see lack of fit in the chordal perceptogram.



  • (Older--new color coded schemes described above are really much better) Basic key determination help: when key is unknown for a song or a section of a piece, the 3 "%NC" buttons determine % of notes that are non-chromatic in every major key. The first button does it for what's on screen, the second for between markers, and the 3rd for the whole file. (If specific tracks only are selected, it does it just for the notes in those tracks.) The output appears below the lower Piano Roll. Note that the labels for those percents are major key. For natural minor, you go down 3 half steps. Note that within minor, you have to bear in mind that my calculations are for natural, and make mental adjustments. NOTE: For the output of this mode to display, you have to have "KyAn" not checked. (When it is checked, the newer color-based Key Analysis overwrites it.)


  • More on key determination: Here are the basics of how the software will relate to key: In a piece of pop or folk music, key often does not change, or changes maybe once or twice in a song. In classical music, key typically changes within movements, often frequently. Also, the degree of key-fittingness (also called the "degree of tonality") may vary through the piece in a key, as an intended feature of the music, and this is apparent in the listening (in-keyness conveys a comfortable familiar feeling). Often, clear key-unfittingess will be used to jolt one's sense out of one key and into another. Further, new key may be hinted at or the listener may be teased around with ambiguous key, until a new key is established. Certain forms (e.g. sonata) have traditional patterns for key, which later composers (Beethoven, etc.) take liberties with.

    In a given bit of music, the key will fit the Piano-Roll key overlays pretty well (up to standard exceptions: non-harmonic tones, borrowed chords, and for classical music incursions into secondary function, secondary dominants, etc, and "pedal" notes). That is, mostly the notes will be non-chromatic, that is, not in the gray, e.g. like in the top screenshot on the main NORMS MUSIC VISUALIZER page.

    Other clues: in the correct key, the chords will have a commonness and progressions appropriate for the key, including cadences (seen in the visualizer most directly by my chordal representation colorations). (You can read about common chord progressions in composition or harmony books geared to whatever type of music you like.) The commonness of chords and sequences of chords depends on the style of music. In classical music before the 20th century, the V-I progression is relied on heavily to cue the listener to key-- thus, in type II key determination help, look for deep-tomato-red immediately followed by dark-tomato-leaf green. (Red then green may have a little interruption due to my method being imperfect in dealing with non-harmonic tones=passing tones, etc.--you can analyze through this using the octave-overlaid piano roll immediately above.) Importantly, the green, in particular tomato-leaf green (a "I" tonic chord), occurs where the music sounds "at home"--sort of relaxed (and it is easy to hum the tonic at this point in the music). If you don't recognize "I"s immediately, you should begin to recognize the sound as experience develops your neural pathways.

    Also musical phrases tend to end in full cadences or half-cadences: thus either the tomato red followed by tomato-leaf-green (full cadence), or just tomato red (half cadence).

    Further, the notes that make their way to the melody or otherwise stand out in their lines ("motive notes", etc. ) will have higher commonness for less tense scale positions, and will be used in a fashion characteristic for the scale: e.g. melody will sound at rest in the 1,3rd and 5th scale notes, non-scale notes will usually be approached and left by half-step. Also, the leading tone will tend to lead to the tonic. 3-2-1 scale positions may also be common in leading to the tonic. You can also listen and hear that the melodic notes fit the key, just as the chords fit the key. In addition, apparent transposition of a bit of melody or motive which appeared earlier when key was clear may be the key to the current key. Exactly the way the melodic sounds and harmony fits the key will depend on the type of music, so you pick up recognition of key with experience.

    All of the visual cues from my visualizer will have their aural counterparts. (This software should help you correlate the two.) The particular key, and the fittingness of the key, should vary together aurally and visually.

    Note that, in certain sections of certain basically tonal musical pieces, key is unclear or ambiguous, even to the experts. This makes sense, given that key and key-fittingness and ambiguity is really just something not fully defined, but rather something in the handling of the harmony and melody that is ultimately defined by the perceptual response that is picked up and perceived by more experienced and/or trained and/or gifted listeners.

    Also, note the form of the music: sonata, binary, minuet, etc. often has precise or probable implications about the pattern key will follow, and this is a significant clue.

    My explanation of key, of course, is best understood if you read at least some light music theory, as from selected sections of a basic theory or composition book.

    A nice illustration of how key varies in classical music, often tentatively and with suggestions only, can be gotten by using Kelly Dean Hansen's analysis of opus 98 = Symphony 4 of Brahms from here. (You can find free midi files of that work at Classical Music Archives, where a class of membership that is free will allow you to download up to 5 midi files a day.) For Brahms #4 Symphony, checking the middle box only after my "MinorNHM" seems to work best for me. That is, Brahms seems to be doing minor harmonies with only chords from harmonic minor.




  • To make room for the various 24-potential-key displays on the bottom, you can not display the top piano roll by checking "NoTopProll"


  • Rapid (hot-key) toggling of both simultaneously "NoTopProll" and "1:" (vs 24 key) key help ("KyAn") is done for the duration of the keypress by pressing the period key, and permanently by pressing the "/" key. The main purpose of this is to allow rapid switching between showing all notes (top piano roll) vs color-coded tonal chord function for all keys. If you start with exacly one of "NoTopProll" and "1:", you get this alternation.


  • Rapid (hot-key) switch between 3 modes: top piano roll plus 24-key perceptongram, top piano roll plus just chosen key perceptogram, and no top piano roll plus 24-key perceptogram is done with the spacebar. Note that I have made the program remember the proportion of screen that each item holds that you adjust to in each of these modes. Note this spacebar feature starts in the 10/2/09 release.


  • Rapid (hot-key) toggling between "chordal" and "distributional (non-melodic=all notes) tonal-center perceptograms is done by hitting the "period" key. There is also a rapid 3-position toggle which also adds the "distributional melodic" perceptogram into the mix by hitting the comma key.


  • Rapid (hot-key) change (or test change) of candidate-key (grey/white overlay, etc.) is possible as follows:

    (a) in either the bottom or top piano roll, point the mouse to a pitch-class while the mouse is not being clicked. Hitting keyboard "z" temporarily changes key to that major, "x" to that pitch-class minor. (When the keyboard key is released, you are back at the original key.) Keyboard "c" and "v" do the same changes, but the change holds after the key is released.

    (b)If you have a 24-key key-help being displayed (not 1-key mode: all 24), you get the same kind of actions when you point over a region clicking the same keys. Since the mouse position takes care of the major/minor distinction, "z" and "c" both get you temporarily to the requested key, and "c" and "v" get you there permanently.



  • You can make a detached-window full-height copy of the top (non-overlayed-notes) Piano Roll (added 9/7/2011). Do this by checking the "detxPR1" (="detached extra Piano Roll 1") checkbox on the main window. (This detached window is "inactive" and does not support the touch-and-play-note features of the top Piano Roll when on the main window. Further, the vertical range of notes it shows is controlled by and is the same as those on Piano Roll 1 when shown on the main window. Thus, if you want to adjust the vertical range of notes shown on the detached Piano Roll 1, you have to get a Piano Roll 1 on the main window (i.e. use spacebar) and adjust from the main window.)


  • The "mask NP" checkbox stands for "mask non-playing". When something is playing automatically, or interactively (i.e. by left-clicking your mouse between the two piano rolls), only playing notes are displayed. The purpose is to let you learn to pick out note relation to tonic (i.e. melody track only selected) or chord, non-harmonic tones, etc. That is, you close your eyes or look away, slide to a new little bit of music, listen, guess what you have, and confirm or find your mistake.


  • You can transpose. (Note this is playback only. The program only reads MIDI files. It does not write them like a sequencer would.)


  • You can use the program without a separate MIDI device by using the (default) Microsoft software synthesizer. But if you happen to have a MIDI-compliant keyboard or something that you can connect via USB cable, you should get clearer sound, particularly when multiple notes play. This is so even with modestly priced keyboards of below $200. (You select the MIDI device in a small panel that comes up with my software--not shown in the screenshot.)


  • You can open two instances of the Music Visualizer on the same MIDI file (without even copying the file). This allows you to compare, say, how a theme is handled in one part of the music vs. another, and generally study the musical form.


  • You can select specific tracks. (This affects what is displayed, what is played, and what is analyzed in the % non-chromatic analyses.)


  • Watch out for percussion instruments that play without a specific pitch, like most drums. They appear in the MIDI piano-roll views, and are analyzed with a specific pitch (e.g. % non-chromatic analysis). You will probably want to deselect those tracks in the checkbox.


  • If your MIDI file has a melody track or other tracks that you want to focus on, you can instruct the program to highlight those tracks (in bright yellow) and display them over other tracks. To do this, check the tracks in the second column of track checkbuttons. Here is an example where I've done that. It is a bit of popular music, where the user has determined and set the correct key, and also turned off the tonally-misleading percussion track. The user is manually moving around the music, listening. Note the clear display of melody, chords, non-harmonic tones -- all within the key context. (In music where melody shifts instruments/tracks, you of course want to keep changing the highlighted tracks as you work your way through the music. Also note there is an alternative use of the highlighted track: if you highlight the bass, then you get root or inversion from the bottom Piano Roll alone. However, you probably will want to glance at the top Piano Roll, anyway, to see how the voices move into chords.)



    (Detail: You might also note that, generally, when notes from different non-highlighted tracks overlay each other, my program is wishy-washy about which one goes on top, and this varies as you play through the file. This behavior has to do with my algorithm choice, in an attempt to get quick program response without a very complicated algorithm.)


  • To adjust my sliders (such as the one at the top-right in my screenshot), left click on where you want to be.


  • To adjust relative size of the two piano-roll areas, drag that little white box between the two piano rolls on the right.


  • To shut off the program, click the x at the upper right of the main window of the program (not the MIDI device window).


  • Learn to sing-along/hum-along/play-violin-along using intonation indications (while learning): If you want this feature, you have to also install my (free) Spectratune Software. The Spectratune, also referred to herein as Musical Tookit Item # 1, can do full real-time spectral analyses on musical sounds, and, when there is just one pitch (as with a person singing, one instrument, etc.), it also can directly detect that pitch. The Music Visualizer can interface with the Spectratune, and pull the single-pitch only (not the spectrogram) over to the Piano Rolls. Thus, you get very direct tonal guidance for your singing/instrument playing when you want it. (The MIDI sound coming out of the Music Visualizer of course has to be going through headphones, so it doesn't get mixed with the single pitch singing being detected.) Importantly, note that both Piano Rolls--including the bottom harmony-analysis Piano Roll, get the pitch indication. In a midi file with harmonies, you can use the to get a sense of singing in harmony. Also, note that the tonal guidance on the Music Visualizer works so that when you are in the middle of the note's vertical area, you are right on the center of the note. If you are at the bottom, you are half a half step (i.e. 50 cents) low = right between 2 notes.

    Now, note that, if you will use your MS software synth as a MIDI device, that probably goes through your computer sound card. If you want to get a pitch check on your voice or instrument while notes from the MIDI file are playing, and if you feed your sound-card into the Spectratune for tonal analysis, the synthesizer sounds will interfere with your singing sounds and you won't detect the correct pitch. A handy solution, if you have a web-cam with a mic, is to use the web-cam as a second sound card, and feed that into the Spectratune. (To avoid interference with the playing MIDI file, you listen to it through headphones, and you hum into your webcam's mic for tonal confirmation.) [I've discovered that many sound-cards, including my own, offer an alternative, that would let you use the sound-card to generate MIDI sounds, and at the same time send separate digitized sound from a good microphone to the Spectratune. My own Realtek sound card allows this when I "enable record multi-streaming". Also note that if you use a separate device to generate the MIDI sounds (such as a MIDI-interfacing electronic keyboard), then you can plug a good microphone into the sound-card, and not worry about whether it can separate MIDI sounds from microphone sounds for analysis. Yet a 3rd possibility, if you use sound-card-based MIDI sound synthesis, is to buy a separate USB mic-inputting sound card, which you can find on the internet (including Amazon) for $10.-$40.]

    To have the Spectratune pitch show up: Start both the Spectratune and the Music Visualizer. Get the single-pitch showing up on the Spectratune (its arrows), doing any adjustments so it works in the whole note-range of interest. In the Spectratune, check the "Single Pitch-->MIDI" box. (This starts the Spectratune broadcasting its single pitches in a continuous "stream".) Then, in the Music Visualizer, check the "Pitches-->" (which is "SpectrtnPitch->" in lastest (post-screen-shot versions), which starts Music Visualizer receiving any already broadcasting stream from the Spectratune which has not already been received by another run of Music Visualizer. In addition, check whichever of "P1" and "P2" you want to display. (These stand for "Pitch on Device 1", and "Pitch on Device 2" -- Spectratune can work with up to 2 devices at once -- e.g., a sound card and a web-cam mic.) The particular items I have put in italics are needed to have the pitch picked up. You may have to turn off Music Visualizer reception, then turn off and on Spectratune transmission, then turn Music Visualizer reception back on.

    (When the checkbox labelled "Ang." is not checked, the height of the pitch marker denotes the pitch. When "Ang." is checked, the pitches from the Spectratune are shown with an additional cue: a pitch marker needle angled like a pitch-meter on a chromatic tuner: vertical needle means pitch is right on the note, and otherwise the "meter" runs from 50 cents (=half a half step) below note center at full left to 50 cents above note center at full right. You can also glance over to the Spectratune for precise pitch feedback, of course. NOTE: This particular "chromatic tuner" form of the pitch-from the Spectratune cue when "Ang" is checked, is an improvement over my older version, and is in versions from 4/1/09 on.)

    Also note, you can transpose the pitch from the Spectratune to show from 3 octaves low to 3 octaves high (octave transposes only) on the Music Visualizer. Just hit the "SpPiTrOct" button to raise the transpose amount 1 octave, or hit the little "v" button to the left of it to lower 1 octave ("v" button starting in 8/19/09 version). The purpose of this is to support singing exactly a desired number of octaves above or below the melody or some other line of the music.)


  • SHOWING OVERTONES: When you check "Ovs."
  • overtones display in blue for any midi note being sounded (by manual play-through only). They also display in red for any sing-pitch-detection being fed to the Music Visualizer from the Spectratune, and display in green for any continuously-varied MIDI pitch being generated (i.e. via F1 to F5 keys). See screenshot (5) on the main page for a picture, (and note I changed the overtone color for sung pitch from black to red since then, to help distinguish it from the blue). Note that the overtone lines get shorter as the overtone gets higher in number, and range through 3 octaves of overtones for each note. Also, as a technical note, these overtones shown are not actually measured -- they are the theoretical overtones based on the note. (Spectratune, of course, can be used for actual measurement of the overtones if that's what you want to do.)

  • Generating Midi Tones of CONTINUOUSLY VARIABLE PITCH:Option 1: When you press the "F1" key with the mouse pointer over the top Piano Roll, a continuous tone sounds at the pitch you are pointed to, varying continuously. A red exact pitch pointer appears, just like the one use for when the from-Spectratune sung pitches are displayed. Option 2: When the mouse pointer is below the top Piano Roll and you press "F1", you get a continuously varying pitch, that varies by the up and down height of the mouse pointer. You can raise and lower the center of the pitch range by hitting "F2" and "F3", and you can enlarge and shrink the range (i.e. # notes covered) by hitting "F4" and "F5". Note that the Option 2 functioning does not work when you are playing the MIDI score via the Play button, but DOES WORK when you are playing the MIDI score manually, or playing reference sounds, via the left or right mouse button down when below the top Piano Roll. This allows you to experiment with pitch-match and sound of harmony with slightly varying pitches.

    Note that the instrument that sounds for the continuous pitch is the 2nd (quick-swith to) instrument for the reference sound. When the program starts up, this instrument is Church Organ, which is a nice sound that doesn't die down over time like Piano. [Also note this feature was added in the 5/4/09 version.]

    If you are manually playing through the score of music, trying to match pitch via the continuous pitch, sometimes even at maximum continuous pitch volume (controlled by the "volume: reference notes" slider), the many-instrument sound of the score drowns out the single-instrument continuous pitch. To address this, I put in the "Vsup" checkbox. This stands for "volume suppression", and it lowers the volume of the manually played score only by a good bit.


  • A limitation of my program: you can not change notes, that is, you can not experiment with the sound (or Spectratune Spectra) of the music if it were written a little differently. Some will undoubtedly want to do this, and perhaps also test out the what and why of what, say, Schoenberg says about why you usually lead voices in a particular way, etc. If you want to do that, my suggestion: have a simultaneous session opened of a standard low-cost MIDI sequencing program.


  • If you want to look at music staff notation, a sequencing program will usually do that, as well.


  • Since I have learned some things and have had fun with the Temperley/Sleator Linux-based Melisma Music Analyzer, but hit a problem converting some MIDI files I had to their .notes input format using their conversion program, the Music Vizualizer program produces that .notes format. (Note if you use Music Visualizer to generate the .notes file, you have to move the .notes file from Windows to Linux for Melisma: a memory stick is one way. On two different PCs, the linux network transfer utility should do it pretty seamlessly Windows to Linux transferring in Linux for at least Fedora linux.) Anyway, you can generate the .notes file by using a command under the "File" menu item (not shown in my old screenshots). The .notes file will be generated from just the tracks that are on when you run the command--the reason for this is so that you can get rid of percussion tracks, which are MIDI-encoded as false notes, and will mess up Melisma's interpretation. I also added a time, in seconds, below the bar number, for best compatability with the Melisma output (which is in milliseconds). (However, note that I think their program automatically sets first start note to time 0 sec, or something like that, so you may have to bear in mind an offset when comparing the Music Visualizer timings to theirs.)


  • (End Formal Instructions)

    Below: A pretty good screen-arrangement when key is changing (widen or use the horizontal scrollbar on your browser to see the whole thing). I was fully set up when I took the screenshot: left hand on the computer's keyboard to control perceptograms, and also make available notes of my choice; right hand on the mouse controlling swipe-play through this piece, headphones (open-air) on listening to the swipe play, microphone feeding the Spectratune, feeding back its single pitch to the music analyzer, where I am humming in harmony. (I am using a very modestly price external keyboard which plugs into the computer to generate the sound, so I get better sound, and quicker response, than the Microsoft software MIDI sound generator.) I have a pretty big monitor, so I've managed to get both piano rolls and 24-key perceptogram on at the same time in a readable fashion, so I am not using the "b" or "n" keys, whilst use of the other keys on the bottom keyboard row give me an excellent view and ability to explore what's happening and changing both chordally and melodically/motivically. (I can use the spacebar to toggle to two other views, which enlarge various panels and remove others. Using the toggle is the only way also to get one little bit of missing information in this view mode -- the chord inversion.) This is a bit of a Beethoven String Quartet (#2, mvt 1), and in the middle on screen you see some D minor activity, which changes to D major by the end of the screen. [I should tell you that I manually made the two top piano rolls shorter using mouse gripped on the little white boxes between panels so that the 24-key perceptogram is tall enough. Also, I moved my Windows Taskbar to the side to give maximum vertical room to the Analyzer.]




    Below: Even Better Screen Arrangement when key is changing (New Feature added 9/7/2011). To support music with rapidly changing keys, and to improve the ability to explore the music in terms of those changing keys simultaneously in terms of all of: chords, notes, action in the melodic and other voices, and sound, I have made it possible to pull the top Piano Roll (all notes octaves not overlayed) onto a separate window, thus making it possible to view just about everything you want without anything being to scrunched up to see. (Get the separate Piano Roll 1 by checking the new "detxPR1" which means "DETached extra Piano Roll 1". Then hitting the space bar will cycle to the view without Piano Roll 1 on the main window.) As usual, you can alternate trial keys with either the mouse wheel or the Z, X, C, and V computer keyboard keys, and you can also switch from the chordal 24-potential-key perceptogram to the note-presence ones (as in screenshot 3 above) using the B and N keys. (Do note: controlling the vertical range of notes displayed on the detached Piano Roll 1 is done from the attached Piano Roll 1, so you will have to cycle space-bar to put a Piano Roll 1 on the main window when you need to adjust it. The horizontal range = displayed width of notes can be adjusted from Piano Roll 2, however. ) Also note: you can not use the detached Piano Roll 1 to produce sounds of the separate notes as you can with the attached one.
    And, oh yes, the stuff on the displays of this image is a segment the end part (second "A" part) of the 2nd movement of Schubert's Piano Sonata D959. I have the relevant part of the Wikpedia article explaining that movement in the shot. (The software is set with the correct key for that section, F sharp minor, which affects determines the gray and white overlays on the Piano Rolls, but the 24-key perceptograms would show all keys the same way regardless of the key my software is set to.)
    And in the shot, I have the Spectratune also running in 1-tone-recognition mode, feeding the MIDI analysis software, with me humming along in harmony. (Thus, that little sung-note level showing on both the detached Piano Roll and the overlayed-octave Piano roll. I made sure I was singing pretty close to that C-sharp before I snapped the screenshot, of course.)



    Below: And Even Better In Most Situations:Showing the chord position detectors (1st inversion, etc.) in the chord perceptogram (as in the bottom panel of screenshots 4 and 5 on the main page, but in the 24-potential key version). Before 9/12/2011, my 24-potential-key chord perceptograms did not show inversion--only the 1-key versions did. Note that in the 24 key version, I do them slightly differently to not have black interfere with visual key recognition -- the inversion is shown in white, not black, except when the inversion number is the same as the number of present chord notes in the chord. In that case, I use black, bur for the dark green I chord, I use orange. (The exception case does occur, when a chord is present with a missing component!) Also, note that the number of chord component notes is scaled the same for all 24 potential keys. The scale is shown only once, against the bottom potential key (i.e. here G minor, it runs from 1 to 5, the 5 being set by the user with the slider MxNts.



    GENERAL MUSIC-LEARNING TIPS APPLICABLE WITH THIS SOFTWARE

  • People used to learning in the hard sciences like math, physics, engineering (such as myself) will note progress will have a large component in a more listening/feeling mode than they are used to. That is, they will need to concentrate hard on listening and not be lazy, and listen (and perhaps practice tone-matching, scales, etc.) a lot, but given that, the perception of the sound patterns, perception of key, key-change, key-fit-departure, increasing skills, etc. will actually kind of go into the brain sort of "by osmosis". What apparently is happening is that the very complicated brain is doing very complicated automatic (massively parallel) perceptual learning, beyond your ability to understand analytically, and which perceptual processing is unconscious and which you will be unable to monitor with any current technology. The consensus among the psychology of music people is that much of the quality evoked by music is learned, though there is an innate component (related to what the brain must do to give useful perceptions of the environment based on the physics of sound).


  • You may do well to switch between particular focuses of learning: melody tracking, key-feeling, chords, pitch-matching, harmony-singing, etc.


  • You may do well to consult books on music theory, harmony, sight-singing, or whatever musical aspects interest you.


  • If you tend to like more complicated forms of music, switch between those and simpler folk and pop music (where the elements of music are presented more tractably).


  • Choose a learning task that you feel in the mood for.







  • Return to MAIN Music Visualizer Page







    DOWNLOAD THE MUSIC VISUALIZER FREE MUSIC COMPREHENSION TOOL HERE.





    MUSIC VISUALIZER UPDATE LOG:

    Version 2011.11.11: Key-related sounds now available from octave-overlaid piano roll (right augmentation of it), and when shirt is down, and right click is over 24-potential-key chromatogram, you get key-transposed critical sound.

    Version 2011.10.25 (mis-labeled 2011.11.25): 10 rapid-switch position memories added.

    Version 2011.9.14b: Markers now show and are adjustable above the Piano Roll 2 (the octave-overlaid Piano Roll) when it is the only Piano Roll on the main panel. (This is mainly to support setting a small auto-replay "loop" area when the only Piano Roll 1 is on the separate panel.)

    Version 2011.9.12: Chord position (root, 1st inversion, etc.) now shows in 24 key chord perceptogram. Also, fixed a bug added in prior version, where adjusting the boundary between the bottom and next to bottom main window sub-panel didn't work correctly.

    Version 2011.9.07: Made a detached-window version of the top Piano Roll available, to support having everything visible at once when exploring key in music with varying keys. Moved keys that toggle perceptogram between colorful chord and red/white notes-present forms to "b" and "n" (from "m" and "," for the same reason.

    Version 2009.10.28: 24-key perceptrograms have key/candidate key appear 7 from the top (instead of the prior 5), which I think makes secondary dominants easier to spot. Also, mousewheel can be used to adjust key/candidate key.

    Version 2009.10.02b: Spacebar 3-way toggle of screen setup, with screen-division memory added, fixed problem that may cause intermittent erroneous dark-black distributional perceptograms on certain window sizings.

    Version 2009.09.24: Lock off "." and "," buttons when both piano rolls and 24-key chromatogram are displayed, since they are not intended to be used then, and in that situation they mess up the screen

    Version 2009.09.22: Slight adjustment of display to get rid of a bit of wasted vertical space. (My idea was to support the option of having both top and bottom piano roll, and 24-potential-key perceptograms all displayed at the same time, which works now on larger-sized monitors, especially if you move the Windows taskbar from the bottom to the side (allowing full-monitor height for this program).

    Version 2009.09.10: Extended MinorNHM functionality to cover the non-chromatic (black) half of the distributional perceptograms. Also, fixed a minor problem with ">>>>" current-key indicator placement on the 24-key perceptograms.

    Version 2009.08.19: Little "v" next to SpPiTrOct for conveniently going down in the Octaves Transpose from the Spectratune Pitch. Added support for more than 16 tracks, adding "v" and "^" buttons next to Ovs.

    Version 2009.08.8: Fixed the problem with lockups when input focus is lost to another program.

    Version 2009.08.3: Improved text sizing on right panel.

    Version 2009.07.08: Fixed problem where tone and overtones for continuous-varying-MIDI-tones (only) were being transposed by the pitch-from-Spectratune n-octave transpose. Also, added links to online help from site under "Help" menu item.

    Version 2009.06.25: "Ovs." overtone display added.

    Version 2009.06.20: "MinorNHM" checkboxes for chordal / chordal-based-key recognition added.

    Version 2009.06.19: Middle mouse I-IV-V-I cadence added.

    Version 2009.06.09: Small fix in melodic form of key analysis, in that when no notes are found in the desired "N-back", the display is white rather than dark. Also, keyboard strokes generating notes have octaves going straight down as you go from top to next to next keyboard row. Also, percussion instrument tracks start out turned off.

    Version 2009.06.08: Improved continuous-pitch-variation from MIDI in the sense that using F4 and F5 keys to expand or contract continuous pitch range keeps the pointed to pitch value (as long as continuous-pitch is being used, that is, as long as F1 is down.)

    Version 2009.05.08: Vsup added. Further, notes from pressing computer keyboard can be pressed more than 1 at a time and still generate sound.

    Version 2009.05.04: Continuous-pitch-variation MIDI-instrument tones added.

    Version 2009.04.23: Piano-roll instrument colors choosable. Hot keys for rapidly toggling "distributional" to "chordal" perceptograms. br>
    Version 2009.04.21: Secondary quick-instrument-change and quick octave switch added.

    Version 2009.04.07: Pitch from Spectratune can be transposed by octaves on the Music Visualizer display.

    Version 2009.04.02: Changed pitch from Spectratune display to meter-like (when angle button is checked)

    Version 2009.04.01: Allow selectable channel for reference instrument, rather than always using channel 15.

    Version 2009.03.30: Added ability to change midi instruments played back from midi file, and to change the reference notes from piano. Added display of midi file title in visualizer window. Made key resettable Z,X,C,V keys work from top piano roll as well.

    Version 2008.7.21: Fixed problem with erroneous note after certain keycue sounds.

    Version 2008.7.17: Switchable angle-bend for finer pitch feedback on the Spectratune pitch.

    Version 2008.7.16: Added cue sounds: I-IV-V-I and ascent tonic to 5th scale note followed by descent to tonic. Also, changed minor chord cue sounds to harmonic minor from natural.

    Version 2008.7.2: Added inversion/chord position algorithm. Also, fixed a bug that had started in a recent version, where if key context was off, top piano roll picked up a lot of red.

    Version 2008.6.30: Minor cosmetic details and minor performance tweaks.

    Version 2008.6.26: Improved conveniently available sounds so that keyboard sounds and right mouse click sounds change automatically with key as key selected changes.

    Version 2008.6.22: Rapid toggle of both "NoTopPRoll" and "1:" (simultaneously) added from keyboard. .

    Version 2008.6.17: Chordal lack of fit items, and rapid test-key change via keyboard added.

    Version 2008.6.06: Added ascending melodic and harmonic minor scales.

    Version 2008.5.30: Slight improvement to visual tonal function identification (involving a chord with a skipped third).

    Version 2008.5.29: Notes via keyboard an octave below and an octave above those added on 2008.5.1 also added..

    Version 2008.5.22: Chordal function for key determination and otherwise added.

    Version 2008.5.15: For MIDI format 0 files, suggests conversion to format 1 (using edit software) for individual instrument control.

    Version 2008.5.1: Feature where you can use the keyboard for an octave of notes added.

    Version 2008.4.30: Improved right-click listener-guidance sounds: the tonic and tonic triad durations now correspond to the right-click duration, rather than fixed duration.

    Version 2008.3.26: This version corrects a problem reading MIDI file with more than about 32,000 musical notes, where the program would lock up on reading. {Programmers: I used a short integer where I shouldn't have.)

    Also, the feature that automatically moves ahead by a half-screen in manual-play mode was overshooting the move occasionally. I believe this is now corrected.