MIDI IN Duplicates

I can’t figure this out. Not only is there two inputs on the one button press, but also a dozen MIDI IN entries for that same one MIDI input. Since it won’t give me a location, besides 2.43, I can’t diagnose what’s going on there. I carefully checked my inputs and I don’t have multiple inputs from the device.
This happens once in a blue moon and I can never find out the cause.

Multiple Inputs

MIDI IN will show all MIDI messages from any open MIDI port regardless of whether there is a translators to handle it or not.

By contrast, IN (Incoming) will only trigger where a given translator matches the desired input.
Both translator 2.30 and 2.43 are looking for input of Note On Note 53 velocity 127

2.3 generates not output yet 2.4.3 generates a note-on note 93 and velocity 127.
(Line 26). Line 27 just show the same MIDI out message which is there because you have MIDI OUT checked in your log window.

Lines 28-43 show incoming MIDI activity but there are no translators with those triggers so they are not processed.
Line 44 shows the incoming MIDI message and line 45 shows that it matches the incoming trigger of translator 1.35

I hope this clears things up.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz
1 Like

Lines 28-43 is what I’m worried about.
That’s a lot of MIDI messages for a single button press.
Is this normal?

Yes this is probably your DAW reacting to something like a bank change to set the value of LED rings. If you don’t have a MIDI thru path, or translators to deal with them, they will just be ignored. You can’t really stop a DAW from sending messages but you don’t have to pay attention to them all.

Edit, actually these are all notes-off messages on each MIDI channel coming back from whatever you have connected to BMT 2.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Hmm…

BMT 2 is dedicated for MIDI Buddy. I don’t use it for anything else.
So that’s now the only port I set as the project default incoming port.
There should be nothing but that going into MTP.
(At the project level I mean, but I guess my point is mute as it still comes in regardless).

Just checked FLS and I have all five output ports to MTP enabled.
Don’t think I need that. Only need the light feedback from a couple of them.
There is no MIDI clock or tempo sync I need from the DAW.
So I should disable the ones I don’t need.

FLS MIDI Out

The translators in my pic (lines 28-43) is my new MCU translators.
So the button I pressed sent out on port 5 but received a response from port 2. Strange.
The button I pressed is the record arm. I have it set to toggle that and the metronome together, so it latches together. So maybe because it’s the MCU driver, FLS is coded to send back the messages to turn off record and metronome lights on a Mackie console, or something.

Maybe the Mackie console for this driver has 16 mixer tracks, and rec message tells each one to arm or something.

Either way it’s still strange that it would be coming in at port 2 but my MCU is set up at port 5.
Also strange that MIDI Buddy recently bugged me that my port positions changed, and it was on port 5 when I went to change it back to port 2. (Think that happened because I created the aliases).

MidiBuddy only sents SysEx messages so your aliases must be set up incorrectly. It is more likely that these messages are coming from FL Studio but probably not through your MCU interface.

28-43 are not being handled by translators otherwise you would see log messages as IN with the translator numbers that are handling them. It would be interesting to see how you have your aliases set up.

Port positions will almost always change when you add or delete a MIDI device. You have to go to MIDIBuddy and re-establish the correct port that you want to send from using the MIDIBuddy tray ICON. It probably changed when you added the support for additional Bome MIDI VIrtual ports which gave you 5 new ports if now you are set to 9 where before you were set to 4.

The messages you got back on 28-43 look like they are more than likely track output messages maybe since they are all-notes off messages.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Think I found what’s happening.

The record button isn’t doing anything anymore. (I did disable Port 2 in FLS though)
It’s the play and stop buttons that are getting messages on port 4.

I have a MIDI Out plugin associated with each plugin that is channel locked to their respective virtual bank on the Fire. For example the SD virtual bank sends to the FPC drum plugin named SD. It has a MIDI Out plugin that receives notes from the same channel (hitting the kick drum once, for example, will write a note to the SD pattern *and the MIDI Out pattern). This is for the light feedback on the controller when play back is running.

Apparently MIDI Out plugin sends note data every time play or stop is pressed.
Who knows why, but that’s definitely what’s happening. I had them sending out to the port 4, where I’m seeing these extra messages. Changed their output port but still seeing the same messages. Maybe if it’s channel locked to port 4 it will send these on port 4 regardless. I have no idea, but MIDI Out is definitely the culprit. I tried this in a blank FLS project and the messages aren’t coming in.

Think I have to get rid of those plugins to not have the extra messages, but they aren’t hurting anything anyway.

The MIDI Out manual page:

Yes, it is probably the last item ‘Stop Playing Notes’ which is likely an ‘All Notes Off’ message on each of the 16 available MIDI Channels.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz
1 Like

It was pretty clever of you to count the number of messages. When you counted 16, that tells us multiples of 8 might have something to do with an omni channel strategy.

But the first example was incoming on Port 2.
This example is my stop and play buttons coming in on Port 4 (Now that I think of it, it might not be MCU at all, as that has to be Port 5).

The Play button looks like this:

The Play button has 34 extra incoming messages (not a multiple of 16). As you can see some of them aren’t “note off” either. The manual noting that “Cut playing notes on transport stop” can’t be this because it’s the play button, not the stop button (but it’s possible for Play to cut notes too; to avoid overlapping sounds, but then the manual is written wrong there.)

