> >>I don't believe that MIDI as it is exists is a great environment > >>for composing. For example, in my own work, the inability to alter > >>parameters on an individual voice after it has been triggered is a > >>major stumbling block. > > > > > > Once again I don't understand how you support you conclusion. > > Please follow along and tell me where my explanation is flawed. > > > > The ability to modify a voice after is triggered depends first > > on the synth engine allowing it (responding to some command), > > second on having an appropriate control (physical) to use for it, > > and third having a means to send the command using the control. > > > > MIDI is a large set of numbers, assembled together into messages. > > People are free to use many of the numbers in any manner they > > choose. For example, if you have a synth that actually will respond > > to voice modifications after triggering, and you had a way to tell > > it what MIDI controller number you wanted to use for what mods to > > what voice, then all you would need to do is pick a controller and > > assign it to "voice A modification B". > > > > So... how is MIDI unable to alter an individual voice after is has > > been triggered? > > I did not mean to say that it was impossible. I said that it was > unwieldy and kludgy (that's why I mentioned a couple of kludges). > Controllers are defined per channel, not per voice. It is possible for > the synth to assign them per voice as they are dynamically allocated, > but this quickly gets out of hand. If I have 10 parameters per voice, I > am limited to 12 voice per channel. And that is assuming I have nothing > else that I want to use those controllers for in a channel global manner. > As soon as I have a granular synthesis grain field with 500 > simultaneous voices each with 10 params, that requires 42 channels worth > of controllers. Plus I have to wait for the synth to allocate the voice > before I can know which controllers go with which note. And how do I > send the 10 start parameters for each note before I know the > controllers? Well, I could ask for the controllers first, then send a > note on, but how do associate that note-on with the controllers I just > allocated? Use some unique ID coding of the note number and velocity? > Just give up and code it into SysEx? And what if my parameters need more > than 14 bits precision? 14 bits is pretty poor precision for sending > tuning frequencies, for instance. > I am not trying to say that MIDI can't be twisted into doing a lot of > things that were not imagined at the time it was created. But it is > simply not hard for me to completely overwhelm its bandwidth (not the 5 > pin DIN bandwidth, the complete protocol bandwith), resolution, and > design constraints. And some of these things that overwhelm MIDI are > easily codeable within modern APIs. MIDI is not meant to be used in that manner I think; MIDI encodes actions like moving a controller or pressing a key. There is a per note command (besides note on/off): poly pressure. So yes, I think it would be good for GMPI to support more than one control protocol and possibly add more in a later revision. MIDI is good at what it does and for something else the GMPI parameters are better suited... Thus I think allowing more than one control protocol should be a requirement even if this makes it impossible for the host to know the plugin's state by looking at its inputs. --ms ---------------------------------------------------------------------- Generalized Music Plugin Interface (GMPI) public discussion list Participation in this list is contingent upon your abiding by the following rules: Please stay on topic. You are responsible for your own words. Please respect your fellow subscribers. Please do not redistribute anyone else's words without their permission. Archive: //www.freelists.org/archives/gmpi Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe