Dorico 2.2 Keeps loosing ASIO assignment

About once every two weeks Dorico seems to just loose its mind and not connect to my Focusrite RedNet ASIO drivers. Instead, it chooses some “Generic ASIO Driver” and one of my monitors as the output.

I can delete the monitor device in Device Manager and still this is cached somewhere in the Dorico software.

Even worse, I can’t re-select my ASIO driver. It is in the list under Edit>Device Settings. Selecting it does nothing. Rebooting does nothing. So, it is willing to forget my real interface and then completely unwilling to forget others. It is very frustrating.

Then all of a sudden it might work through some random act of opening and closing the program, trying different files, etc. Last time this happened, I had to re-run the Dorico installer to get it reset. Then I don’t reboot my computer until a project is done. Often when trying to fix this, Dorico hangs up so hard, I have to power cycle the computer. I can’t even get Task Manager with Ctl-Alt-Del.

I don’t EVER want a different ASIO device selected than my primary sound card. If there is some problem with it, I want it to not work and give me a real error message, not choose some other random system driver that seems audio related. Only one thing is connected to my studio monitoring system.

I don’t have this problem with Cubase ever. The Focusrite Dante PCIe card has been rock-solid for me.

Is there some way to tell Dorico to reset the VST system, to forget about old drivers it may have once seen? Remove unwanted ones from its list? Something?

There is some message that flashes by about Suspending the ASIO system or something on boot up, but it is so fast I can’t read it. Likewise, when trying to adjust the ASIO device assignment in Edit>Settings, there is some small white dialog box that flashes so fast I can’t read it. So I’m troubleshooting blind.

I did go to Control Panel>Sounds and disable every system sound device. The monitor was the old “default device”. Now there are none. But I need Dorico to actually use ASIO.

I ran the Dorico Diagnostics and dove for log files. I found the startup logs (application.n), and there is at least a hint.

Here’s what it looks like when correct:
2019-01-11 19:50:02.383 : Initializing Audio Engine
2019-01-11 19:50:02.578 : Launched Audio Engine
2019-01-11 19:50:02.579 : Audio engine: Waiting for connection
2019-01-11 19:50:05.815 : Audio engine connected: VSTAudioEngine2 2.1.10.328
2019-01-11 19:50:06.289 : Audio engine: Running
2019-01-11 19:50:06.291 : Audio engine initialised: VSTAudioEngine2 2.1.10.328
2019-01-11 19:50:06.292 : Setting audio device: RedNet PCIe
2019-01-11 19:50:06.415 : Stereo output pairs for current device:
2019-01-11 19:50:06.417 : - RedNet PCIe Tx 1, RedNet PCIe Tx 2 (and so on - there are 128 I/O ports on this card)

Here it is with some failure already occurring in boot up:

