If I'm trying to build up a roomful of ambient sound, I obviously don't want to hit every note. It's all repetition. I want a tool to manage repetition, in an improvised, interactive music session.
Assume I have some way of hitting notes. This could be a MIDI keyboard, but since I don't have one, it could equally well be a standard (alphanumeric) keyboard with some idiot mapping to specify pitch and instrument. If notes are easy to keep harmonized -- a pentatonic scale, or a fixed chord base -- that's all to the good.
Now I can play single notes. Easy so far. Visually, they flash in an empty black window and disappear, like colored fireflies.
I hit a key (or hold it down), and hit a sequence of notes. This is a group of notes, and they all flash in a group-box that appears -- a grey outline. They don't disappear, either; they flare up and then settle down to a set of dim colored spots. Then I hit another key (or release the first one).
The box is now a glommed sequence, and I can replay it by hitting a single key. There can, of course, be many boxes on the screen; I can select different boxes with the mouse and trigger them. Or select several at once and trigger them simultaneously.
That's the simple "play" key, but there's also a "repeat play" key. If I select a box and hit "repeat play" once, it plays. If I hit it a second time, it plays again, but it will continue to trigger forever at the interval defined by the two events.
(There are also keys for "stop playing this box" and "stop playing this box after the current repeat is over.)
The "repeat play" function is important enough to have shortcuts. It should be possible to define a group-box such that it starts repeating immediately, as soon as I finish defining it. The repeat interval is the time from opening the box to finishing it.
Or, the repeat interval is taken from an existing box that's already on repeat. This latter form is very important. Most multi-layer ambient music has a fixed repeat interval that all the elements synchronize to.
I can edit a box, even as it's playing. The notes flare as they play, so it's possible (if I really want) to select an individual note and delete it. It's certainly also possible to hit more notes, adding them to the current box -- even if it's already playing. (In fact, this is really only possible if it's already playing. Otherwise, there's no way to tell when to insert the notes relative to the existing ones.)
(Another interface for synchronization: select a repeating box, then hit a key to create a new, empty box, already repeating with the same interval. If I play notes into that box, they're automatically synched. This is superficially similar to adding notes to an existing box, but I can then control the groups independently.)
There must be visual cuing of which boxes are active. A small time-tick moving along the bottom edge of the box is sufficient. An obvious convention is to sequence the visual notes from left to right -- they play/flare as the tick passes beneath -- but random placement is worth trying as well.
Good placement defaults are absolutely critical. If I have to draw each box before I use it, that's no good. The box appears by itself. I can move it later, if I have time.
Bonus features: ability to select a box and raise its volume, lower its volume, convert all notes to a different instrument, transpose all notes up/down, speed up or slow down by a given ratio. Double-bonus features: ability to make a box fade out or in over time.
Thoughts of Days ( <-- Previous and Next --> Thought)