Jump to content
Sign in to follow this  
Michael McBroom

MIDI crapping out bad but Audio is fine

Recommended Posts

This problem I'm having appears to be the way my machine is choosing to handle MIDI files in Cakewalk. I need to give you a bit of background so you can have a better understanding of what's going on. Periodically, my machine has a problem handling large Cakewalk files that have lots of MIDI tracks. I get distortion and audio dropouts, for example. But there are other occasions where this doesn't occur, even when working on the same exact file. Now, audio files in CW are a different matter -- it handles them without issues. It's always been a mystery to me why my machine behaves this way, but it does. Incidentally, I also use Band in a Box with my compositions, and BiaB handles MIDI files without problems. In fact, BiaB is just the opposite. It tends to choke up if I load files that have a lot of audio tracks. 

I suppose I should point out that these problems are restricted to audio playback. When I record any of these tunes, they always record without any hiccups.

Recently, my machine has been very well behaved. It has handled large files with lots of MIDI tracks without any problems at all. I don't know why sometimes it's like this and other times, there is much distortion, pops, clicks, and what have you, when nothing has changed. But anyway, I was enjoying a clean sounding machine until yesterday morning when we had a power outage that knocked my machine out. Power outages around here are not all that uncommon, so I'm used to this happening, and they usually don't affect my machine's performance. But yesterday morning, something changed. When I booted CW and tried to play a file with 12 MIDI tracks, the distortion was the worst I've ever heard, and it couldn't play for more that a couple of seconds before audio dropouts occurred. I tried restarting the machine, it didn't make a difference. I even shut down the machine and then booted it back up, still didn't make a difference. I haven't yet tried shutting it down and switching off the power supply. I'll do that next, but I won't be surprised if it doesn't make a difference. So I'm wondering now if somehow something got corrupted within CW?  It was not resident when the power outage occurred. In fact, no programs were up -- just the OS, which is (still) Win7. I've run the Windows Task Manager to see if the CPU loading is uncharacteristically high -- it isn't, really. It's  about the same amount of loading I see when I'm streaming a Netflix video, for example, which my machine handles easily. Also, if I load a file into CW that is audio only, it plays through it without any issues at all. So for whatever reason, MIDI has become a big problem right now, and I sure would like to understand why and figure out what to do about it.

Oh, I should mention my hardware. I'm running a Behringer UMC404-HD audio interface, which has worked flawlessly with my system, so I don't suspect it. Before I had the Behringer, I was using a M-Audio Delta 66 PCI card, and I was having similar problems with it, so I really don't think it was this hardware.

Share this post


Link to post
Share on other sites

CPU load when using MIDI tracks is primarily a function of the processing demands of the virtual instrument plugins those tracks are driving. Are you using a lot of different VSTis, or just one or two instances of multitimbral instruments? Which ones?

You didn't mention what the Cakewalk performance module is showing, but assuming it's showing spikes over 50% on one or more cores  during playback, you should should check the usual suspects and one new one which I'll mention first:

- As of the 20.01 release, there's a new option, 3,  for ThreadSchedulingModel in Preferences > Audio > Configuration File. This should not be set by default, but a  lot of users read about it in the release notes, and enabled it.  This is the so-called 'Aggressive' model, and hasn;t worked well for a lot of us.  If you see ThreadSchedulingModel=3 in your config file, change it to 2, and OK the change.

- In Preferences > Audio, make sure your driver mode is the preferred on for the Behringer (ideally ASIO and using drivers provided by Behringer),  your Playback and Record Timing Masters are set to drivers for that interface, and your buffer size is reasonable for the number of instruments and FX plugins in the project. Given you're running Win7, I'm guessing your PC might be less than state-of-the-art (?), and have trouble keeping up at buffer sizes below 128. If it's there now, try 256 or 512.

- Download and run the free 'LatencyMon', and check your DPC (Deferred Procedure Call) latency. If it's spiking periodically or running consistently over 300-500us check to see what driver/process is primarily responsible. Common offenders are drivers for onboard Bluetooth and/or WiFi  systems enabled in BIOS. If you're not using them, disable them, and while you're in there disable 'Speedstep' and 'C-States' (CPU-throttling functions) if you haven't already.

Share this post


Link to post
Share on other sites
Posted (edited)

Thanks for your response, David. In one example file with MIDI content that I'll use for this note, I'm using TTS-1 as the only instrument set. I've found that TTS-1 has a very low level of CPU demand on my system.

The Cakewalk performance module rarely shows spikes above 50%. Watching it just now, I'm getting an occasional spike or two up to about 50%, but with plenty of audio dropouts.

ThreadSchedulingModel in my config file is set to 1.  I'm assuming that if I bump it up to 2, I'll have even more problems?

I've used only ASIO with the UMC. Until yesterday, Behringer's ASIO drivers have worked very well.

My Playback and Record I/O buffer settings have always been at 128. I'll give 256 a try though.

I just d/l'd and ran LatencyMon. It reports: "One or more DPC routines that belong to a driver running in your system appear to be executing for too long. One problem may be related to power management, disable CPU throttling settings in Control Panel and BIOS setup." I don't recall seeing a "throttling" setting either in CP or BIOS, but I'll look for it.