2019-01-14 08:57:50.036 : Initializing Audio Engine
2019-01-14 08:57:50.091 : Launched Audio Engine
2019-01-14 08:57:50.092 : Audio engine: Waiting for connection
2019-01-14 08:57:53.946 : Audio engine connected: VSTAudioEngine2 2.1.10.328
2019-01-14 08:57:53.948 : Suspend ASIO ignored - not initialised yet
2019-01-14 08:57:54.372 : Audio engine: Running
2019-01-14 08:57:54.374 : Audio engine initialised: VSTAudioEngine2 2.1.10.328
2019-01-14 08:57:54.374 : Setting audio device: RedNet PCIe
2019-01-14 08:57:54.499 : audioDeviceBaiosChange: Baios Stopped
2019-01-14 08:57:54.583 : audioDeviceBaiosChange: blockSizeChanged
2019-01-14 08:57:54.584 : Stereo output pairs for current device:
2019-01-14 08:57:54.585 : - 3 - DELL P2815Q (AMD High De 1, 3 - DELL P2815Q (AMD High De 2
2019-01-14 08:57:54.586 : Setting preferred stereo pair index: 0
2019-01-14 08:57:54.633 : audioDeviceBaiosChange: Baios Started

I don’t know how it thinks it can associate this driver with that output, but it is not possible. The RedNET PCIe card is a Dante card that only has an Ethernet cable and connects to converters across the studio.

Then after I disabled the monitor driver in Windows it went to this:

2019-01-15 20:19:54.351 : Launched Audio Engine
2019-01-15 20:19:54.354 : Audio engine: Waiting for connection
2019-01-15 20:19:57.586 : Audio engine connected: VSTAudioEngine2 2.1.10.328
2019-01-15 20:19:57.588 : Suspend ASIO ignored - not initialised yet
2019-01-15 20:19:58.032 : Audio engine: Running
2019-01-15 20:19:58.034 : Audio engine initialised: VSTAudioEngine2 2.1.10.328
2019-01-15 20:19:58.034 : Setting audio device: Generic Low Latency ASIO Driver
2019-01-15 20:19:58.147 : Stereo output pairs for current device:
2019-01-15 20:19:58.148 : - Simulated Port 1, Simulated Port 2
2019-01-15 20:19:58.149 : Setting preferred stereo pair index: 0

I did find this error in one of the logs:

2019-01-14 08:58:25.675 : Restoring engine state from file: C:/Users/NATHAN~1/AppData/Local/Temp/Dorico 2/ocfsessions/session-9e06/ef3a-ea16-98d8-73dc/supplementary_data/vstaudioengine/enginedata
2019-01-14 08:58:25.865 : UI Delay 2.4s
2019-01-14 08:58:26.466 : Amending command: File.Open?File=C:/Users/Nathanael Iversen/Dropbox/MITA Finished Homework/Lesson 16/Lesson 16 COMPOSITION.dorico
2019-01-14 08:58:26.499 : notifyPostCommandExecute: File.Open?File=C:/Users/Nathanael Iversen/Dropbox/MITA Finished Homework/Lesson 16/Lesson 16 COMPOSITION.dorico (3933 ms)
2019-01-14 08:58:27.806 : Suspend ASIO: true
2019-01-14 08:58:32.079 : Suspend ASIO: false
2019-01-14 08:58:33.533 : Restore finished
2019-01-14 08:58:33.574 : Attempting to remap output ports:
0: 3 - DELL P2815Q (AMD High De 1
1: 3 - DELL P2815Q (AMD High De 2

2019-01-14 08:58:34.187 : audioDeviceBaiosChange: resyncRequested
2019-01-14 08:58:34.194 : Remapped outputs:
Mixer output port ID 7 =>

  • => Audio DevicePortID 8: O|Generic Low Latency ASIO Driver|3 - DELL P2815Q (AMD High De 1 OK
  • => Audio DevicePortID 9: O|Generic Low Latency ASIO Driver|3 - DELL P2815Q (AMD High De 2 OK

It is not clear why it decided to remap the output - there are no other audio error messages above this in the file. But that remapping is DEFINITELY why I don’t hear audio. That doesn’t go anywhere useful.

Going to that Temp directory and digging in the files, it seems that Dorico basically saves a bunch of state here and looks at the last session to load that back again. Generally, this is super helpful. In the case of my audio interface it is not at all. Once the program exits with a bad selection, it just keeps recalling it.

I can easily step back a day or two in these files to see that the last “good” launch of Dorico. It looks like a standard XML file. I’m sorely tempted to do some surgery and replace the audio engine portion with what works, or delete all the caches back to a known good (move and rename them actually). I just want to work again, but kudos for writing useful status into the log files. Nicely done. Maybe I can at least get back to working tonight.

Well. No surgery. I did temporarily move the cache files with bad assignments out of the directory, but it didn’t work. It still loaded the wrong driver and still won’t let me fix it. All files put back, but I can’t work. I’ve lost a whole evening of writing. After 3 or so attempts to change the ASIO driver, the program hangs so hard I have to hard power cycle it. Please help. I’m decent with computers, but I hate losing writing time to playing IT guy.

I finally got it. What worked: I removed the entire Dorico2 directory in the C:/Users/NATHAN~1/AppData/Local/Temp directory, figuring there must be some other state somewhere in it. Then I restarted Dorico. I was able to change to my Rednet ASIO driver. But no sound would output. I exited Dorico cleanly and rebooted. After reboot, the RedNet ASIO driver selection was correct, and sound worked normally. I can write again! That is the main thing. But if there is some log I can give you help fix this, please reach out. At least I didn’t have to re-install the whole program, although it might have been faster than troubleshooting. So, there’s a workaround at least.

Hi Nathan, I’m glad to hear you sorted the problem yourself. While reading your first post I was immediately thinking of asking you about creating a diagnostic report, but now that you have it running, there is no point in doing so.
However, should the problem come back, then definitely, choose from Dorico’s main menu Help > Create Diagnostic Report. That will create a zip file on your desktop, please attach here.

Another thought I had, if you really only ever use your Focusrite, then it is also worth considering uninstalling the Generic ASIO Driver, so the system will never be able to default back to that one. For that you would simply go to the Windows Control Panel, choose ‘Apps & features’, look for the item ‘Steinberg Generic Lower Latency ASIO Driver 64bit’, click on it and uninstall.

Thank you for the location of that driver. I suspect it will get re-installed with every version of Dorico or Cubase, but good to know about. As long as I can keep the driver I want active, I’m fine. And thank you again for useful logging. The application logs are pretty thorough, and seem well thought through.

Is it the case that you have the preference to suspend the ASIO device when Dorico is in the background set? If so, I would suggest turning that off. It has been known to introduce some funny business.

It happened again. It switched back to the Generic ASIO driver after sitting idle for a few hours. Like before, trying to change it back would not work and after the third try, it locked the machine hard. I had to physically power it down and restart. I went and deleted the temp files, and it let me assign the right interface, but curiously, the sample rate was grayed out and no sound would come out. I went to the Preferences, I did and the “suspend ASIO device” box was checked, so I unchecked it and quit the program. I deleted the temp files again, rebooted, and it is again working.

Not sure exactly what triggers it, but I would agree that there is some “funny business” somewhere in this area of the code, though I can’t be sure what triggers it. If it is that checkbox, hopefully I won’t see it anymore.

Could it be that there is an electrical problem with your Focusrite? The audio engine will normally default back only if the previously set driver is not available. So if, for maybe some connector problem, your Focusrite is not seen, then the app switches back to the available driver, and that is the Generic one. The fact that the sample rate is greyed out is also an indicator for that. Because the generic driver is around and can be chosen from the audio engine, but the driver itself cannot detect any hardware ports that it can play out to and therefore also does not know any supported sample rates.

I suppose it is technically possible. At the same time, I never have this working in Cubase. It has never lost audio driver on me. Would there be any way to check this?

Even more strange that it does not happen in Cubase, because for most parts the Dorico Audio Engine and Cubase are same.
If it happens next time, please do in Dorico ‘Help > Create Diagnostic Report’. That will create a zip file on your desktop, please send to ‘u dot stoermer at steinberg dot de’.