Relatively barebones MIDI sequencer not for the faint of heart
must be able to save/generate midi files and handle midi in and midi out ports.
requirements: multi-channel, multi-track. no need for VST plugins unless you can handle that.
piano-roll/visual creation of notes. a grid. left to right is timing placement of notes, up/down is note pitch. similar to most sequencers (if you're familiar) except each square unit up or down points to the index of a defined harmonic unit. the trad. method would use the harmonic unit of a 1-semitone incremented octave. meaning tones 0,1,2,3,4,5,6,7,8,9,10,11 and it then wraps up through the next octaves. I would like to specify the harmonic unit I am using (for example, c major is 0,2,4,5,7,9,11).
needs to be graphical (obviously) so I can click the notes and drag their ends to specify their note length. I would like more advanced features such as midi event parameter manipulation (a separate window below this grid, showing the values such as velocity, volume, etc.) except have it use vectors for parameter information storage. the vectors should have a resolution option so it doesn't send flows of midi events for one set of vector points.
vectors or methods of interpolation for the values. I'd like this supported in the note grid itself, to create glissandos of given accelerations still equipped with resolution so I may specify the note lengths.
only selected elements/notes in the grid should be able to have their respective values modified in the parameter value window below.
also, the harmonic unit should be able to be changed as a midi event/ midi CC/continuous controller or patch change. this would require a way to store defined harmonic units
Also: data type conversion. select a range of notes and have their pitches converted to parameter values pastable into the parameter value window. this is called keyboard tracking.
more options to be discussed possibly.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 2) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request. 3) Complete ownership and distribution copyrights to all work purchased.