In the bar graph below this message pertaining to DPC, it shows my NVIDIA driver as being the culprit, with a run time of 2786 microseconds. This driver is for a graphics card I had to add into my system because I bought a monitor that had HDMI ports only and my machine didn't have any, so I bought a card with HDMI ports. And it has an NVIDIA chip. Since this chip also handles audio for the HDMI video I've wondered if a conflict might occur here, but I don't know what I can do about it other than get another card. Which, incidentally, I probably will be doing in the very near future because I think that this relatively new video card is starting to crap out on me. Another bar graph displayed that I'm somewhat concerned over is the "Highest measured interrupt to process latency" one. It's pegged all the way to the far right, deep red, reading 31657 microseconds. I take it that isn't good either. On the other hand, the "Highest reported ISR routine execution time" is "only" 238 microseconds (DirectX Graphics Kernel) The top graph, "Current measured interrupt to process latency," is bouncing around between a low of about 26 microseconds to as high as 1200 microseconds, averaging, I'd say, about 200 microseconds.

 

Edited by Michael McBroom

Share this post


Link to post
Share on other sites

Okay. Also meant to mention:  Make sure you Windows power managment profile is set to High Performance. What CPU does this machine have?

Share this post


Link to post
Share on other sites
Posted (edited)

Yep, set to high performance, 100%. CPU speed is 3.4 GHz. It's a quad-core AMD processor, getting rather long in the tooth now. 16GB of RAM.

Here's the thing, though -- I'm also running CWbBL on an old 2.8GHz laptop with 8GB of RAM and it runs it flawlessly. No hiccups of any sort.

I just tried it again with buffers set to 256. Didn't make any difference.

Edited by Michael McBroom

Share this post


Link to post
Share on other sites

Okay. That CPU should be adequate. Just wanted to know for reference. 

Let me know how the rest of it checks out, and give us some idea of what your Performance module is showing while idling with the project open and during playback, and compare that to Windows Resource Monitor (Ctrl+Alt+Delete to get the Task Manager > Performance Tab > Open Resource Monitor).

Share this post


Link to post
Share on other sites

Another shot in the dark that occurs to me:

I gather Cubase installs something called Generic  Low-Latency ASIO Driver that can cause symptoms like this. Any possibility you've installed/re-installed/updated Cubase recently?

Share this post


Link to post
Share on other sites

I had an NVidia card and the NVidia driver was always a problem.  You can disable the built in Audio by going to device manager and finding the audio device and disabling it. See if that helps. If not, it may just be the NVidia driver.  The only way I found around that was to use an AMD based Video card.

 

Share this post


Link to post
Share on other sites
Posted (edited)
3 hours ago, David Baay said:

Okay. That CPU should be adequate. Just wanted to know for reference. 

Let me know how the rest of it checks out, and give us some idea of what your Performance module is showing while idling with the project open and during playback, and compare that to Windows Resource Monitor (Ctrl+Alt+Delete to get the Task Manager > Performance Tab > Open Resource Monitor).

With this same file open, the performance bars are bouncing around more than I typically see, but now they're not showing me anything. When I click on the Play transport button, the distortion has gotten so bad now that it won't play for more than about a second before and Audio Engine Dropout occurs. But before it does, I'm seeing the bars bouncing up to about mid-height, which is a lot higher than I see when CW is running right. With the Windows Resource Monitor Performance Tab, if I continue to click on Play to ignore the dropouts, what I'm seeing is the resource graphs are indicating about 50% CPU tasking. When I'm not doing this the usage is close to zero.

No Cubase. Never had it, never will.

Edited by Michael McBroom

Share this post


Link to post
Share on other sites
3 hours ago, reginaldStjohn said:

I had an NVidia card and the NVidia driver was always a problem.  You can disable the built in Audio by going to device manager and finding the audio device and disabling it. See if that helps. If not, it may just be the NVidia driver.  The only way I found around that was to use an AMD based Video card.

 

When I bring up the "Sound, video, and game controllers" tab in Device Manager, it shows 4 instances of a NVidia driver (0 through 3 Internal High Definition Audio Bus), plus one Virtual Audio Device (Wave Extensible) (WDM). So, which do I disable? One of the above -- and if so, which one? -- or all five?

Share this post


Link to post
Share on other sites

Not sure about the Nvidia stuff. I might have disabled that, but don't recall there being more than one, or that it made any difference.

Did you check the ThreadSchedulingModel? You might also turn off Plugin Load Balancing if it's been enabled. Quickest solution might be to use the Reset Config button in the Configuration file page. It backs up AUD.INI and replaces it with a default configuration (in lieu of manually renaming AUD.INI as we used to do). Then compare them if it solves the problem. 

Share this post


Link to post
Share on other sites
Posted (edited)
17 hours ago, David Baay said:

Did you check the ThreadSchedulingModel? You might also turn off Plugin Load Balancing if it's been enabled. Quickest solution might be to use the Reset Config button in the Configuration file page. It backs up AUD.INI and replaces it with a default configuration (in lieu of manually renaming AUD.INI as we used to do). Then compare them if it solves the problem. 

