Where can I assign audio outputs?


I use a multi-channel audio interface and would like to assign players/voices/instruments to the different channels for monitoring/listening.
At the moment I hear nothing, but VU meters in HS SE2 are moving and indicate that there’s sound produced, but it’s not coming through for some reason…


Check your audio device in Preferences, routing would be done in the HSSE2 Mix tab. It appears to default to giving each instrument a separate output. (Assuming it is all implemented, did not try routing separate physical outputs.)

I feel so embarrassed right now, all is well, and it sounds beautiful…
Won’t even tell what I did/did not do… :unamused: :blush:
Steve, would you rather delete the thread (clutter), or leave it as a warning to think first and post later?


Well, just put your clothes back on and get on with your life. :stuck_out_tongue: what happens in Dorico stays in Dorico. Unless you export XML. :wink:

Well, if you don’t mind, I would leave it, since the setting the audio device question might be common. But I’m happy to delete it if you want- just reply saying so and it’s gone, along with my brilliantly snarky joke.

:wink: Thanks…

Well, as a matter of fact, there seems to be a genuine issue with the audio output:

When I select the native ASIO driver for my interface, I end up with everything sent to a single mono channel on my board, seemingly chosen at random.
When I select the Generic ASIO driver, everything is sent to stereo master, which is better already…

And output channel choices I make in HSSE do actually reflect in the Dorico mixer, it’s just that after that mixer it doesn’t get sent to the proper channels on the board. There is nowhere that I can assign physical/driver output channels to mixer channels in Dorico…


Is there any workaround / xml hack that lets me assign Dorico’s audio output to other channels than 1/2? My new mixer has a dedicated usb return on channel 11/12 which works perfectly with everything except Dorico. Guess I can use a aggregate devices, but I’d prefer not to.

My guess (and I know literally nothing about this, so I am very likely wrong) is that you can edit the Port Setup.xml file in the VSTAudioEngine settings folder. I believe setting the role “left” and “right” on the appropriate outputs will do the job, if you can determine which are the right ones!

Thanks for the suggestion, but it didn’t seem to take effect, and I noticed that the file reverts every time I close Dorico. Let me know if someone else has an idea.

Just a quick note- be sure you do this edit when Dorico is not running. I probably reads the file during launch time, and writes to it on quit. Since there’s no place to change the value, it will rewrite the default value.

Thank you for your input. I’m pretty sure that’s what I did, but I will triple check it.

Sorry to say, but PortSetup.xml will not help in this case.
The facts are: The audio engine is prepared to send audio out to any of the available ports of a multiport audio interface, but Dorico has no GUI to change the port assignment. Therefore, currently always the first two available ports of the interface get chosen.

It is possible to change the port assignment in the project data, but it is a bit hacky and requires some deeper knowledge and skills.

Do you always want the audio to come out of a specific pair of ports, or do you have the requirement of frequently changing the port assignment?
For the first case, we could create a base project for you, where I modify the project data to your specific need, and you then would start every new project based on that one.
Or I teach you how to do that yourself and you can do it for the projects where you need it.

I would be very happy if you could point me in the right direction, so that I can change a few of my existing projects.

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-input-mappings id="3" />
	<audio-output-mappings id="4">
		<audio-port-mapping id="7" mixer-port="5" device-ports="5|6" />

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.