For Windows XP/VISTA/Windows 7/Windows 8

(The Software Is Free!)

--Listen to MIDI Files Interactively While Seeing the Musical and Harmonic Structure--

--Use Chord/Key Visual Identifiers and Separate Octave-Overlaid View to Visually Identify and Aurally Perceive Key, Chords and Long or Brief Key Shifts and Periods of Key Ambiguity and Modulation --
(The Chord/Key Visual Identifiers are the Colorful Items in Screenshot 1 Below)

--Additional Aural Feedback (1): Hummed- or Sung- Pitch Feedback (Using free Interconnecting Spectratune or SpectratunePlus )--

--Additional Aural Feedback (2): MIDI Tonic-Key Reference Sounds Available: Key-Note, Cadences, Chords, Scales
Plus Use the Computer Keyboard as to Generate Notes, Chords, Etc. All Layed Out Relative to Tonic of the Key at that Point in the Music---

--Identify Patterns in the Melody, Key, Scale-Position, Chords, Non-Harmonic Tones, Rhythm --

--Learn to Sense Harmonic, Key, Melodic, and Rhythmic Aspects of Music --

--Widest Range of Uses when Combined with the Free Inter-Connecting Spectratune or SpectratunePlus Intonation and Overtone-Recognition Software --

-- Some Features to Support Examination of Overtones and Overtone Clashes As They Affect Harmony--

--For all Types of (Western Scale) Music: Classical, Pop, Jazz, Folk--

