Audio export is choppy

I’m using NP3. Playback is normal. But when I export an mp3, I get choppy audio.

File here: https://www.dropbox.com/s/0y6r5ngdng6fktu/Gesu%20Bambino%20-%20orch%20demo%20bad.mp3?dl=0

It doesn’t do this consistently, but it’s doing it now.

WAV file export works fine.

Thoughts?

If you switch to HALion, do you get the same result with that? What about exporting as WAV?

We’ve had similar reports from a beta tester who found that they had this problem if they had a small audio buffer size. What buffer size are you currently using, and does the problem go away if you make it larger?

Ah, that’s probably it. I sometimes get dropouts when playing a big orchestra score with NP (it often happens when the choir parts come in). My buffer is set as high as it will go, and it’s still not acceptable.

I have a pretty decent laptop, but I think the audio driver is pretty poor. I’ve tried ASIO4ALL, but it doesn’t work. I just need to get to the bottom of this. But I guess it’s a hardware problem, not a Dorico problem. Thanks!

Do you have e.g. a USB audio device you could hook up to the laptop temporarily to see if it helps?

For audio export it ought not to make any difference, because the audio processing is done offline and shouldn’t depend on the buffer size or throughput of the actual real-time audio device (at least as I understand it, though there is much in the world of the audio engine that I do not understand!).

I hooked my laptop up to my Focusrite Scarlett and the audio export to mp3 seems to work fine. Buffer is set to 256 by default, and no errors.

That’s certainly an interesting data point. I’ll talk to Ulf about this, because, as I say, my (limited) understanding is that when exporting audio the performance of the audio hardware should be less of an issue – export would just take longer instead.

This is certainly unexpected.

First some words of explanation: During normal playback, the audio engine is clocked by the audio device resp. the audio driver. This is a somehow “stress” environment, because within each cycle all audio for one buffer definitely needs to be processed, otherwise drop outs occur. However, during audio export the situation is different, the audio engine is running freely and clocks itself. Therefore the engine may take as much time as needed to process the audio. Consequently, drop outs during audio export shall never happen. Though during audio export the audio engine also uses the parameters of the audio device (i.e. sample rate, buffer size), other than that there are no dependencies on the audio hardware.

Having just said all this, I’m really puzzled about the reports on choppy audio export as this is totally unexpected. Maybe - but this would need to be proven - it has to do with odd buffer sizes (not a power of 2) that the MP3 encoder can’t deal with. But then I would expect similar reports for Cubase as well.

Obviosuly my hardware is different (Windows 10 pro on desktop PC) but right back to the first release of Dorico I have had the situation where the “generic audio driver” bundled with Dorico is very temperamental about audio dropouts even with a solo piano score (for example, sometimes it gave a lot of dropouts when Dorico was first started, but the problem apparently went away after a few minutes of playback), but ASIO4ALL has consistently been rock solid.

I had the same issue of stuttering audio export on mp3 only. WAV export works fine. I am using dorico pro 2.2 and Noteperformer3 on windows 10. In my case, the “Allow ASIO host application to take exclusive control” setting at Generic ASIO driver was the key. If I check that setting, the mp3 export worked fine. But if I uncheck that setting, it exported the choppy mp3 file, the same as Dan reported. The buffer size is set to 100 milliseconds. Looks like the audio export gets interrupted by something when it doesn’t have exclusive control of the port.

This problem occurred to me because I usually keep the “take exclusive control” unchecked, in order for the headphone jack audio-out to appear in the output port list of generic ASIO driver settings; my Lenovo laptop has separate audio-out for internal speakers and headphone jack. For now, I change the “take exclusive control” setting whenever I need to use the mp3 export.

I just wanted to share some information regarding this case.

Many thanks for sharing this, Tanaka.

Tanaka, thank you for this incredibly helpful insight. Much easier for me to check/uncheck this box than to switch drivers, or export as WAV and then encode as mp3!