MIDI "Controller" Support (was: Rationale for ignoring common MIDI control changes)
MIDI "Controller" Support (was: Rationale for ignoring common MIDI control changes)
- Subject: MIDI "Controller" Support (was: Rationale for ignoring common MIDI control changes)
- From: Bill Stewart <email@hidden>
- Date: Fri, 11 Jul 2003 16:55:59 -0700
There is a list of controls that all "GM compatible" synths are
generally required to support. I think a similar regime should be
imposed on software synths for a degree of consistency that has served
the users of hardware synths rather well. Some controls may not make
sense of course, but many/most do...
For those interested here's the list:
- MIDI Controllers
// These have an LSB as well (in brackets)
BankSelect = 0, (32)
ModWheel = 1, (33)
Breath = 2, (34)
Foot = 4, (36)
PortamentoTime = 5, (37)
DataEntry = 6, (38)
Volume = 7, (39)
Balance = 8, (40)
Pan = 10, (42)
Expression = 11, (43)
// these controls have a (0-63) == off, (64-127) == on (no LSB)
Sustain = 64, //hold1
Portamento = 65,
Sostenuto = 66,
Soft = 67,
LegatoPedal = 68,
Hold2Pedal = 69,
FilterResonance = 71,
ReleaseTime = 72,
AttackTime = 73,
Brightness = 74,
DecayTime = 75,
VibratoRate = 76,
VibratoDepth = 77,
VibratoDelay = 78,
// these controls have a 0 < 128 range (no LSB)
ReverbLevel = 91,
ChorusLevel = 93,
AllSoundOff = 120,
ResetAllControllers = 121,
AllNotesOff = 123,
// these control ID's have a range of 0 < 128
RPN_PitchBendSenstivity
RPN_ChannelFineTune
RPN_ChannelCourseTune
RPN_ModDepthRange
- Pitch Bend
- Channel Aftertouch
- Program Change
As we've already discussed, the support for Program and Bank Select
messages are not required if the synth is a preset based synth -
essentially a mono-timbral synth in most cases, thus the host services
will generally provide a way to map a Patch/Bank to a preset
selection... I've left off Polyphonic Aftertouch, as no-one has seemed
that interested in supporting this...
I put this list together from a GM spec that is available for perusal
at the MMA (MIDI Manufacturer's Association) web site
(
http://www.midi.org/)
Obviously, many of these are not particularly interesting for alot of
synths - if I were asked to say which ones I think are important:
Volume
Pan
Mod Wheel
Foot Controller
Sustain
AllSoundOff
ResetAllControllers
AllNotesOff
Pitch Bend (and its nice to have the RPN support for setting the range
for that as well)
After Touch
Doug/Chris may have some additional comments as well..
Bill
On Friday, July 11, 2003, at 12:42 PM, Robert Grant wrote:
I'm working on a bigger and better Rax-like host and I'm trying to
provide a MIDI mixer to handle the Pan/Balance issue as well as allow
level setting for both internal and external synths from a single
point. But it seems that many AU synths are ignoring Channel Volume
and some are ignoring Pan.
Is there any reason to ignore Channel Volume when most external synths
will honor it? And what about Pan/Balance?
Thanks for the enlightenment...
Robert.
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.
--
mailto:email@hidden
tel: +1 408 974 4056
________________________________________________________________________
__
"Much human ingenuity has gone into finding the ultimate Before.
The current state of knowledge can be summarized thus:
In the beginning, there was nothing, which exploded" - Terry Pratchett
________________________________________________________________________
__
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.