(Note many free classical MIDI files are available at the sources listed 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.

The Spectratune and SpectratunePlus programs, despite the use in interconnecting with the Music Visualizer, have substantially different main intents than use with Norm's Music Visualizer. The latter program uses MIDI files (as almost equivalent to musical scores) to explore aspects of the music music-theoretically and sound-perception-wise. The Spectratune and SpectratunePlus do not use MIDI files as input, but rather use live and/or recorded sound as input. Spectratune works on live-sound only (live sound being from a microphone, or from a recording being played sent to a sound-card input), and gives out real-time musically-scaled spiral spectrograms (showing all tones and overtones) on polyphonic or one-voice music, and for one-voice music only, it can add pitch determinations. SpectratunePlus adds to what Spectratune does, for single-instrument or single-voice live sounds, a bar-graph and printed breakdown of strength of overtones. It also adds a large class of over time looks at note+overtone musical-note-scaled spectrogram plots, which are for recorded music only (from .wav files). SpectratunePlus includes MIDI-piano-note-sound and sing-along-pitch feedback to aurally interact with the over-time spectrograms of recorded music (and also plays back the recorded music itself aligned to a spectrogram time pointer). SpectratunePlus has a more complicated (perhaps for some intimidating!) interface than Spectratune, however, to support the added functions and settings for those added functions.

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



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.




A Detailed Reference Analysis here (at the student room posted by some nice person). I made a backup copy here for safekeeping, just in case the copy on the Student Room expires. (Do please use the initial link on their site if it is still available, to thank them for providing the service of making it available.) The detailed analysis the day I checked was for movements 1, 2, and the last movement only.

(If you are in a rush, in the 2nd movement, the famous "Air on a G String", the color chord perceptograms (with all 24-potential keys showing as in say my screenshot 6b) catches the various key changes in this short movement with rapidly changing keys.)

MIDI FILES here at KunstDerFuge. You can download the 5 files without signing up for a membership (and subject to the 5 files a day limit).

Alternatively, a version is available at Classical Music Archives. The version here actually sounds better to me, but you will need to have signed up for a free membership to get the 5 files, and also, for this particular piece, the version they have is MIDI format 0, not MIDI format 1, which my software givers fuller functionality with. (You can convert it, as I did, using various sequencing software -- my Cakewalk did it for me in a jiffy.)

For reference, the score is here at the Petrucci music library. (It helps especially for noting repeat-section instructions in the score, so that you can align bar numbers in my output with those in the score. My bar numbers are counted each time the bar repeats in the midi score--not so in the written analysis.)


Classical Music Archives. This site offers a decent selection of midi downloads for free (up to 5 per day) with a free membership option. Or, for about $5 a month you can download 100 free midi files a day, and stream a fair library of classical audio recordings.

Kunst der Fuge .com


Classical MIDI Connection


HarfeSoft (Note: These are chamber pieces only, some of which are duplicated on other sites.)


Margaret Greentree's Back Chorales Page Massive collection of dhorales in midi format, downloadable for free, and often single download .zip files for multiple chorales.


Dave's J.S. Bach Page Lots of Bach MIDI files, often single download .zip files for multiple pieces.


Download .capella electronic score format for free using links from the Capella Score Library (includes all Bach), and then convert them to .midi using the free MuseScore notation and conversion program. (MuseScore will also convert MusicXML and some other formats to midi format. It also can produce MusicXML files.)
Note: In one case, I found the MuseScore (v 1.1) didn't handle a special symbol -- a turn -- in some music in producing the .mid file. What worked in that case was to take the MusicXML output of MuseScore, and feed it into a cheap version of Finale (SongWriter), which did produce the correct .mid file with the turn.)


At the Petrucci Music Library. Also, the Werner Icking archive. (Note that Werner's home page links to his list of some other sheet music archives.)

(If you want a semi-automatic process for converting any of these to .mid or say MusicXML form, obviously you can try some scanning software. My own experience, and comments I noted on the web, indicates that this will require much manual correction in many cases. Also, you tend to need the deluxe version of most scanning software, at about $250 US, to scan .pdfs or handle classical-complexity scores.



MUSIC-PERCEPTION TOOLKIT ITEM # 1: Spectratune: Your own musical spectral display (it's free!).


New (2012) SpectratunePlus (MUSIC-PERCEPTION TOOLKIT ITEM # 1B) (See notes and harmonics in recordings with notes/key overlaid; support for sing-along intonation and piano-tone feedback; as well as Spectratune features. Though program is a bit bigger and perhaps clunkier. )
--Click here for SpectratunePlus INFO

Pre-Made Spiral Music Spectrogram Videos.

ToneGen. A modest little tone generator allowing continous pitch variation for intonation perception exercises. You can also use it to test your musical friends and see just how fine-grain their pitch perception is.


Stephen Malinowski's Music Animation Machine does some piano-roll displays, and other interesting displays related to tonality and musical pattern, using, like my own software, MIDI files. Stephen has been doing some of these widely respected displays for years, initially on videotape, and I first bumped into them playing over the Classic Arts Showcase network. The current software is quite recent, free, and worked perfectly first time for me.

Daniel Sleator and David Temperley's Melisma Music Analyzer. This is LINUX-only software, existing in an old and a newer version, which does a text-form analyis of music-theory-form chords and a few other items. One of the authors, David Temperley, wrote a few books on music cognition and computation, and one of them actually gave me many ideas used in my Music Visualizer. (The idea of using color as a visual perceptual cue is mine, though the chord-fitting ideas are based substantially on the approach in David's book, although I have modified some details, particularly loosening them, allowing visual judgement about transitional things like leading tones to replace classification details made in David's algorithms. Anyway, if I recall, David's Melisma software, version 1 I think, follows the methods in his first book closely or exactly.) Note that if you hit a problem with the Melisma software converting MIDI files to the needed Melisma input format, Music Visualizer will do it (from Windows).

Music Theory Books (Music Rules without the Science)
--Hobbyist/Amateur/Novice Level, prior music exposure not needed
-- Any One of These is Enough to Start

Music Theory Books (Music Rules without the Science)
--Music Student Level, so some prior music exposure desirable
-- Any One of These is Usually Enough To Start, They Cover The Same Material

Science of Music
The first book below, Robert Jordain's Music, The Brain, and Ecstacy, is particularly insightful on both the music and the science, and integrates the two very well. Further, it goes nicely with my musical analysis software, which picks out much of what it talks about, especially around harmony and harmonic wandering.
(The book, of course, does not reference MIDI piano rolls and my own color coding. You have to do the correspondence between musical notation and MIDI piano roll and my software yourself.) Anyway, if you know little about Music, Jourdain's book, and one non-music-student music theory book, would be a good companion-set to my software.)


If you search any major search engine for the title you are looking for, with "MIDI", you usually come up with a few midi files. Note that typically classical and traditional folk music are not copyrighted.
Popular and later music may be copyrighted, and free midi files of these may in some cases be a violation of intellectual property rights, though the MIDI files will still be abundant. However, in this case, you may be able to legally and/or ethically resolve this issue by purchasing the sheet music or a CD of the music you have on MIDI.

Some musicians have put together a reference here.

WONDERFUL ANALYSES OF NUMEROUS BRAHMS WORKS:Detailed analyses (citing measures numbers for use with my software, and timing for particular CD recordings) done by Kelly Dean Hansen are here.

BACH WTC ANALYSES:Detailed analyses are here courtesy of Siglind Bruhn.


Detailed analyses Hey Jude, with associated MIDI file as well, by David Luebbert.

Beethoven Violin Concerto.

Beethoven Violin Concerto.

Beethoven Eroica.

Beethoven String Quartet # 10 .

Beethoven String Quartet # 11 .

Mozart Sonata # 1 .

Bartok Concerto for Orchestra.


18 Mozart, Haydn, and Beethoven Quartets at Earsense


NOTE: I find De Marliave has the most complete descriptions of the events in each movement.

from Classical Music Pages

The Larger Forms of Musical Composition, by Percy Goetschius

by William Adam

Complete Musical Analysis, by A.J. Goodrich

Appreciation of Music, by Daniel Grayson

Short Studies of Great Masterpieces, by Daniel Gregory Mason


Vol 1 (Polyphonic Period)

Vol 2 (Polyphonic Period)

Vol 3 (17th Cent)

Vol 4 (Age of Bach and Handel)

Vol 5 (Viennese Period)

Vol 6 (Romantic)

here at WQXR

1880 GROVE DICTIONARY ON LINE (Public Domain):

Vol 1 , Vol 2 , Vol 3 , Vol 4 , Index


There are a fair number of academics across several disciplines, scattered all over the world, working on this. See the Journal "Music Perception", and in your university library electronic journal search tools and/or at Amazon, search for the names Carol Kruhmansl and David Temperley. Then go from there.

NOTE: I may, over time, extend this software to include various of the algorithms, and my own versions.

About me, Norm Spier:

I am a free-lance mathematical statistician and computer programmer, living in Northampton, MA, U.S.

are accepted and appreciated.

If you do make a donation via PayPal, why not send me a quick email at, so I can acknowledge you contribution, and take in any feedback you may have on the software?

Ear Training Software:

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.

Here is a free public-domain (due to age) harmony book on Google Books:.
Dirk Hagmaans's Harmony (1916)

Here is another one: Chadwick's Harmony

Another one: Benjamin Cutter Harmonic Analysis

Another one: Foote & Spalding Harmony

Another one: Carolyn Alchin Applied Harmony with Examples from the Literature

Yet Another one: Shepard Harmony Simplified (Systematic)

Yet Another one: Anger Harmony

Another : Robinson Aural Harmony

Another : McCoy Cumulative Harmony

Impromptu at Tuneblocks.


APPLE USERS: Unfortunately, my software does not run on Apple. A user reported to me the existence of this RONDO software for MAC, which seems to have at least some of the same goals as my software. It has a free demo mode. (I have not tested it. No MAC.)

Singing Along Intonation:
People trying to sing along with MIDI popular music, and have their intonation corrected may be able to use my Music Visualizer with the Spectratune feeding it. There is some other software geared toward this goal, called Singing Coach by a company called Carry a Tune. It makes its own recording of your singing automatically, which mine doesn't. It probably has a more young-person-friendly interface. If you are interested, here is the Carry-a-Tune link. Here are some links to their products at a discount:

Really Nice Physics Java Web Applets, Especially Acoustics and Signal Processing with Live Sound,

(plus other science links), from Paul Falstad here.


Very Nice Notecards and Photos: of St. Louis, and flowers by artist Vivian Brill (click here)




Wisconsin Public Radio

WGBH, Boston