This is so cool. Thanks for telling me the background. I always knew that CC2 was breath control, but not having been a musician in those days (although I’m old enough to have been), I never knew about the joystick and all that. I’m going to look for pictures of that.
Now, I wonder if I should keep the CC2 or delete it. See, some of the learning project I’m working on are those from Jay Bacal, who was hired by VSL to do a lot of mockups they put up on their library. So for some of them you can download the MIDI file as well as the Cubase project.
Now, most of his projects that I opened have tracks with CC2 automation. However, if I load the VSL Synchron Player and instruments from either of the two VSL libraries I have, I don’t see any CC for Breath. There are several, but none for CC2.
And these days what I use the most are SINE libraries, because I paid a ton of money for them and I want to use them. And those libraries and the player don’t have any CC2:
So even if these projects (which are not two decades old from the time of the joystick) have a lot of CC2 automation, it doesn’t do anything for me, right?
Furthermore, I think he used CC2 as some kind of replacement for velocity, because you can see in this screenshot that most of the notes have the same exact velocity, but you can see how the CC2 lane has automation going up and down.
So maybe I should try to draw the velocity according to the CC2 lane and then delete it? Unfortunately you can’t just copy all the automation from CC2 and paste it into velocity, which you should, because in the end, both go from 1 to 127.
Joysticks are still in use today - my Korg Kronos 2 has one:
Unfortunately, it can be difficult to say definitively what the creator of the MIDI file wants CC #2 to modulate without more information from the creator. Depending on the sound device/instrument and sound/patch/program, CC #2 could be used to modulate one or several parameters. For example, on a Kronos sax patch, CC #2 (joystick -y) can gradually introduce a “growl”, but on a Halion Sonic sax patch, it might not do anything.
If a creator used a breath controller on a MIDI track, he/she may intend CC #2 to modulate volume level, similar to expression (CC #11) and brightness, similar to cut-off frequency (CC #74). So, it’s not necessarily a given that CC #2 is analogous to note velocity, and while it’s a good place to start, as you’ve worked out, continuous controller data does not simply translate to “per note” data like velocity, though there may be a way to extract the CC #2 automation curve and somehow apply it to the Velocity lane. I’ve never tried it! In the example you’ve shown though, I suspect you’re spot-on with your deduction that CC #2 is used as a substitute for velocity changes.