"Wormhole" saves the day . . . but how?

Post your bug reports/problems here

Moderators: davidv, seb@plogue

tmpc
Posts: 69
Joined: Tue Jul 08, 2014 2:16 pm

"Wormhole" saves the day . . . but how?

Postby tmpc » Mon Sep 04, 2017 7:45 pm

A few months ago, JensJohansson turned me onto MIDI "Wormholes" as a way to traverse multiple MPs. Tonight, I found another use for one these Wormholes, but I have no idea why it worked.

I was having problems with M-Tron Pro leaving hanging notes in a fairly complicated Bidule layout; nothing else in the layout had this problem. This was an occasional problem when I was running Bidule 0.9737 on OS X 10.8.5 but got much, much worse after my recent move to 0.9756 running on OS X 10.11.3. I have verified that it is getting note offs, so my first attempt at a fix was to isolate the note offs and repeat them after a small delay, but this did not work. So, on a lark, I tried sending the M-Tron's MIDI stream out of, and back into Bidule through one of these IAC Wormholes. It completely fixed the problem.

Does anyone know why this worked? :?

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

Re: "Wormhole" saves the day . . . but how?

Postby seb@plogue » Tue Sep 05, 2017 10:34 am

Does anyone know why this worked? :?


Were the events really in the right order? Were they on the same sample? Going through IAC would most likely add some delay so they aren't multiple MIDI events on the same sample,

tmpc
Posts: 69
Joined: Tue Jul 08, 2014 2:16 pm

Re: "Wormhole" saves the day . . . but how?

Postby tmpc » Tue Sep 05, 2017 2:07 pm

seb@plogue wrote:
Does anyone know why this worked? :?


Were the events really in the right order? Were they on the same sample? Going through IAC would most likely add some delay so they aren't multiple MIDI events on the same sample,

I'm not sure how to verify that except to say that when I look at the MIDI output feeding M-Tron Pro with the MIDI Monitor 2, all Note Ons occur first followed by Note Offs; there are no missing Note Offs. This problem does not occur if I feed M-Tron Pro directly from the MIDI input device. I do some MIDI processing between that input and M-Tron Pro. The Wormhole is inserted between the output of that processing and the input of M-Tron Pro. There are many other devices going through this same processing that show no problem.

My MIDI processing consists of several groups I created that process Program Changes and CCs. All Note On and Off commands flow through these groups. The output of these groups go through a MIDI Delay bidule set at 30.ms. This is there to deal with some sounds with sluggish attacks.

I hope this helps.

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

Re: "Wormhole" saves the day . . . but how?

Postby seb@plogue » Tue Sep 05, 2017 2:36 pm

That's only shown in the original MIDI Monitor, the BO (buffer offset) is the sample index in the buffer for the event.

tmpc
Posts: 69
Joined: Tue Jul 08, 2014 2:16 pm

Re: "Wormhole" saves the day . . . but how?

Postby tmpc » Tue Sep 05, 2017 3:04 pm

seb@plogue wrote:That's only shown in the original MIDI Monitor, the BO (buffer offset) is the sample index in the buffer for the event.

I just looked at that. The Note Offs always follow the Note Ons. For example, I just played a hanging note where the Note On occurred at 0AC02A00 and the Note Off that didn't work occurred at 0AC09600.

Here is the really weird thing: I put a Message Filter just after the main MIDI in that filtered all of the Note Ons and Note Offs. I fed that around all of my custom groups and connected it to the MIDI Delay input. I fed the other output of the Message Filter to my groups and connected it to the MIDI Delay. The problem still occurs. If I disconnect the output of my groups from the MIDI Delay, it works fine. So, somehow my groups are causing this, but if I look at the output of my groups with MIDI Monitor, there is nothing coming out of them when the note hangs. I also verified that using only the MIDI Delay is OK.

I don't know what to make of this. It's as though there are MIDI events occurring that I can't see. :?

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

Re: "Wormhole" saves the day . . . but how?

Postby JensJohansson » Wed Sep 27, 2017 10:52 am

tmpc wrote:Here is the really weird thing: I put a Message Filter just after the main MIDI in that filtered all of the Note Ons and Note Offs. I fed that around all of my custom groups and connected it to the MIDI Delay input. I fed the other output of the Message Filter to my groups and connected it to the MIDI Delay. The problem still occurs. If I disconnect the output of my groups from the MIDI Delay, it works fine. So, somehow my groups are causing this, but if I look at the output of my groups with MIDI Monitor, there is nothing coming out of them when the note hangs. I also verified that using only the MIDI Delay is OK. I don't know what to make of this. It's as though there are MIDI events occurring that I can't see. :?


This is exactly same kind of oddity that made me think of this "wormholing" in the first place.

Since my context was reducing glitches wrt MP assignment, maybe this is a mysterious and very rare bidule bug that if squashed could also impact other MP assignment things favorably.

One question, did you use any MP-assigning? And does it only occur with that one VSTi?

I could only ever reproduce my problem by MP-assignment. But the issue presented the exact same picture -- notes were dropped even though they looked good and in the correct order in Midi Monitor. I was thinking the problem occurred when the MIDI information crossed over into the VSTi.

What's also a bit interesting is that the issue looks very much the same on Windows and Mac.

I had partially just written the issue off as "sigh, probably part of the price you pay for the a bit cheaper and more diverse hard-/software in the Redmond ecosystem"