As I mentioned above, ThreadSchedulingModel is set to 1. You recommended 2. Should I increase to 2?

Plug-in Load Balancing is unchecked.

I just reset the Config file. Honestly I think the new one is the same as the one that just got replaced.

So, I just gave this same example file another try, and there's no change. Still heavy distortion with dropouts every second or so.

I should reiterate. Sometimes this machine will play these files perfectly and sometimes I have to deal with this. And there's nothing that I've done to change things in the interim. It's as if the machine decides one day suddenly to behave after spending days misbehaving.  But it's just with Cakewalk. I can load MIDI files into Band in a Box or MuseScore 3 and they play fine. Well, I should be clear here. It's the Cakewalk .cwp files in which there are MIDI tracks that I'm having issues with.

I just tried something I haven't tried before. I loaded a blank file into CW, then added a MIDI track and loaded TTS-1 for the synth chores. No distortion. So I added another. No distortion. So I added another. Still none. Then I added a MIDI file that had six tracks of MIDI data, which meant I had a total of nine MIDI tracks. Sounded like crap with all the dissonance, and for the first time, there was quite a bit of distortion. So I got rid of the first three MIDI tracks such that I had just the file with the six tracks. There was still distortion, although not as bad.

So I looked for another example, but what I came across was a file with five audio tracks and one MIDI track. So I loaded it and hit Play. Quite a bit of distortion -- but only one MIDI track. So I muted the MIDI track. No difference. Then I deleted the MIDI track. Still, there was some distortion, but it had dropped quite a bit. Still there though. Then I realized that TTS-1 was still resident, although not assigned to anything. So I deleted it, such that there was only audio tracks present. Distortion was gone.

So this tells me that TTS-1 is actually contributing to my problem. Other synths do too, because I've noticed it with a few. But I've always liked TTS-1 because of its low tasking of the CPU. Well, it might be low tasking, but it is also part of the problem. When my machine is misbehaving, that is. Grrr.  TTS-1 is the only multi-timbral synth I've used. I guess I should look for others.

 

 

Edited by Michael McBroom

Share this post


Link to post
Share on other sites

ThreadSchedulingModel=2 is recommended for quad cores and above. You should use that even if it makes no difference in this case.

What sample rate are you running? TTS-1 supports only 44.1, 48 and 96 kHz, and at 96, you have to enable Light Load Mode in System > Options.

You should definitely check your DPC latency. Spikes to 50% and above in a light to moderate project (in terms of plugin load) with buffer at 128 sounds high even for that older CPU.

Always good to know, what 'normal' is in your system for future reference even if this issue turns out to be TTS-1-specific.

 

Share this post


Link to post
Share on other sites

The LatencyMon stats I quoted above were with that same MIDI file resident in CW. I tried it later when CW was not present, and the numbers were WAY lower. Like the bar charts below were mostly only an inch long or less. The message was my machine was suitable for the sort of stuff that I've been using it for.

Those spikes are abnormal. I only see them that high when my machine is misbehaving, the way it is now. Otherwise, they're barely a ripple while a tune is playing. 

I'm running 44.1k/24 as my sample/bit rate, just to keep things simple. I'll be burning my tunes to CD once I finish editing them, so I might as well just leave it at the CD spec (I know 16 bits is spec for CDs, but my software auto adjusts for the difference).

I'll bump ThreadSchedulingModel up to 2, although I doubt it will make a difference.

Share this post


Link to post
Share on other sites

Playing around with this one file some more, I didn't mention but it does have one audio track. This particular file that I was working on had seven MIDI tracks, plus the two TTS-1 tracks, plus an audio track, where I bounced the nine tracks into it. 

So, to see if it would make any difference, I deleted the audio track, then played the file. No difference. Very heavy distortion and dropouts about every second or so. So, I restored the audio track, then deleted the 9 MIDI and TTS-1 tracks, such that only the bounce audio track was left. Hit Play, and it played the tune back perfectly, nary a snap, crackle, or pop to be heard anywhere. Frustrating.

 

  • Like 1

Share this post


Link to post
Share on other sites

Uninstalled Windows update KB4551762 and problem is solved. This as a result of using Latency Monitor and a bit of investigation.

Share this post


Link to post
Share on other sites

Hey Nigel, is this Windows update for Win10? I'm still running Win7 and my last update was KB2310138. I've wondered for some time if one or more of these updates might be responsible for some problems I've been having.

For example, I have a Roland GR-33 guitar synthesizer and it worked perfectly with Sonar until about two years ago, when it suddenly stopped working. To this day, it still doesn't work -- the problem has to do with Sonar (now Cakewalk) not playing the MIDI signals sent out by the GR-33. If I run it straight into an amp, I get all the MIDI instruments playing through the amp, I just can't get those instruments to sound within Cakewalk. I've suspected for some time that the problem I'm having with this synth might be related to a Windows update, although I have no idea which it would be.

And of course I've been wondering for some time now if the problems I'm experiencing right now might be because of a past Windows update.

 

 

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×
×
  • Create New...