I've used CC + Notation: here's what I learned.

Greetings again,

Note: this input is not engraving-oriented, but for those who primarily will use Dorico for MIDI playback, to create convincing mock-ups.

I’ve been using another notation program recently that has CC editing and have discovered a few things that are exactly as they should be to be musically accurate. I’m not selling that program here, as it has it’s own limitations. All do. But this paradigm leaves very little room for flexibility, as this list works exactly how music does in the real world.

Example: Flute 1 & 2 on the same staff - The program I used has a dropdown to select voice 2. This illustrates the workflow once you select the voice you want to work on:

  1. working on v2 has unique CC lane and data
  2. v2 can be sent to a different MIDI channel
  3. v2 has it’s own expression map equivalent
  4. working on v2 greys out v1 in the CC lane and the notes. This is a huge UI win, making it very easy to focus and work.
  5. If you use a2, you can chose in each case (or by default) to have it send the same notes to both voice’s assigned MIDI channels.
  6. When adding hairpins, it should populate the CC data with a crescendo… on each voice’s CC lane for that staff.

I’m not saying Dorico should copy the feature list, but note that two instruments on the same staff can do two completely different performances. That’s all I’m saying here. These are just the variables in another program that lend to it. I realize Dorico is early days with CC data. I only bring it up now as some recent Dorico discoveries have made me realize Dorico is much closer to competing with the other software I use than I previously thought. I realize it will take years to get there still.


I’m hoping that the flexibility with CC and voices will appear when Dorico introduces its strategy for combining two (say) flute parts on the same staff of a full score.

At that point there will be a distinction between voices and combined parts.

Although we do plan to make it possible to specify that each voice on a staff can be directed to a different MIDI channel or indeed even a different device, as Derrek says, when it comes to things like flute 1 versus flute 2, these will always be separate players in Dorico and hence already are routed separately for playback, even once they can eventually be displayed on a condensed staff showing both instruments.

I believe it has been explicitly hinted — in addition to what we could extrapolate from how the concept of Players has been fleshed out so far — that shared staves will work on a higher abstraction layer than individual players. Much like instrument changes: instruments assigned to one player are, conceptually, very much two different instruments, with their distinct lower-level properties; you don’t directly write into the shared stave for that player, but rather it is put together by the data that resides on the lower level. Divisi staves will work the same way, as far as we already know, so we can rest assured that instruments on the same staff will have their individual properties — though hopefully they will make it easy for us to pass-through some kinds of data to multiple instruments at once, or having the envelope lanes on the higher level modulate the output of those under it.

This matter should be a concern (if it is) when one considers voices instead. We’ve heard of plans to be able to route different voices to disparate places. But, in that case, I’d be fine without such granular control.

Edit — Heh, way too slow.

Right, that’s the one point that’s missing in the other program I mentioned. If Dorico doesn’t end up having a multi-voice workflow that’s at least halfway intelligent, then I’m better off composing on paper still. By “intelligent”, I don’t mean that as an insult, but essentially “computer intelligence”. I don’t expect Dorico to become skynet and take over the world… probably. But I do want to place a dynamic marking and move on with my composing, instead of taking extra steps to suit Dorico, instead of Dorico suiting what I’m trying to do.

The rest of the points are meant to comment on the same nature. My user input should be simple. Then Dorico MIDI output should be both ‘default’ smart and flexible, not just one or the other. Per the input from Daniel and Derrek, I expect the flexibility will be right in the end. Hopefully it will also be intuitive on the top level. Ultimately, that’s the ideal place to be doing all the work anyway.