tmpc
Posts: 69
Joined: Tue Jul 08, 2014 2:16 pm

Re: "Wormhole" saves the day . . . but how?

Postby tmpc » Wed Sep 27, 2017 7:13 pm

JensJohansson wrote:One question, did you use any MP-assigning?

Yes. Four groups of them.
JensJohansson wrote:And does it only occur with that one VSTi?

No other VSTi in this Bidule patch does this. There are two instances of Kontakt with two instruments loaded in each one. Three more Kontakt instances loaded with one instrument each. All of the Kontakt instances are assigned to MP0. Four instances of Aria Player all playing the Garritan Pipe Organ; two on MP0, two on MP1. Two instances of Arturia Modular V; one on MP2, the other on MP3. There is only one instance of MTron Pro and its on MP0.
JensJohansson wrote:I could only ever reproduce my problem by MP-assignment. But the issue presented the exact same picture -- notes were dropped even though they looked good and in the correct order in Midi Monitor.

Well, this is an all MPs used patch, so that could be an issue.

I know one thing: I will definitely throw a wormhole at any future weirdness. :wink:

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

Re: "Wormhole" saves the day . . . but how?

Postby JensJohansson » Thu Sep 28, 2017 3:23 am

tmpc wrote:
JensJohansson wrote:I could only ever reproduce my problem by MP-assignment. But the issue presented the exact same picture -- notes were dropped even though they looked good and in the correct order in Midi Monitor.

Well, this is an all MPs used patch, so that could be an issue.


Something else: I don't think I ever noticed any Note On messages being dropped. So it could be related to how many CPU cycles the VSTi gobbles up.. the issue would be similar to when you get MP assign related crackle I suppose.

AFAIR my very simple test layout really did have a "proper diamond shape".

To me it seems what a wormhole does is relax the (somehow otherwise) strict ordering of processing for MIDI. Having this relaxed order available natively for MIDI bidules might possibly solve some problems for us out here on the chaotic MP assignment fringes of insanity and doom. (Let's say, you would be able to insert a special native midi dummy that does exactly what the wormhole does)

But of course I say this with a very vague understanding of how bidule converts the layout to actual tasks for the computer to execute.

viewtopic.php?f=10&t=8072&p=43201#p43200

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

Re: "Wormhole" saves the day . . . but how?

Postby JensJohansson » Thu Sep 28, 2017 3:32 am

tmpc wrote:I know one thing: I will definitely throw a wormhole at any future weirdness. :wink:


There are also some clues here:

viewtopic.php?f=10&t=8063

That was indeed my very simple test layout that I found. And from what I wrote then, it seemed that when I increased the amount of CPU cycles "Synth1 VSTi_1" in that layout used, the dropped midi note issue disappeared. Now i don't remember if I tried wormholing on this issue ......

tmpc
Posts: 69
Joined: Tue Jul 08, 2014 2:16 pm

Re: "Wormhole" saves the day . . . but how?

Postby tmpc » Thu Sep 28, 2017 7:33 am

For me, the weirdest thing is still the fact that I filtered out all of the MIDI Note Ons and Offs, fed them around all of my MIDI processing, recombined them at the input of M-Tron Pro, and the notes still hang . . . unless I remove the recombination with the non-Note On / Off MIDI data. One other thing I have to mention here: This happens when I am slowly playing a few notes live with no other MIDI data occurring. In other words, there is lots of time between a particular keys Note On and Off, and no MIDI data is flowing through my MIDI processing. How does disconnecting a source of MIDI nothing do something to the Note Offs?
:?

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

Re: "Wormhole" saves the day . . . but how?

Postby JensJohansson » Sat Oct 21, 2017 1:51 pm

tmpc wrote:For me, the weirdest thing is still the fact that I filtered out all of the MIDI Note Ons and Offs, fed them around all of my MIDI processing, recombined them at the input of M-Tron Pro, and the notes still hang . . . unless I remove the recombination with the non-Note On / Off MIDI data. One other thing I have to mention here: This happens when I am slowly playing a few notes live with no other MIDI data occurring. In other words, there is lots of time between a particular keys Note On and Off, and no MIDI data is flowing through my MIDI processing. How does disconnecting a source of MIDI nothing do something to the Note Offs?
:?


OK, so "having to pull MIDI data" seems to affect even if there is no MIDI data to pull.. I guess we know too little about how the internal stuff works to guess what is happening.

I'm assuming your "M-tron Pro" is on another core than the first one, are you also able to make the note dropping disappear by increasing CPU usage on the first core? (Eg, if I had 0% - 3% - 0% - 0% with dropped notes on the VSTi second core, I just quickly tested and connected a MIDI player with some random MIDI data playing in a VSTi on the first core.. making 5% - 3% - 0% - 0%, and the problem was gone, exactly as Seb said... are you able to reproduce this?)

tmpc
Posts: 69
Joined: Tue Jul 08, 2014 2:16 pm

Re: "Wormhole" saves the day . . . but how?

Postby tmpc » Sun Oct 22, 2017 9:29 pm

JensJohansson wrote:I'm assuming your "M-tron Pro" is on another core than the first one, are you also able to make the note dropping disappear by increasing CPU usage on the first core?

There is only one instance of M-tron Pro, and it is on MP0.

As near as I can tell, MP0 always has the highest percentage.


Return to “Bidule Bugs and Problems”

Who is online

Users browsing this forum: No registered users and 1 guest