10/15/02 Meeting Notes
We made some general assumptions about the program. Right now we are restricting it to General MIDI, drums only. We will need to add more use cases as the attributes and features become set.
Attribute List: volume - global volume of the MIDI channel, but each Midi Event also has a value between 1 and 127.
tempo - global tempo - bpm, midi attribute.
meter - time signatures, select from drop down box perhaps.
randomness - general level of chaos.
sound density - how much sound overlaps, this controls the ratio of sound to silence.
beat offset - how much the randomness falls into the beat division, ie if the beat offset is set to NULL then it will all line up on the beat, however if it is nonzero that could affect how far from the beat the sound lies.
beat division - slide and see how many divisions per unit.
range - which octaves the notes fall into.
style selection - affect weighted probablities , drop-down list.
panning - left or right speaker.
Then we talked a little bit about GUI design, basically the GUI will consist of on the top bar a File and Edit menu which will enable file load/save and other edit commands. Then taking the whole upper portion of the screen, (about 20% vertical space) will be some sort of visual display of the user events, where the user should be able to individually select each midi event, and be able to click on it and edit its properties. then for the remainder of the verticle space the screen is partitioned about 75/25. On the Left is the control of the attributes, each scrollbar contains an aspect of the sound such as tempo, or volume. then on the right partition there are buttons for controlling the playback (play , fast forward, pause) and then at the bottom left there is a drop down for track number (as each track can have different attribute values, although in our initial implementation we are sticking to only one drum track) oh yeah and the GUI should have pretty, eye-popping graphics. and of course be intuitive and user friendly.