Another MP assign issue

Post your bug reports/problems here

Moderators: davidv, seb@plogue

JensJohansson
Posts: 42
Joined: Sun Nov 04, 2012 10:48 am
Contact:

Another MP assign issue

Postby JensJohansson » Mon Jun 12, 2017 7:31 am

There is something strange going on with MP assign and MIDI,

I am consistently getting hung notes (lost MIDI events) with an MP-assigned VSTi.

I have been trying to get MP assign working for a while now (in order to lower latency) and these dropped events were yet another obstacle. I was going to report it a while ago, but had just forgotten.

I tested also on the x64 version, it happens there as well. The version is .9756 in both cases.

The first screenshot here is from a larger layout, but it could perhaps give some clues. The right/left box shows midi monitor output before and after a few bypassed midi processors.

I guess one specific question I have is, what happens with MIDI connections, are they also MP assigned? What could be going on?

I attach a bidule layout that reproduces the problem.. I can do the following experiments (for me this is all x86)

** Load the layout as is, no stuck notes.

** MP assign the mixer "MIX LR 2" to core 3 -- then I get stuck notes/ lost midi events. (As you can see there is no diamond shape whatsoever, or anything like that going on here.)

** And interestingly, if I keep "MIX LR 2" assigned to core 3, and then delete the second, completely unused VSTi (named "Synth1 VSTi_1"), I get A LOT more crackles.

Synth1 (freeware) is here in case you don't have it. http://www.geocities.jp/daichi1969/softsynth/
Attachments
midi mon.png
midi mon.png (25.93 KiB) Viewed 314 times
layout.png
layout.png (15.76 KiB) Viewed 314 times
MP dropped midi events.bidule
(168.89 KiB) Downloaded 13 times

seb@plogue
Site Admin
Posts: 9593
Joined: Tue Mar 02, 2004 7:23 pm
Location: Montreal
Contact:

Re: Another MP assign issue

Postby seb@plogue » Mon Jun 12, 2017 9:24 am

In the case of MIDI input device, the events are fetched from the driver/device at the beginning of the audio callback and stored for the current buffer, (to prevent the diamond shape issue; which is that two different threads request data from the same bidule, potentially simultaneously or one after the other and end up causing double processing or things like that). The possible thing happening is that the audio driver might not like "waiting" which is what might end up happening when there is more work happening on one of the worker threads, normally the rule would be to have all of the MP assign stuff each take less CPU than the main one so that the "extra" work has the time to get done while the "main" work is being done.

(i.e. having something like 50-(less than 45)-(less than 45)-(less than 45))

JensJohansson
Posts: 42
Joined: Sun Nov 04, 2012 10:48 am
Contact:

Re: Another MP assign issue

Postby JensJohansson » Mon Jun 12, 2017 11:15 am

seb@plogue wrote:In the case of MIDI input device, the events are fetched from the driver/device at the beginning of the audio callback and stored for the current buffer, (to prevent the diamond shape issue; which is that two different threads request data from the same bidule, potentially simultaneously or one after the other and end up causing double processing or things like that). The possible thing happening is that the audio driver might not like "waiting" which is what might end up happening when there is more work happening on one of the worker threads, normally the rule would be to have all of the MP assign stuff each take less CPU than the main one so that the "extra" work has the time to get done while the "main" work is being done.

(i.e. having something like 50-(less than 45)-(less than 45)-(less than 45))


I think with this test layout CPU usage was always in the low-zeros, but you mean that one thing about my test layout is that the Synth1 VSTi_1 is not eating enough CPU cycles.. ?

A quick test seems to indicate this to be true -- if I run some notes thru that one via a midi player it seems I cannot so far make it drop MIDI notes. (Of course it's typical that the absence of stuck notes for ten minutes does not always prove that they will be gone for an entire hour :) )

I'm again investigating using MIDI loopback interfaces, it seems it's somewhat working without any obvious problems but as always the proof is after testing for longer time, on different systems and using lower latency ...

We should make a dedicated thread here called "Secrets of the Ancients to MP assign issues" :-)


Return to “Bidule Bugs and Problems”

Who is online

Users browsing this forum: No registered users and 1 guest