MIDI Expression CC11 - a lesson for instrument designers

For enthusiasts of synths, pianos, organs or keyboard instruments of any sort.

MIDI Expression CC11 - a lesson for instrument designers

Post by The Elf »

1. MIDI CC11 'Expression' is NOT the same as CC7 'Volume'.

2. Response to CC11 should come BEFORE FX sends - not after them (See 1).

3. Response to CC11 should NOT be allocated to such parameters as filter cut-off (for which there are designated CCs - CC74 ring a bell?)...

4. ...and should not then be blocked to users trying to implement the proper use of CC11 for themselves (I'm looking at you, Arturia :roll:).

Why do I have fight this battle with hard and software instruments time after time? :madas:
User avatar
The Elf
Forum Aficionado
Posts: 21430 Joined: Tue Aug 14, 2001 12:00 am Location: Sheffield, UK
An Eagle for an Emperor, A Kestrel for a Knave.

Re: MIDI Expression CC11 - a lesson for instrument designers

Post by Martin Walker »

Hear hear!
User avatar
Martin Walker
Moderator
Posts: 22574 Joined: Wed Jan 13, 2010 8:44 am Location: Cornwall, UK

Re: MIDI Expression CC11 - a lesson for instrument designers

Post by Lostgallifreyan »

I'm usually less strict about the purposes for numbers, and instead let the user make the choice. Less risk of conflict that way.

That said, there IS a strong case for defining CC007 as volume, for example the DX7 (and my PhaseMod emulation) have a hardwired non-linear response to it, like the swell pedal on an organ, it's very different, very specific, not at all the same as applying some other controller to modify EG bias to change volume with a linear response. A hardware response to CC007 is likely to be free of 'zipper noise' too, from the relatively low MIDI control resolution, but this applies to analog outputs. Routing to digital audio in a DX7 wouldn't have allowed it, even if it had such ability. (But PhaseMod will...)
Lostgallifreyan
Regular
Posts: 342 Joined: Thu Mar 14, 2024 2:18 pm

Re: MIDI Expression CC11 - a lesson for instrument designers

Post by Folderol »

Interesting.
I just dived into the Yoshimi code (here be dragons) and it seems we get it wrong-ish.
The individual part insertion effects are applied before expression, but the system effects are applied afterwards.

However...
You can MIDI-learn the incoming expression value, route it wherever you like and disable the default action.

In any case I wouldn't change the behaviour now - it could potentially break a lot of instrument patches, and I don't fancy being the subject of a lynch party.
User avatar
Folderol
Forum Aficionado
Posts: 20876 Joined: Sat Nov 15, 2008 12:00 am Location: The Mudway Towns, UK
Seemingly no longer an 'elderly'.
Now a 'Senior'. Is that promotion?

Re: MIDI Expression CC11 - a lesson for instrument designers

Post by The Elf »

Folderol wrote: Sat Apr 13, 2024 8:08 pm Interesting.
I just dived into the Yoshimi code (here be dragons) and it seems we get it wrong-ish.
The individual part insertion effects are applied before expression, but the system effects are applied afterwards.

That is kinda right in my book - before or after insert effects is just dependent on where you would place your volume pedal in a hardware system. You would get a different result from placing an expression pedal before or after a distortion/fuzz pedal, for instance.

But It MUST be before send effects, or those lovely delays and reverbs will dip up and down with the pedal action - wrong! :crazy: CC7 could be used for that.

It's Arturia's 'reserving' CC11 - and then 'misusing' it, or not using it at all (e.g. Mellotron - no expression control), that is unforgivable. If you are going to 'reserve' CC numbers, then at least use the 'reserved' ones properly.

And in the patches I've been working on today in Arturia's Analog Lab there's no control point between instrument and send effects, even if I use a different CC number. Sigh...
User avatar
The Elf
Forum Aficionado
Posts: 21430 Joined: Tue Aug 14, 2001 12:00 am Location: Sheffield, UK
An Eagle for an Emperor, A Kestrel for a Knave.

Re: MIDI Expression CC11 - a lesson for instrument designers

Post by Eddy Deegan »

I've found Arturia to be responsive to customer feedback, at least with the relatively small number of things I've raised with them. One of the firmware upgrades for the PolyBrute fixed something I found issue with and reported although whether I was the sole cause of that I couldn't say.

Relay your concerns to them. It might turn up roses, especially if you make a well reasoned argument.
User avatar
Eddy Deegan
Moderator
Posts: 9969 Joined: Wed Sep 01, 2004 12:00 am Location: Brighton & Hove, UK
Some of my works | The SOS Forum Album projects | My Jamuary 2025 & 2026 works

Re: MIDI Expression CC11 - a lesson for instrument designers

Post by The Elf »

Eddy Deegan wrote: Sat Apr 13, 2024 9:40 pm Relay your concerns to them. It might turn up roses, especially if you make a well reasoned argument.

Already done, but I suspect I'm asking for something they will not give, for similar reasons to Folderol.

I would LOVE to be proved wrong.
User avatar
The Elf
Forum Aficionado
Posts: 21430 Joined: Tue Aug 14, 2001 12:00 am Location: Sheffield, UK
An Eagle for an Emperor, A Kestrel for a Knave.

Re: MIDI Expression CC11 - a lesson for instrument designers

Post by The Elf »

Lostgallifreyan wrote: Sat Apr 13, 2024 7:38 pm That said, there IS a strong case for defining CC007 as volume...

Not just a 'strong case' - that's what it was designated to do. CC7 *is* 'Volume', and it should be adhered to. Adherence to the spec is the reason that MIDI has endured.

But CC11, specifically designated as 'Expression' has suffered from misunderstanding, ignorance, expedience, mis-use and fudgery from MIDI Day One.
User avatar
The Elf
Forum Aficionado
Posts: 21430 Joined: Tue Aug 14, 2001 12:00 am Location: Sheffield, UK
An Eagle for an Emperor, A Kestrel for a Knave.

Re: MIDI Expression CC11 - a lesson for instrument designers

Post by BillB »

I’m vaguely aware of Expression being used for a combination of volume and tone, and think I have read about it being used to create more expressive (hah) orchestral parts, but I haven’t ever tried it. Can you explain, Elf and others, how you would creatively use the Expression controller? Have there been any good articles in SOS / elsewhere?
BillB
Frequent Poster
Posts: 2468 Joined: Mon Apr 07, 2003 12:00 am Location: East Yorkshire

Re: MIDI Expression CC11 - a lesson for instrument designers

Post by The Elf »

BillB wrote: Sun Apr 14, 2024 9:09 am I’m vaguely aware of Expression being used for a combination of volume and tone, and think I have read about it being used to create more expressive (hah) orchestral parts, but I haven’t ever tried it. Can you explain, Elf and others, how you would creatively use the Expression controller? Have there been any good articles in SOS / elsewhere?

It would be a pretty brief article!

Think of CC7 as the volume control on your keyboard, and CC11 as the expression pedal on your keyboard. That's the long and short of it. That said I've come across examples where the expression pedal acts the same as the volume control, which results in reverbs and delays fading with the pedal - aargh!

Personally I wouldn't use CC11 for tone.
User avatar
The Elf
Forum Aficionado
Posts: 21430 Joined: Tue Aug 14, 2001 12:00 am Location: Sheffield, UK
An Eagle for an Emperor, A Kestrel for a Knave.

Re: MIDI Expression CC11 - a lesson for instrument designers

Post by BJG145 »

I've found people getting these mixed up, though I haven't quite understood what Arturia have done. You'd think they'd know better. Have they created a problem you can't solve, or is there a workaround...? I see your point about not wanting CC11 to duck reverb etc.
User avatar
BJG145
Longtime Poster
Posts: 8081 Joined: Sat Aug 06, 2005 12:00 am Location: UK

Re: MIDI Expression CC11 - a lesson for instrument designers

Post by BillB »

OK, thanks. I just Googled a bit more and found this fairly helpful.

http://www.midifilmscoring.com/midi-orc ... ntrollers/
BillB
Frequent Poster
Posts: 2468 Joined: Mon Apr 07, 2003 12:00 am Location: East Yorkshire

Re: MIDI Expression CC11 - a lesson for instrument designers

Post by The Elf »

BJG145 wrote: Sun Apr 14, 2024 10:17 am I haven't quite understood what Arturia have done.

All of the below relates to Arturia Analog Lab Pro...

In at least one instance Arturia have got it 'right'. The Hammond emulation implements expression, and applies it before send effects. I don't know if it's ahead or after the Leslie, so I'll leave it at that. :-|

But then...

The Vox Continental - zilch. No expression control implemented. :frown:

Mellotron - no expression implemented. Want to fade a Mellotron choir in and out of a delay/reverb? Nope. :frown:

The first Matrix 12 patch 'Super Phat Bass', as a quick example - CC11 seems to control an HPF, or something. :frown:

Quickly flipping through other examples, Buchla, CS-80, Clavinet... no expression implemented.

I can't find a workaround. If I 'learn' a controller (CC11 is disallowed by the 'learn' system) the only common attenuation point I have available to me is 'Master', and that ducks the delay/reverb.

Even allowing for all of the above, if I could remove the built-in delay/reverb I could use the 'Master' attenuator and add my own effects afterwards, but many of the built-in delay/reverbs cannot be removed (e.g. Mellotron), despite controls that purport to do just that.

I've just replaced any idea of using Analog Lab 'Pro' in my live rig with other 'More Pro' solutions.
Last edited by The Elf on Sun Apr 14, 2024 2:38 pm, edited 1 time in total.
User avatar
The Elf
Forum Aficionado
Posts: 21430 Joined: Tue Aug 14, 2001 12:00 am Location: Sheffield, UK
An Eagle for an Emperor, A Kestrel for a Knave.

Re: MIDI Expression CC11 - a lesson for instrument designers

Post by The Elf »

BillB wrote: Sun Apr 14, 2024 10:23 am OK, thanks. I just Googled a bit more and found this fairly helpful.
http://www.midifilmscoring.com/midi-orc ... ntrollers/

Arturia should read that page... :lol::headbang:
User avatar
The Elf
Forum Aficionado
Posts: 21430 Joined: Tue Aug 14, 2001 12:00 am Location: Sheffield, UK
An Eagle for an Emperor, A Kestrel for a Knave.

Re: MIDI Expression CC11 - a lesson for instrument designers

Post by The Elf »

If I seem to be coming down hard on Arturia it represents my disappoinment and frustration at having paid for something that's actually going to be of very little use to me, it seems.

Maybe the full 'Analog V Collection' would solve the troubles I'm having, but I'm certainly not putting my hand in my pocket to find out.
Last edited by The Elf on Sun Apr 14, 2024 8:49 pm, edited 1 time in total.
User avatar
The Elf
Forum Aficionado
Posts: 21430 Joined: Tue Aug 14, 2001 12:00 am Location: Sheffield, UK
An Eagle for an Emperor, A Kestrel for a Knave.

Re: MIDI Expression CC11 - a lesson for instrument designers

Post by ajay_m »

There are in my book worse offences. Many vsts refuse to honour patch change and even some hardware (yes,Yamaha, looking at you with the seqtrak) doesn't honour it. Cc11(and other CCS) are also often associated with zipper noise because hard and softsynths don't try and smoothly interpolate on value changes.
ajay_m
Frequent Poster
Posts: 1666 Joined: Mon Jan 16, 2017 7:08 pm

Re: MIDI Expression CC11 - a lesson for instrument designers

Post by Lostgallifreyan »

The Elf wrote: Sat Apr 13, 2024 10:06 pm
Lostgallifreyan wrote: Sat Apr 13, 2024 7:38 pm That said, there IS a strong case for defining CC007 as volume...

Not just a 'strong case' - that's what it was designated to do. CC7 *is* 'Volume', and it should be adhered to. Adherence to the spec is the reason that MIDI has endured.

I think that versatility for what is a simple protocol is the main reason it endured. By 'strong case' I mean one that should be adhered to when the precedent matters. In a synth, it obviously does, but Doepfer, Peavey, and many others, will control a array of things by using a continous range of control numbers. For some contexts this is appropriate because the actual number means far less than that they match. In an instrument, locking down some internal control to an 'inappropriate' number is, as you say, a problem, but the user must be allowed to do the same, else they could not use that function at all.

If these numbers were locked down forever to what's 'appropriate', we'd run out of them very soon, if it hadn't already happened. There are only 95 of them free to use, at best. (0 is taken, anything above 96 is taken...) I was never a fan of 'General MIDI'. It's a convention. A lot of older gear never used it, a lot of new gear never uses it. Older purposes reasonably take precedence, but only where there is likely to be a conflict in purpose. CC007 means nothing in a device that has no volume control, unless it has already been assigned on a specific basis.
Lostgallifreyan
Regular
Posts: 342 Joined: Thu Mar 14, 2024 2:18 pm

Re: MIDI Expression CC11 - a lesson for instrument designers

Post by Lostgallifreyan »

ajay_m wrote: Sun Apr 14, 2024 12:48 pm There are in my book worse offences. Many vsts refuse to honour patch change and even some hardware (yes,Yamaha, looking at you with the seqtrak) doesn't honour it. Cc11(and other CCS) are also often associated with zipper noise because hard and softsynths don't try and smoothly interpolate on value changes.

My PhaseMod does it on all of them. Even its big unreleased descendent only needs to interpolate ten at a time (that's a lot of simultaneous external sources for one instrument). This approach is vital given that I want a user to be able to choose for themselves which number the control actually gets.
Lostgallifreyan
Regular
Posts: 342 Joined: Thu Mar 14, 2024 2:18 pm

Re: MIDI Expression CC11 - a lesson for instrument designers

Post by The Elf »

Lostgallifreyan wrote: Sun Apr 14, 2024 1:43 pm
The Elf wrote: Sat Apr 13, 2024 10:06 pm
Lostgallifreyan wrote: Sat Apr 13, 2024 7:38 pm That said, there IS a strong case for defining CC007 as volume...

Not just a 'strong case' - that's what it was designated to do. CC7 *is* 'Volume', and it should be adhered to. Adherence to the spec is the reason that MIDI has endured.

If these numbers were locked down forever to what's 'appropriate', we'd run out of them very soon, if it hadn't already happened. There are only 95 of them free to use, at best.

There are 16 channels-worth of 127 controllers and then there are NPRNs in their thousands, so plenty to go around.

I have my own way of designating CCs in my own rig, but CC7 is bread and butter stuff, like patch change and pitchbend. I have no problem with users re-designating it - that's up to them - but manufacturers should stick to the spec.
User avatar
The Elf
Forum Aficionado
Posts: 21430 Joined: Tue Aug 14, 2001 12:00 am Location: Sheffield, UK
An Eagle for an Emperor, A Kestrel for a Knave.

Re: MIDI Expression CC11 - a lesson for instrument designers

Post by Lostgallifreyan »

The Elf wrote: Sun Apr 14, 2024 2:07 pm I have no problem with users re-designating it - that's up to them - but manufacturers should stick to the spec.

Yeah, I don't contest that. I just think that in a design where an array of controls exists, and no specific volume control, then 7 is up for grabs, but even there I'd never insist. A person might well want to avoid it on principle just so an accidental plugging of the wrong widget doesn't cause unrest.

I'm all for adherence to a good spec. My PhaseMod is very careful in doing its modulation routing and control exactly as Yamaha's original did, no matter how weird that may seem to those who didn't get used to it at the time.. In this case I saw no reason to thwart expectations of those who did. Its CC assignments are as fixed as Yamaha's were. :)

Its descendent, that's another matter entirely, but CC007 will still be volume because I'm keeping to Yamaha's original intent for a non-linear swell-pedal response for that.
Lostgallifreyan
Regular
Posts: 342 Joined: Thu Mar 14, 2024 2:18 pm

Re: MIDI Expression CC11 - a lesson for instrument designers

Post by Folderol »

The default functions are fine. Any half decent softsynth should be able to re-assign them if it wants to, with nothing in the middle interfering. Also, zipper noise? These days, are there really synths that are so poorly designed, with processors so under-spec they can't handle interpolation?
As the Elf said, you have 127 plain CCs and 16129 NRPNs per channel and the resolution of the latter is also 0-16129.

With suitable software it is also possible to assign any of the above controls to perform multiple functions, and all of this is just with the 'primitive' MIDI 1, With MIDI 2 kit starting to surface, all those numbers are blown out of the water... provided nothing in the middle interferes.
User avatar
Folderol
Forum Aficionado
Posts: 20876 Joined: Sat Nov 15, 2008 12:00 am Location: The Mudway Towns, UK
Seemingly no longer an 'elderly'.
Now a 'Senior'. Is that promotion?

Re: MIDI Expression CC11 - a lesson for instrument designers

Post by BJG145 »

Lostgallifreyan wrote: Sun Apr 14, 2024 2:19 pmI just think that in a design where an array of controls exists, and no specific volume control, then 7 is up for grabs

Agreed, although Elf's comments about Arturia 'reserving' and abusing standard #CCs sounds a bit concerning.
User avatar
BJG145
Longtime Poster
Posts: 8081 Joined: Sat Aug 06, 2005 12:00 am Location: UK

Re: MIDI Expression CC11 - a lesson for instrument designers

Post by Lostgallifreyan »

BJG145 wrote: Sun Apr 14, 2024 6:27 pm
Lostgallifreyan wrote: Sun Apr 14, 2024 2:19 pmI just think that in a design where an array of controls exists, and no specific volume control, then 7 is up for grabs

Agreed, although Elf's comments about Arturia 'reserving' and abusing standard #CCs sounds a bit concerning.

This is why I won't block selection of a MIDI controller (except in the special cases up the far end, like panic, all-notes-off, etc.) Apart from those, I always assume that a person using my synths may have better ideas than mine. (Current release excepted, where I went with strict application of Yamaha's originals because to me, the DX7 is an archetype, like a Minimoog, and I didn't want to mess with that.)

When a firm wants to reserve a control, I always thought that this is what SysEx is for... Or NRPN, because either way it has to use more MIDI bytes as the only way to get anything more extensive or specific.

I remember being very impressed with the Sequential SixTrak because it did use CC for all its parameters. Full control of all parameters the easy way. It may have broken many 'rules' about number choices but in those days there were fewer to break.
Lostgallifreyan
Regular
Posts: 342 Joined: Thu Mar 14, 2024 2:18 pm

Re: MIDI Expression CC11 - a lesson for instrument designers

Post by The Elf »

I wouldn't care which CC Arturia used for an expression control. It's the fact that they don't provide *any* expression control that p*&^%$£s me off! But they are quite happy to ring-fence CC11 for other uses! :headbang:
User avatar
The Elf
Forum Aficionado
Posts: 21430 Joined: Tue Aug 14, 2001 12:00 am Location: Sheffield, UK
An Eagle for an Emperor, A Kestrel for a Knave.

Re: MIDI Expression CC11 - a lesson for instrument designers

Post by Folderol »

I think part of the problem is that the MIDI spec doesn't define exactly what they mean by 'expression'. From time to time I've MIDI-learned it to perform a combination of filter cutoff, and reduced volume range on brass sounds.
User avatar
Folderol
Forum Aficionado
Posts: 20876 Joined: Sat Nov 15, 2008 12:00 am Location: The Mudway Towns, UK
Seemingly no longer an 'elderly'.
Now a 'Senior'. Is that promotion?
Post Reply