The Stop button sends back differently. It sends 50 extra incoming messages.

I have a total of 6 MIDI Out plugins in my project. If they all sent on the transport message, that would be 96 incoming messages, if we go by each MIDI Out sends 16 messages. Neither play or stop is adding up with what’s being sent to me.

In the MIDI Out plugin I can toggle off (disable) sending note parameters. Pan, Vol, Pitch
(The right click menu is only for the reset command; don’t know why I put that in the pic)

Did that and it didn’t do anything about these extra messages. Although I would still want it to send “volume” (guess they mean velocity?) as MTP needs to know that info to decide on the color each pad will be. (as per that formula you helped me with before). Just checked and it’s still sending the velocity parameter even though I disabled them. Wow.

Muting the MIDI Out plugins do stop the light feedback on the controller but not the extra messages. (I tested with muting all of them). The extra messages don’t come in every time I press the button either. It’s about every 3 out of 4 times or so. I don’t know, maybe something else is going on here. I will keep working on it.

I know that I’m spending a lot of work on this little problem but unnecessary computer nonsense like this really bugs me. As much as 34 superfluous messages for play and 50 more for stop is unreasonable.

I changed the MIDI Port back to “generic controller” and made my play button hit space bar.
So MCU isn’t involved right now.
The extra messages are still coming in. Very strange.

Hi, I suggest you discuss what the extra messages are with ImageLine. Again, MT Pro is ignoring them unless you have translators or a MIDI Thru path to pass them through to another device/application.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

They likely won’t bother spending labour costs on working with me on a problem that’s not their problem.
You’re a unicorn, that’s for sure. :heartpulse::smiling_face_with_three_hearts: I appreciate everything you help me with.

I only need the MIDI Out plugins for light feedback when the song is playing back.
It’s shown at 5:30 and 8:28 of my video.
Otherwise I need light feedback on/off when I push the pads. I can do that directly in MTP without having to bounce a message off a MIDI Out plugin.
So that’s what I’m going to do. I will divide my FLS project templates and MTP projects into two. One will have no MIDI Out plugins and the other with them.
Most usage will be without the MIDI Out plugins and then I can quickly switch over to use the MIDI Out project only when making YouTube videos; when the light playback looks cool to watch.
I can remove the delays on the note off’s when pressing the pads, so the lights look sharper too.

That means I have a lot of work to do.
Thanks once more. :slightly_smiling_face:

Looking again at your extra messages. I see NRPN 0 which is pitch bend range CC 7 which is volume CC 10 which is PAN and then Pitch Bend messages. Then all notes off messages so it appears that you have either not disabled these messages from your MIDI OUT plugin or FL Studio is not behaving as documented.

Also MIDI Port numbers within MIDIBuddy have nothing to do with FL Studio Port number which are an internal FL Studio construct.

Steve

Hmmm… It’s possible that the “reset control values” function is being triggered by something; maybe MCU. Or maybe MIDI Out is just hardwired to send that data on play/stop regardless (but it looks like it’s supposed to be a manual trigger by mouse clicking in the plugin). As you can see MIDI Out can send two different sets of messages. One is for playback, the other is a type of “panic” (value reset). If I have a port enabled in FLS, I can’t disable its output to MTP. (cause that would be too much common sense). The MIDI Out plugins might be trying to reset hardware controller values on play/stop.
But with a blank project it still sent these messages when I booted up FLS. This is so weird.

Having my projects divided has the other benefits. Quicker light feedback and six less plugins to clutter up the project and using resources. Each MIDI Out plugin has their own piano roll MIDI pattern. That’s what it has to read to have data to send. It can’t draw from any other pattern than its own. I have both the generator plugin and the MIDI Out plugin receiving notes from the same source. So I have to maintain each respective pattern in parallel with the actual song notes. This is extra work and so I was thinking of scrapping them anyway, even before the extra messages problem.

But I definitely never saw the extra messages before I set up MCU. I had play/stop sending the spacebar and mouse clicks. I will make sure my MIDI Out project has the note parameters disabled. Not sure how the Akai Fire is supposed to know the colors if “volume” is disabled. Don’t know if they meant velocity, but pan is right there beside it. Is it note pan/vel/pitch or channel pan/vol/pitch? Hmm…

There is the lower MIDI settings section, but don’t think any of that is involved.
Generator muting is something I use but that’s only an input. They do have a brand new external sync thing but I don’t use it.

My guess is the Akai Fire Python script handles this directly outside of the MIDI OUT plugins.

The MIDI inputs that you are showing should have nothing to do with what is being sent back except by the controller definition (if not generic controller).

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

What I’m seeing in the log window is perplexing to me too.
Finished the changes and the messages have disappeared. Everything’s working good.

Python scripts are not active. I would have to choose the python script driver instead of the vanilla “Akai Fire” driver for a Python script to be active. It’s one or the other. So what I run is neither. I have the Akai Fire disabled entirely and it’s only MTP that handles the Fire.

Factory

Disabled

I’m a little triggered that they put the Akai Fire under “Legacy”. :sweat_smile:
Feeling my age and how long I’ve been programming my instruments instead of using them.