Dorico changing voices between flows

Hello community, I’m pulling my hair out with this score I’m writing and Dorico keeps changing the voices every time I reopen the project.

I have an extremely complicated score that uses all sorts of extended techniques, therefore I had to create multiple different voices to access different VSTs. In a nutshell it goes like this:

Vln 1:             Port 1      Ch 1
Vln 1 FX:          Port 1      Ch 2
Vln 1 FX:          Port 1      Ch 3, etc.

Vla 1:            Port 2      Ch 1
Vla 1 FX:         Port 2      Ch 2, etc.

Thus, every instrument to its own port and the extended techniques to a channel within that port.

I composed my 1st movement with a couple of extra voices, I assigned the main regular instrument to Ch 1 and any new technique to Ch 2, 3, etc as needed.

The problem: When I began the 2nd movement (separate Flow) all was well in the 1st session, but when I opened the project again the next day all the channels from the 1st movement had changed. I thought “OK, my fault for being messy”. So I reassigned every voice to use its correspondent channel: Upstem Voice 1 = Ch 1, Upstem Voice 2 = Ch 2, etc. All went well, continued to 3rd movement (Flow 3). The movement begins with extended techniques (on channel 5), so I was careful to create all the necessary voices (Upstem Voice 1, 2, 3, 4 and 5), assigned each one to its proper channel. Everything played back correctly, but when I opened the score again today voices had changed throughout the score in all flows!!! For example the opening line of the last Flow has changed from Upstem Voice 5 to 1 and consequently everything from the 1st Flow is now playing on channel 5… Sigh!

It’s a huge score with an enormous amount of editing and every time this happens I also lose all the CC data for that particular voice. I don’t know what to do and I’m running out of hair to pull, any thoughts?

Much obliged!

Note: this is Dorico 3.5, using default Expression Map (just velocity, no KS) on Windows 10
Note 2: I have read through other posts that claim to have a workaround, couldn’t understand them and their issue appears different.

I suspect the root cause is that unused voices will be deleted when the project is closed. So if Up-stem 5 is the only Up-stem voice in a Flow, that will be ‘simplified’ to Up-Stem 1 on re-open.

However, I can’t replicate any loss of CC data after re-opening a file where the voices have been re-ordered.

I’d suggest another method of working: it is possible to change MIDI channel in an Expression map, so you can assign channel changes to particular techniques. That’s probably much easier.

What sample libraries are you using?


Thanks Ben, that was my suspicion too, that’s why I tried the different method of assigning each voice to a channel in the order they’re configured. But say in the 1st Flow I have voices 2 & 3, but in Flow 2 I have voices 1 & 5. It all works fine until the next day when I open the project and all voices have been changed to 1 & 2.

Initially all CC data has been fused together into the same voices (data from Voices 1 & 5 has moved to Voices 2 & 3), but if I return voices 2 & 3 to the correct configuration all CC data is lost.

I have found Expression maps to be unreliable and require an inordinate amount of indications that would not normally be in a score. It also defeats the purpose of Piano Roll environment as they become locked to their definition and can no longer be edited independently.

As to what libraries I’m using? Many, but here is a sample of Violin 1:

VSL   Port 1 Ch 1 (main instrument: pizz, snap, staccato, sfz, sustain, legato)
CrHe  Port 1 CH 2 (FX, sul pont, dynamic tremolos, falls, doits & bowing behind the bridge)
CrHe2 Port 1 CH 3 (Slides up and down, plus a few FX not availalble above)
SFZ   Port 1 CH 4 (Sul tasto, overpressured, body taps, feathered)
SFZ2  Port 1 CH 5 (Transitions between techniques e.g. sul pont to sul tasto)

Other instruments look similar.

I’ve found Expression Maps to be entirely reliable - though a bit of work to set up. They are the link between what’s in the score and what your library can do. It becomes very easy to modify them and get a global change – Dorico’s overall philosophy.

Sure, but we probably don’t work the same way. I often combine different KS for what on paper appears the same. Also, I have regularly encountered the problem (as I did back in Sibelius) that they don’t trigger exactly where I need them to. In general, I find them to be more problematic than anything, all of which has been logged on this forum. Eventually I just gave up and work manually. It’s quicker for me.

Right, I have found a workaround although it took 6 hours to complete.

  • Basically I created a demisemiquaver chord cluster and then added it to the first beat of every movement (Flow).

  • Then I assigned each of these notes to a different Upstem voice.

  • Because the voice order is all messed up now, I had to copy the whole project to a new file.

  • In the new file reassign all voices in the correct order according to channel settings and redraw all CC info.

The project now retains the configuration between sessions.