Dorico Independent Voice Playback Improvement

Hello dear Dorico team,

I would like to ask you for a small but huge time saving improvement in the are of Independent Voice Playback.
Currently if we enable the IVP most of the times it duplicates virtual instrument plugin instance e.g. Kontakt, VE Pro plugin, Spitfire Audio Player… etc. Sometimes it happens to redirect one of the voices to the very same VE Pro plugin instance.
The Duplication is great for instrument plugins that does not support multiple MIDI ports and channels, but if we are using mainly instrument plugins that support multiple ports and channels it doesn’t work well.
I suggest the following solution:

  1. We need a per track/staff option that will allow us to choose how the IVP function will behave.
    1.1. As Duplicating
    1.2. As Non duplicating - here another options should be available:
  • to preserve the Port number and increase sequentially only the Channel, by following the 1st voice.
  • to preserve the Channel number and increase sequentially only the Port, by following the 1st voice
  • to increase them both.
  1. It could be added as a Toggle button to switch between the modes next to Enable Independent Voice Playback button.
  2. A global option in the Preferences, that will define the default behavior of IVP will be helpful, too.

I hope you would think about to improve it! :slight_smile:

Best regards,
Thurisaz :slight_smile:

This is a known problem (see this thread).

By the way, if you are comfortable editing xml files, it is possible to create playback templates that mimic the behavior you want by following the hints in that thread.

Maybe someone at Steinberg can tell us when/if this will be addressed in the next revision.

1 Like

Hi @dlb,
Thank you for your reply! :slight_smile:
I have tried to modify the endpointconfig.xml according to the example in the thread.
Unfortunately didn’t help…

I hope the team will improve this situation in the next major release! :slight_smile:

Best wishes,
Thurisaz :slight_smile:

Here’s an example of how I setup the endpoint configuration file.

The first table shows the values in the endpoint configuration file for a string section that consists of a Solo violin, Violins I and II, Violas, Celli, and Contrabass staves.

All but the solo violin have two voices with IRV enabled. Note that the entityID and playerType for Violins I and II are the same, so the index goes from 0-3. The others are self explanatory,

You also need to adjust the endpoints values. It’s been a while since I did this and don’t remember if this needs to be changed but I think it does.

The second chart shows the endpoint setup dialog for this section of my playback template. You need to make sure you allocate enough midi channels for the section in question.

All the other instruments (woodwinds, horns and percussion, keyboard, and harp) do not enable IRV. The template using this endpoint configuration rebuilds in a single VE Pro instance with 4 ports and up to 13 channels in each port.

I hope this helps.

1 Like

Hi @dlb,

Thank you very much for the detailed information! :slight_smile:
I’ve tried to follow your instructions and logic, but it didn’t fully worked here.
You are dedicating two I.V.P. slots per instrument section, which means two different, but simultaneous techniques per section Divisi.
In my case I would like to dedicate 3 - 4 I.V.P. slots per instrument section, which will allow me to have 3 - 4 different, but simultaneous techniques per section Divisi.
I have the needed Ports and Channels in my Endpoint Configuration.
The only positive result I was able to achieve, is to reduce the VE Pro plugin instances from 4 (1 per Independent Voice) to 2. Still a single Independent Voice is routed to a new instance, while 3 others are routed properly to the desired one.

Best wishes,
Thurisaz :slight_smile:

If you want 4 IVP channels for a given instrument, then it should look something like this. I just built a simple example with a Violin with 4 IVP channels and it loads the playback template into a single instance of VE Pro.

If you still can’t get it to work, please upload a simple project and I’ll take a look at it.

Hello @dlb,
Thank you for the reply! :slight_smile:
I will try it.

About the Violins II the Index should continue as 4, 5, 6, 7 and the irvIndex as 0, 1, 2, 3. Am I right?

Best wishes,
Thurisaz :slight_smile:

That is correct.

1 Like

Hi @dlb,
Well, the changes to the endpointconfig.xml recommended by you works as expected with
almost all String instruments, except when I’m activating the IVP for Violins I
Here are the edited and original xml files:
Original_endpointconfig.xml (10.0 KB)
Edited_endpointconfig.xml (12.9 KB)

Here is how the Endpoint Configuration in Dorico looks like when using the edited xml:

