Chimes by David C. Elliott Chimes is a primitive MIDI random "music" generator for Windows. You could call it an algorithmic music program, though it's not very sophisticated. All it does is to attach relative probability values (0-100) to the MIDI notes, and then pick a note from that probability space. The probabilities are set by the various buttons, which are described later. To get started, just hit the Play button. If you don't hear anything, move the channel slider up to the high end of the range (I developed the program on a MultiSound, and didn't think about users of 4-channel synth cards). The channel and program sliders set the MIDI channel and program number (a program change message is sent each time it is changed and when the channel is changed). The volume sliders set the MIDI velocity value range. A random value in that range is selected. If the SHIFT key is held while changing one value, the other value is changed by the same amount (within constraints). The length sliders work similarly, setting the length range for the notes. The note range sliders also work similarly. The rest probability slider sets the probability that no note will be played. This is an actual probability, not a relative one (that is, the program starts by deciding whether or not to rest, so a rest probability of 100 means silence). The Play/Stop button at the bottom starts the ball rolling. OK, now to the note probability buttons. In all cases, if you hit the button with the SHIFT key down, all notes are affected. Otherwise, only the notes in the current range are affected. The buttons work as follows: Reset - Sets all probabilities to 50. Randomize - Sets all probabilities to a random value. Increase - Increases all probabilities by 5. Decrease - Guess. Wiggle - Increases or decreases the probabilities by a random number up to 5. Invert - Sets all probabilities to 100 - the current value. Swap - Swaps the note probabilities around the center of the range. For example, if the range is F3 to A4, F3 and A4 swap values, F#3 and G#4 swap values, and so forth. Zero - Sets all probabilities to 0. Major, Minor, Fourths, and Fifths - These all set the probabilities so that only the corresponding notes (major scale, minor scale, root and fourth, and root an fith) are played. The base note is the lowest note in the range (unless SHIFT is held, of course). You don't get a display of the values (sorry), but you should be able to guess what the values are. All settings are saved on exit. In general, I find that the most interesting things come from playing fast and even and without much range (hmm, sounds a bit like disco, doesn't it?). For example, check out program 17 with a length range of [85,85], 0 rest probability, and range [F2,G6]. Channel 16 (drums) is also kind of neat this fast, but the range [D4,D5] works a bit better. The user interface is pretty dumpy, especially in the area of display (I don't have time to create a nice MAX-style Table object, which is what this cries out for), and the program could do more things. The Open menu item does nothing at this point. I intended to make it possible to save and open settings files, but obviously haven't done so yet. As it stands, I'd say I'm through with Chimes. I'm more likely to develop a larger system for doing connected algorithms and have this be one of the algorithms. Anyone interested in this project is welcome to write. DropTrash is Copyright 1993 by David C. Elliott. It is freeware and source is included. If you have any suggestions for improving it, or for other freeware programs I can develop, contact me as dce@netcom.com.