Where can I assign audio outputs?

Okay, then here we go:

First of all, as a prerequisite, I propose that you make backup copies of your original project files for the case that something might go wrong.

  • A Dorico project file is actually a zipped archive, so if you rename a project from *.dorico to *.zip you can unpack it with any zip utility.
    You then see 2 folders (META-INF, supplementary_data) and 2 files (score.dtn, scorlibrary.dtn).
    Browse to supplementary_data/vstaudioengine/enginedata
  • When you open the file enginedata in a text editor it looks as if it is a text document, but at the end it also contains raw data.
    Therefore, don’t use a text editor for editing this file but a hex editor instead. Because a text editor may make some interpretations
    of characters and change them during saving, thus rendering the file invalid (from Dorico’s point of view).
    So have a google search for ‘hex editor’, there are plenty of free hex editors out there for any platform, so pick one, download and install.
    Then open the file enginedata in the hex editor.
  • Search for the term “AudioMapping” in the file, that should lead you to a section that e.g. could look like following:
AudioMapping    <?xml version="1.0" encoding="UTF-8"?>
<audio-device-document device-name="Generic Low Latency ASIO Driver" sample-rate="44100" blocksize="1102">
	<audio-device-input-ports id="1" />
	<audio-device-output-ports id="2">
		<audio-device-output-port id="5" name="Out Left1" device-id="O|Generic Low Latency ASIO Driver|Out Left1" />
		<audio-device-output-port id="6" name="Out Right1" device-id="O|Generic Low Latency ASIO Driver|Out Right1" />
		<audio-device-output-port id="7" name="Out Left2" device-id="O|Generic Low Latency ASIO Driver|Out Left2" />
		<audio-device-output-port id="8" name="Out Right2" device-id="O|Generic Low Latency ASIO Driver|Out Right2" />
	</audio-device-output-ports>
	<audio-input-mappings id="3" />
	<audio-output-mappings id="4">
		<audio-port-mapping id="7" mixer-port="5" device-ports="5|6" />
	</audio-output-mappings>
</audio-device-document>

So you see a list of all the available ports for you audio interface and what id numbers they have internally.
In this example, ‘Out Left1’ has id 5 and ‘Out Right2’ has id 8.
Then there is the line

 <audio-port-mapping id="7" mixer-port="5" device-ports="5|6" />

The last 2 numbers there specify to what port id Dorico’s audio will get sent to.
So in this example, if I want to change to ‘Out Left/Right2’, then I would change ‘device-ports=“5|6”’ to ‘device-ports=“7|8”’.
You see, basically it is just changing two numbers.

  • Save the file and quit the hex editor.
  • Now it is just a matter of zipping up the whole lot again, to create the Dorico project again.
    So go up two levels so that you see META-INF, supplementary_data, score.dtn and scorelibrary.dtn again.
    Zip up these 4 items to an archive file. Once done, rename from *.zip to *.dorico
  • That’s it. Load your “new” Dorico project and check if audio comes from the expected ports.

Lots of text but in the end it’s not so complicated. Please try and shout out if you get into trouble.