Unwelcome CC7 data are unwelcome

I have a cello ensemble doing this:
cello_notes

… and unfortunately sounding like this:

In the play tab, I see this:

Note the information on controller 7. I have no idea where that came from, and I am unable to get rid of it. Notating dynamics in the score, drawing data on that graph, even deleting the notes – nothing has any effect.

Anyone got any ideas about removing it, that don’t involve destroying the staff?

as there is no asterisk against CC7, that means that in theory there is no data on that channel so it is pretty weird! Is any controller allocated to CC7 by any chance in the EM? Is there any difference if you don’t use separate voices?

Yeah, it’s bizarre, @dko22… no reference to controller 7 anywhere in my expression maps. I don’t know what you mean by not using separate voices; there’s only one voice on the staff (“Up-stem voice 1”).

if you are not splitting the celli anywhere, I can’t see any reason for enabling independent playback of voices as you have done? I don’t suppose it makes any difference but did you try without it?

1 Like

Something in the notation is giving rise to those controller messages, presumably a dynamic. If you can cut the project down to just that affected little chunk and attach it here (without changing the playback template so that we don’t lose the expression map settings) I’d be happy to take a look.

Here ya go, @dspreadbury. Let me know if this is missing anything that you need.

Thanks. At first glance I can’t figure this out, but I’ll see if Paul will take pity on me and give us the benefit of his expertise.

1 Like

had a quick look here. On “upstem voice 1” there is no CC7 data, unlike in your original screenshot. However, if you do not split the voices, I do see the CC7 line which suggests to me that Dorico thinks there is another voice present which does have CC7 data, Can it be that this extract originally belonged to a two voice cello line? Anyway, if I delete the CC7 data in the non-split mode then it simply goes which is why I asked the question in the first place earlier.

Where it came from I still have no idea. There is certainly nothing in the EM referring to CC7, just as you said!

This was a head-scratcher for me too for a while, as I deleted all notes and dynamics, but the CC7 data was still there. I noticed that Independent Voices were turned on for the track, so I turned it off an lo-and-behold, the CC data was now editable. So you can access and delete it by turning off Independent Voice Playback.

As to how it happens, I think it may get in this state if you add automation data to an instrument, then turn on Independent Voices. At this point we create a new automation stream for each voice (previously we just had one automation stream for the whole Instrument), but the old one for the instrument hangs around and gets played and displayed, but there’s no way to edit it. We’ll have to think about how best to handle what happens to automation data when you switch independent voices on.

so I wasn’t imagining things – the split/independent voices was the issue as I thought all along. I have never myself come across “trapped” CC data after later enabling independent playback but Dorico’s behaviour seems perfectly consistent here – the data doesn’t show in voice 1 because it isn’t in voice 1 and you can only delete it where it shows.

I guess only Milo can possibly shed any light on where the CC7 comes from but perhaps it doesn’t matter any more…

1 Like

Thanks, @dko22 and @PaulWalmsley!

I don’t know how the data got there, but removing it has fixed my playback. I’m actually paranoid, now, and shall proceed to review all of my other staves for ghost / zombie MIDI continuous controller data. :grimacing:

Regarding enabling independent voice playback, I have other flows in the same score that require that. I haven’t figured out how to enable it for some flows, while disabling it for others; even if I click the button to “Set for This Flow,” the change applies globally, to every flow.

Why is the user given the option to enable or disable independent voice playback, anyway? What’s the use or advantage in turning this off for a staff that has multiple voices written for it? Has this been discussed elsewhere?

the main reason for independent playback of voices is if you want to use different articulations or even instruments for the different voices. Dorico then automatically creates extra channels to enable this. If you don’t need this, then don’t bother enabling otherwise something might just go wrong…

I understand the intention behind it, I just don’t get why it was implemented the way it was. If one clicks the switch to the off state, then it eliminates the current VST and channel assignments for all additional voices on the staff. (Fortunately, the Undo command works to reverse this action, which even affects all flows, apparently.) Why would anyone ever want Dorico to do that?

I also find it annoyingly proactive; it generates a new entry in the VST Instruments drop-down. But what if I already have a VST to which I want to assign the additional voice(s)? Now I’ve got to delete the extraneous VST. Why not simply remove the independent playback switch altogether, and make it the user’s responsibility to ensure that he has the channel count and VST(s) that he requires? Is there really some mystery as to how VST and channel assignments work, by this point?

This is just a limitation of the current implementation. One of the reasons for having to do it this way is that a major use cases for separate voice playback is the solo + gli altri case, where each voice requires a different sound (solo and section instruments). We could look into an enhancement in the future where it will reuse the existing allocated voice in the non-divisi case.

As a general principle, Dorico’s model is that it tries very hard to avoid overwriting any changes you have made to any VST plugins, which is why adding new instruments or toggling separate voice playback creates entries that are out of order. However, if you re-apply the playback template then everything will be re-assigned in score order. Endpoint configurations and custom playback templates can be useful to reduce the amount of manual setup by reusing the instruments that you commonly use.

Seperate voices for divisi staves really should be the default.

1 Like

Since the VST’s are separate routines which do not (yet) communicate info back to Dorico, I’m not sure how Dorico would know what separate sound to assign to a second divisi voice, especially since Dorico would not even know for sure which VST package(s) were available.

Using the same logic it uses now to create the basic tracks?

Obviously you might need to change it to get e.g. a solo sound instead of a section, but you’re no worse off than you are today in the worst case.

1 Like

I still haven’t grasped the reason why different musical lines (meaning, music set to different voices by the user, either explicitly or implicitly, e.g. music on different staves, divisi or otherwise) don’t simply translate to different MIDI channels by default, and why there is some need for users to enable or (especially) to disable independent playback of voices on a staff.

Intuitively, if I set a staff to solo/gli altri divisi, then poof, another voice would be added to the drop-down for that instrument in the Play tab, set to the same VST and channel as the original voice. If I want to assign it to a different VST and/or channel, then I just do so. If I’m fine with it playing on the same VST and channel as the original, then I just leave it alone.

< shrug >  Anyway, now that I have a better idea how the ghost/zombie CC7 data might have been introduced into my score, and better yet, how to get rid of it, I can work around this aspect of Dorico’s design. It’s not a show-stopper.

There are many considerations. Pianos, guitars, harps have multiple staves and voices but you wouldn’t want them (by default) to result in new plugins. If you’re using multiple voices for multiple players, as with divisi then it’s more natural to want them to be routed separately.
There are no doubt areas we can improve in the future for divisi, but these are not trivial changes.

< nod > Certainly. Personally, I would never want Dorico to add a VST while in Write mode; that should happen only in Setup mode, it seems to me, and even then only when it can’t find a suitable extant VST. It’s fine for it to add voices in Write mode, though, along with channel assignments for new voices.

No doubt. Thanks so much for your time and attention in this thread, Dr. Walmsley!