And here is how it should look like in order to work properly:

  • In the Edited_endpointconfig.xml Violin II is assigned to Index: 4 and irvIndex: 0
  • The Original_endpointconfig.xml contains the <endpoints></endpoints> for all IVPs
  • Channel 1 for every Port is dedicated to a Solo String instrument.

Unfortunately I can’t share a project file, nor Playback Template because it contains paid Expression Maps by Symphonic-Riot.
I would be very thankful if you could figure out what’s wrong and how I can make it work as it should. :slight_smile:

Best wishes,
Thurisaz :slight_smile:

In your original endpoint config file, violins I shows 5 section players with endpoint 4 repeated. This means 6 channels for that port and you only allocate 5. Plus the repeated endpoint 4 is a mistake.

So something is wrong here when you setup the original instrument allocation. I don’t know how this happened since I can’t see the project file. I suspect the source of the problem is whatever happened here.

Hi @dlb,
Thank you for your reply! :slight_smile:
I’ve noticed that oddness in the original endpointconfig.xml, but I don’t know what causes the repeat of the 4?! As you can see on my screenshots everything in the Endpoint Configuration dialog looks fine.
I’ve already sent everything to @dspreadbury , in a private message, two days ago and still waiting for assistance from him, or someone else from the team on this problem.
I really appreciate everything you have done in order to help me. Thank you very much! :slight_smile:
In general the behavior of the IVP should be improved in a way to provide us more control over it, without the need of editing of configuration files. :slight_smile:

Best wishes,
Thurisaz :slight_smile:

OK, I just tried to replicate your configuration. I was able to get it to work. Here are my original and edited config files:

original.xml (9.5 KB)
edited.xml (13.7 KB)

Also, a screen shot of the endpoint setup (before and after are the same).

1 Like

One thing to keep in mind…

When you edit a config file, you need to quit and relaunch Dorico for it to take effect. Otherwise, you’ll be using the unedited file when applying a template.

Hi @dlb,
Thank you for your effort to help me! :slight_smile:
I can see that your original.xml file is created correctly and there are no duplicated 4 in the
<endpoints>1,2,3,4</endpoints>
I don’t know why Dorico creates incorrect endpointconfig.xml file here?!

I’m aware about that. I always restart Dorico after editing the xml file.
Thank you once again! :slight_smile:

I will check if I’m able to make it work correctly…

Best wishes,
Thurisaz :slight_smile:

One other thing I noticed while creating this file, the port/channel assignments don’t always stick. I had to go reassign several of them. I think it has to do with whether I used the mouse to select the value or tabbed over to it and then reassigned the value. At any rate, make sure you go and recheck all of the assignments before creating the original endpoint config file. I suspect you have one conflicting somewhere.

Also, the instrument name should show up in all of the assigned ports/channels in the endpoint setup dialog. The image you posted had many missing entries. So that was a clue to me that the error was somewhere in violins II.

@dlb,
When I created the Endpoint Configuration everything was assigned as it should be.
The problem comes when you try to create a new project from Template - String Orchestra, or Empty - Manually populated.
The Violin II doesn’t appear in the right slot.
Try to create a String Orchestra project without using the Solo instruments and apply the replicated Playback Template, most probably you’ll end up with the same issue?! The first screenshot from this comment of mine:

Best wishes,
Thurisaz :slight_smile:

OK, I think you are expecting too much from this delicate workaround. It is meant to be used to create a specific playback template for a specific set of instruments. If you want to change the instrumentation then you’ll need to make a new playback template for that. We all need to cope with the shortcomings of Dorico until such time as they decide to fix it right.

I have made several of these types of templates and configuration files. Each one is specific to the instrumentation for that arrangement. Trying to generalize this was never my intent.

I’ve done this enough times that it’s almost second nature so I just tailor a template per project. This is useful when you need to reapply it because something else fails.

1 Like

Yes, probably I expect too much for the current stage of development.
I could deal with that. I hope the team will make some improvement in this area. :slight_smile:
Thank you once again for your time and effort! :slight_smile:

Best wishes,
Thurisaz

One idea that might be useful is to rename violins II to something unique. Assign then ports and channels as if they are violins. Maybe that resolves the issue you’re having. I have no idea if this works but since it seems the violas and cellos etc. work fine, then maybe this would work.

And here’s a better idea. For the violins II, instead of irvindex of 0,1,2,3, use 4,5,6,7 like the index. This works in the case of removing the solo violins. Didn’t check any other cases. Maybe this solves the general problem altogether.