MIDI, the ''Musical Instrument Digital Interface'', was developed in the early 80's by a consortium of electronic music companies to allow synthesizers, keyboards, sequencers and other digital music tools to share sounds and otherwise interact with each other. It is both a physical specification of the sorts of cables involved, and a protocol and format for sending data describing musical notes, loosely based on [TCP]. The MIDI standard is actually independent of sound; it merely instructs sound-producing devices on what notes to play and in what manner. The standard has had excellent longevity; after 20 years, it's still in version 1.0. Computers quickly adapted to the standard, largely thanks to the addition of sound cards that could play MIDI sound and had the correct ports to connect to MIDI devices. MIDI files, which can describe in just a few dozen kilobytes an entire symphony, became commonplace. These files are good for, say, transferring an arrangement to another computer to keep on developing it, but the tinny generic MIDI sounds most sound cards come with caused them to be quite a frowned-upon web design element when in the mid-90's they began being used as web site background music. MIDI has turned computers into very serious music tools - all the tasks normally associated with a few 2-ton studio recording devices with hundreds of knobs can be done on one laptop (though software isn't always the right method, admittedly - software synthesizers, for example, are still often prohibitively slow). Tcl, being built for automating lower-level tasks, would naturally make a good MIDI language. And so it does. -[FW] What: midilib Where: http://home.t-online.de/home/Steffen.Traeger/midi/index.htm Description: A Tcl extension for low-level MIDI device interaction. Updated: 26/2001 Contact: Steffen.Traeger@t-online.de What: Tclmidi Where: http://jagger.me.berkeley.edu/~greg/tclmidi/ Description: Tcl extension (phrased on the site as if it were a language of its own) for creating and editing standard MIDI files. Made for 7.5; no compiled version available. Probably a challenge to compile. Updated: 06/2001 Contact: wolodkin@aem.umn.edu ---- [MDD] ''12-19-2003'' FYI: When trying the midilib test code under tclkit 8.4.2, I get the following error: couldn't load library "midi.dll": this library or a dependent library could not be found in library path I get this error message even if I try to explicitly "load midi.dll" rather than using "package require" [FW]: I used a dependency walker and it looks like it's relying on 8.3 dlls. I just emailed the author about it, in case he's willing to dig it up and make the little change. At the moment, a workaround is possible by going into your Tcl directory and making a copy of tcl84.dll or tcl85.dll, or whatever version you may have, and renaming it to tcl83.dll. That lets the package load but it's crashing for me when I try to open an output - which might not even be related, mind you.