Some notes on JavaTuner's MIDI input. To use this feature requires that JavaTuner be able to read files on the local machine. So it won't typically run from within a browser environment unless you give the applet extra permissions. Best is to run it directly under a Java run-time (I use Sun's JRE). I have tested that JavaTuner's MIDI parser on a few dozen MIDI files from various sources on the Web with no obvious problems. I'm sure the MIDI parser in JavaTuner is still fragile, but Java being Java, it should break in polite ways (with a message on the Java console) if it must. Most MIDI files found on the Web are not suitable for hearing temperament differences for various reasons (eg. too fast, too busy, too wide range, too long, &c). Scoring programs would be the more typical source of MIDI files here I would think (since it allows to prepare fragments specifically for that purpose). Restrictions and notes on MIDI as supported by JavaTuner. o All music must be in a single track, ie. MIDI file must be format 0. If a format 1 file is read, only the 1st track containing music will be considered. No message will be printed in this case, but it will of course be immediately audible. Most MIDI files I find on the Web are format 1, unfortunately. But there are utilities for converting between formats, for example Günter Nagler's midi1to0.exe which can be found on http://www.gnmidi.com/ (along with other utilities -- thanks to Fred Nachbaur for this pointer and other help with this new feature). o Four simultaneous notes maximum. If there are more, they will be lost. To avoid aliasing problems, the music should not go higher than the highest F on the treble clef. If it does, JavaTuner will reduce the (already limited) harmonic content of the generated sounds, hence making the temperament differences less audible. A message will be printed on the Java console if there are more than four notes or if anti-aliasing measures are taken. o Tempo will be picked up from the start of the MIDI file. Tempo changes will not be picked up. I haven't found any such MIDI files, but I have written code to handle the ?? formats (ie. files with -ve ? in the header chunk). If you have such files, I'm interested in seeing a few and getting your feedback on any known problem o Instrumentation, pitch bending, and other parms ignored. o Duration shouldn't exceed a few minutes (ideally, should stay under a minute). Each minute requires about 500K. A message on the Java console will give the duration. Some sources of MIDI files: o On this web site: - fillesE.mid - puceEH.mid - paroleEH.mid - bachVL.mid (has too many notes) o http://www.jsbach.net/bcs/link-midi.html (Bach MIDI files) If you have problems with a MIDI file that you think should work, feel free to send it to me. I will certainly have a look at it and give you some feedback (and possibly a fix). Security For MIDI support, the applet requires extra permissions above those normally granted to the applet sandbox, the following needs to be done. Netscape With netscape not running, modify (using, for example, NotePad) the prefs.js or preferences.js file (WinNT: in /users/settings/netscape/ and Unix: in $HOME/.netscape): add the following line user_pref("signed.applets.codebase_principal_support", true); Then restart netscape. What this does is to allow granting of priviledges based on "file:" and "http:" URLs instead of only signed applets. This means you should, when navigating, always carefully inspect authorization requests before granting them. At a few points during the execution of the Java tuner, an authorization menu will be presented. After checking it carefully, grant the request (you should check the "Remember this decision" box to remember the grant). The authorizations required by the applet are: + UniversalFileWrite: not currently needed but probably in the future + UniversalFileRead: to load MIDI files Where to place the MIDI file: by default, netscape will try to read files from its home directory: - WinNT: in /Program Files/netscape/Communicator/Program - Unix: in the directory from which netscape was started, typically $HOME Note: I plan to use a standard file-selection popup soon... Internet Explorer No clue! Stand alone No special actions required. Stand-alone applications have the necessary priviledges by default. =============================================================================== Add two more MIDI files on my site: sarab.mid tritone.mid