Jump to content

Another MIDI bug


Paul DeRocco

Recommended Posts

I'm doing MIDI sequencing with the latest Cakewalk. It doesn't appear to understand the semantics of CC84 Portamento Control, or CC88 High Resolution Velocity. Both of these are prefixes to the following Note On, and have been documented in the MIDI 1.0 spec for years. If they are present on a track, and I adjust the start time of the Note On, the prefixes are not moved, even if they were on the same tick as the Note On. They should be.

By the way, it also doesn't understand the semantics of control change LSBs, except for CC32 and CC38.

 

Link to comment
Share on other sites

I don' believe the MIDI spec has anything to say about keeping controllers together with notes they're intended to affect when editing in a sequencer, but there's an option in the Controller menu of the PRV to 'Select Controllers Along with Notes' that will help with this.

What are you trying to do with LSBs?  I believe these are usually implemented as part of RPN or NRPN messages which Cakewalk supports.

  • Like 1
Link to comment
Share on other sites

The MIDI spec doesn't tell you how to write a sequencer, but it does tell you what the semantics of messages are. Those two control changes are documented as prefixes that provide additional data to an immediately following Note On, which would be useless if not tied to that Note On when moved by an editor.

CC32 through CC63 are the LSBs of CC0 through CC31. They're not often used, but that's what they are, and have been since 1983.

Link to comment
Share on other sites

On 12/8/2019 at 10:55 AM, Paul DeRocco said:

I'm doing MIDI sequencing with the latest Cakewalk. It doesn't appear to understand the semantics of CC84 Portamento Control,

 

Have you contacted Bandlab support for all of these MIDI related issues?

https://help.cakewalk.com/hc/en-us/requests/new?ticket_form_id=360000025633
 

I use CC84 on some occasions and it always works intended.  On my XG equipment, CC84 controls the start note of a portamento.  Of course I have to use CC65 to turn portamento on and use CC5 to control the portamento time.   The destination synth has to respond to these CC numbers.  All Cakewalk does is send them, it's the synth's job to know what to do with them.

Link to comment
Share on other sites

Another bit of MIDI semantics that Cakewalk doesn't seem to support: When setting the Now time in a sequence, and it looks backward to see the value of controls, it doesn't stop if it gets to CC121 (All Controllers Off), so it will set values that it finds earlier than that. Minor point, and only matters if you start individual clips with CC121 to have a clean slate, but it would be nice to get this right. If the backward scan encounters this, it should stop scanning, and ensure that CC121 is sent before all the other control values that it found back to that point.

 

Link to comment
Share on other sites

19 hours ago, Promidi said:

I use CC84 on some occasions and it always works intended.  On my XG equipment, CC84 controls the start note of a portamento.  Of course I have to use CC65 to turn portamento on and use CC5 to control the portamento time.   The destination synth has to respond to these CC numbers.  All Cakewalk does is send them, it's the synth's job to know what to do with them.

Well sure, but if it moves the Note On without keeping the CC84 right in front of it, it breaks it, and it's hard to fix it manually. It works if you move an entire selected region including controls, but not if you drag the beginning of a note in the PRV.

Thanks for the pointer to that support page.

Link to comment
Share on other sites

23 hours ago, Paul DeRocco said:

Well sure, but if it moves the Note On without keeping the CC84 right in front of it, it breaks it, and it's hard to fix it manually. It works if you move an entire selected region including controls, but not if you drag the beginning of a note in the PRV.

 

It sounds like that when you move a note on event (by moving the note back) , Cakewalk is supposed to know to move the proceeding CC84 event as well so as to keep the CC event proceeding the note.  If I move a note, I would not want to move any other event - even if the surrounding CCs are to effect the note.  It's a matter of you knowing your MIDI sequence yourself and what CCs you're using and where.  Cakewalk automatically deciding what CC events to move along with the note would drive me nuts and would be the first thing I would disable.  (Unless I am misinterpreting what you're asking)

That sounds like a feature request rather than a bug.  MIDI events are simply data.  If you want to CC84 event to move as well you make sure it's selected along with the note.

Edited by Promidi
  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

If you move a Program Change, do you expect any preceding Bank CCs to move? Of course you do, and Cakewalk goes so far as to combine them into a single event. This is really no different. A Note on preceded by High Res Velocity and/or Portamento Controller really is a single event, because those controls only apply to that note, rather than setting some persistent values that apply to all subsequent notes. Cakewalk should treat it that way.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...