DOWNLOAD BY CLICKING ON THE DESIRED LINK(S) BELOW
LICENSE AGREEMENT AND DOWNLOAD here.
DOWNLOAD the OPTIONAL INTERCONNECTING SPECTRATUNE Live Tone/Pitch Analysis Software (FREE) here.
DOWNLOAD the ALTERNATIVE OPTIONAL INTERCONNECTING SPECTRATUNEPLUS Live and Recorded Tone/Pitch Spectral Software (FREE) here
NOTE: Both Spectratune (info and screenshots here) and SpectratunePlus (info and screenshots here), can interconnect with the Norm's Music Visualizer (description and screenshots below on this page)
to pass along output of one of their functions -- identified note of sung-along pitch -- to the MIDI-file-based Norm's Music Visualizer, which will overlay the sung pitch aligned to the correct spot over the MIDI "piano roll" music score.
OPERATING INSTRUCTIONS (CLICK ON THE LINK BELOW)
NOTE: The software has no built in help. You have to use the operating instructions from the above link.
Screenshot 1 (above) and General Description: The Norm's Music Visualizer is built on a MIDI display that looks similar to a standard MIDI sequencer or player program in the "Piano Roll" display (center panel of screenshot). However, though the program will play a midi file, or loop through a section of a midi file, and even rapidly switch playing to and from up to 10 user-marked points of the midi file, it is mainly intended to be used to explore music by having the user guide his mouse-pointer "interactively" through the music (all notes in score, all notes from selected instruments, or individual notes, as desired). To support further understanding of the music, the program's has a piano roll that overlays all notes independent of octave (top right panel here), and also highlights the bass note with a hatch pattern. This supports one form of easy chordal/harmony examination.
Additionally, the program has several forms of visual chord/key identifiers (I call them "perceptograms"), one of which is the colorful thing at the bottom of the right panel in the screeshot above. (In the screenshot, the key for the portion of the music shown is f# minor throughout. The first chord in the first measure shown is IV (yellow on the second f# line -- that is, on the f# minor line), the second in that measure is I (green--with a little orange due temporarily dropped tonic), the next is V (red), etc. (The chord information is easilty extractable either from the color or the overlay piano roll. The inversion in the example above can be obtained from the overlay piano roll only. However, this is because I have a feature switched off in the screenshot--you can determine inversion from the color part when I switch it on--as it is in screenshot 6b below. )
When the key of the section of music on display is detected and set by the user (using mainly the visual key identifiers described above--this has been done in the screenshot above, shown by the ">>>>" pointing to f# minor), the grey-white lines on all piano rolls will be in the right places for the key. This feature is, of course, to support development of understanding of the sound of the music in key context (rest tones, active tones, chromatic tones, etc), and also supports determination of key-fit by note-presence and melodic patterns.
Further, the program makes aural key orientation feedback available from simple mouse commands and computer-keyboard presses, to further allow the user to explore and understand the sound of the music in key/tonal context. These sounds include the key reference tones (tonic, cadence, I-IV-V-I progression, chords, scales, individual notes, etc), all from choosable instruments. (Picking up on the ideas and teaching CDs of teacher Bruce Arnold, I have tried to make the key-orienting I-IV-V-I chord sequence particularly available, from the middle mouse button.)
Further, using the built-in interface to my (free) Spectratune software, the user can overlay the detected pitch from the user singing or humming along with the MIDI file. (In the screenshot, the MIDI file is being played "manually" by mouse movements, at the point where the vertical red line and red notes are. The pitch overlay of my humming along -- inputted to the Spectratune using my webcam mic as a second sound card, is that chromatic-tuner-meter-form mark on the C# in both piano rolls,, showing I am about a tenth of a half-step below dead center of the C#. I am actually humming two octaves below the melody in the MIDI file, but have set the Music Visualizer to transpose the hummed pitch two octaves up. (The two octave transpostion is actually indicated by the button with "2=SpPiTrOct" on it.) The shot also captures, top left, the Spectratune exactly as it was running, set to show both single-pitch and spectrum of the singer only. (The Spectratune could also show the spectrum of the MIDI file sounds in a different color, but that wasn't needed for what I was doing. You would want it if you wanted to probe into why sour-disharmony-sound cues or beating were present or absent in your sing-along attempts, or if you wanted to study harmony/disharmony itself in the music. These depend on nearness of the fundamental and overtones between instruments -- as explained on this part of my Spectrogram page.
NOTE: In a recent version, I added an additional simple function to allow the user to explore disharmony sounds via clash in overtones without reference to the spectrogram on the Spectratune. See screenshot 5 below.)
NOTE2: The screenshot above does not show the newer (10/25/2011) "Memorize a Play Position" button, which is located between the "STOP" and "Change MIDI File" buttons.
Screenshot 2a (above). Showing the harmonic function/harmonic fit "chordal" perceptogram (for a single key only in this case). Note that the perceptograms can be displayed for an identified key, or for all 24 potential keys -- with the latter being for when key is unidentified, or rapidly changing. (The key is C for this section of Haydn's op 17 string quartet mv. 1.)
What the colors represent is chordal function for the key. 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 chord notes (i.e. pitch-classes--same pitch different octave counts only once) present. Note red then green represents basically a V-I cadence, which in some musical styles is a reliable sign of intended tonal center.
There are also diagonal criss-crosses and slashes, which represent two forms of lack of fit. Recall the color goes up to a height representing the number of pitch classes of the best-fitting chord for the key. A diagonal criss-cross goes up any additional distance (up to the set plot maximum value MxNts) to the maximum number of pitch classes 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 tends to indicate the chord is from a different key (either the given key is not the key, or it is a secondary dominant or borrowed or altered chord). The diagonal slash tends to point out non-harmonic tones for a chord in the key. (In this particular case, the two criss-crosses are V/IV and V/V secondary dominants, which is actually easy to determine using other rapid key-test hot-keys that I have in the program.) ( 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.)
I also have an (optional) method of showing inversion within this perceptogram. Screenshot 4, farther below, shows this feature.
Acknowledgement: I am grateful for David Temperley's 2004 book, The Cognition of Musical Structures, many ideas from which have formed the basis for my chord fitting in these chordal perceptograms.
Screenshot 2b (above). This is actually the end of a movement in C. The portion of the movement shown is in F, however. The key is set at C by the user, who has not yet responded to the observation that the part of the movement is in F. (When the user sets the key to F, the gray and white lines in the Piano Roll will be in the right place.) Anyway, reading the perceptogram to determine key: it is pretty clear that "C" is the wrong key for this part of the movement. This is because in the "C" line: (1) the abundance of tomato red/tomato-leaf green is too little, especially for a tonally stable part of the movement, and (2) there is a bit too much criss-cross and (3)we have the wrong cadence for this mainstream-period classical music. We see a nice fit at F major, the true key, where we also have that nice V-I cadence at the end. (The chromatic/non-chromatic overlay shown in the piano roll is thus incorrect
Screenshot 3 (below). Showing the tonal-center perceptogram of the "distributional" type plots (the reddish item in the bottom section). The "distributional" perceptogram focusses on what keys the notes fit, in terms of being non-chromatics and also rest-tones. This is as opposed to focussing on chords of the key, which the more colorful "chord" perceptograms address. The chord perceptograms (not these) are generally the more helpful of the two perceptogram types, (consistent with Schoenberg saying key is really about chords), but the "distributional" perceptograms sometimes are helpful. The music in view is the start of Bach's Well-Tempered-Klavier book 1 D major.
Screenshot 4 (below) : Chord position (root, 1st inversion, etc.) is shown in the bottom panel. (On the left is the scale for both inversion and number of pitch classes involved. Inversion number of the chord corresponds to the black horizontal mark within the chord-color, and there is no horizontal mark for root position.) The algorithm, as with all the chordal recognition stuff, is not perfect, but is pretty good. Sometimes it is over-literal, etc., and less standard chords are missed.
Screenshot 5 (below): Showing MIDI plus sung overtones. While a MIDI file is being played through manually (i.e. left-clicking the mouse over sections of music while pointed on the bottom piano roll or lower), the Spectratune (not shown in screenshot) is also running and feeding a sung-along harmony pitch.
The lines on the top piano roll to the right of the "position at" in blue represent the first 3 octaves of overtones of all the MIDI notes being sounded, while the ones in black are of the note being sung. Both lines get shorter as the represented overtone gets higher.The purpose of this is to help understanding of the sound of harmony/disharmony. (Disharmony is where any substantial-magnitude overtones differ in pitch non-negligibly but by a small amount--less than the "critical distance".)
Another reason for doing this is it may indicate an explanation where you sing a harmony that sounds best when a bit off note-center: because the overtones match up best.
Technical note: the overtones shown are not actually measured, but are the first 15 overtones by frequency. [If you want to actually measure the overtones of the MIDI output and/or sung output, of course, you can do it with the Spectratune's Spectrogram. But this approach is better for the purpose at hand.]
(This screenshot is complete to the latest version except it is missing little "v" and "^" buttons just to the right of the "Ovs" button, which control access to tracks beyond 14. Also, it is missing a little "v" arrow right next to the SpPiTrOct putton, which is to more conveniently lower the Octaves Transposed of the from-Spectratune Pitch Display):
Screenshot 6 (below). : (New Feature added 9/7/2011--note this screenshot is the same as screenshot 1, but I have added some description here). 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 visualizer 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.)
Screenshot 6b (below).:Showing the chord position detectors (1st inversion, etc.) in the chord perceptogram (as in the bottom panel of screenshots 4 and 5, 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.
The software, along with the companion Spectratune, was written initially for me (Norm Spier
) and my own miscellaneous personal musical-perception / music-analysis needs.
It is oriented towards the Piano Roll representation of music, as opposed to the standard staff representation. By doing this, I am trying to make tonal and harmonic happenings more directly visible than in staff representation. Users of this software should at least understand staff-based music notation (to be able to access music theory and analysis books), and may optionally be fluent in it. Those who are fluent in music notation will be able to translate back and forth to piano-roll easily, especially because it's just like a piano, and thus will not be impeded by my choice of piano roll. However, the use of Piano Roll is intended to open up deeper musical understanding to those of us who love to listen to music, but have not developed the ability to rapidly go back and forth between staff notation and the sound represented by the combinations of those on-staff notes.
Besides the music-analysis and understanding applications, my hope is that for non-musically-trained/gifted folks, my pair of programs will give them a tool to improve sense of intonation by immersing them in various forms of visual feedback.
Frankly, for the less musically fortunate, I'm hoping the pair of programs can somewhat repair, when used over time in older (post-childhood) people, lack of skilled aural musical guidance in the environment during early childhood. This guidance would be regarding sense of harmony, scales, pitch-match, tonality, position in key, etc. Based on my experience so far, my belief is that it does do this, slowly, with repeated use across the various possible configurations (sing harmony against MIDI, sing melody against MIDI, scales, listen to MIDI and analyze, hum against CD, etc.). Of course, this is much slower and less perfect learning than that in early childhood, as the critical period has indeed been missed.
Norm's Music Visualizer OPERATING INSTRUCTIONS
NICE CLASSICAL EXAMPLE WITH CHANGING KEYS AND A DECENT AVAILABLE ANALYSIS FOR REFERENCE
(BACH ORCHESTRAL SUITE # 3 BWV 1068)
About me, Norm Spier:
I am a free-lance mathematical statistician and computer programmer, living in Northampton, MA, U.S.
I have, have built up my aural perception from, and recommend, EarMaster ear training software. These links, through Amazon, seem to be for the same product that I have: EarMaster 5. The prices are different: one through Amazon direct, one through a sub-vendor.
Really Nice Physics Java Web Applets, Especially Acoustics and Signal Processing with Live Sound,
(plus other science links), from Paul Falstad here.
OTHER RELATED SITES AND BOOKS:
NORMS MUSIC VISUALIZER OPERATING INSTRUCTIONS