Note off, apparently not recognized

My patch here works fine to play a note on Midi channel one, press CC 69, the note sustains, and I can the play a different instrument on channel 2. All notes are off when pedal goes up.

This works fine with logic Pro, but for some reason with my Yamaha ES, the Ch 1 note off is not recognized, so it keeps ringing. Midi monitor shows me the note off is being broadcast.
I don’t see any special configurations in multi mode on the ES. I have a sound on channel one, a different sound on channel 2. Very simple. But for some reason, notes on channel one keep ringing. Notes on channel 2 accept the note off and are turned off appropriately.
Very curious behavior to me, I wonder if anybody has any ideas on this, it would be appreciated.
Much thanks!
Peter
prst#6 test.mhp (1018 Bytes)

try these to help hunt down the problem:

  1. merge your 4 ES outputs in your preset into one (cf. prst#6 resoESmerge.mhp )
    this will help by MIDI Monitoring everything that’s sent to ES in one place and identify if any “un-closed” Note On messages are getting through.

  2. temporarily change the Ch.Remap to send the Ch.1 notes to, say, Ch.3 instead.
    whilst this may give the wrong voice, it might help identify whether the hanging notes are a Midihub or Yamaha ES issue.
    (though your Logic Pro comment suggests the latter)

This is helping me track it down. One problem, if not the problem, is that when cc69 is depressed and note on/off are sent to channel 2, there is still a note off being sent to channel one. midi monitor shows this at the eighth pipeline from the top, the last pipe 'to ES". We need the note off to be sent to channel one upon 69 pedal up-not during 69 pedal down. How might this be accomplished?
btw-the channel 2 output two ES is the last pipe on the next (ninth) pipeline.
thanks for your help!
Peter

You can now add comments to pipelines, Peter :smile:!

We need the note off to be sent to channel one upon 69 pedal up-not during 69 pedal down. How might this be accomplished?

it’s a bit early here right now for anything precise; I’ll try to take a look later.
To help emulate this, please confirm that “CC69 depressed” = value 127.

Confirmed, C 69 is actually 127 in the up position and zero in the down position. This shouldn’t actually change anything I wouldn’t think.

Yes, I will use comments and pipelines in the future. Thank you.

Hey, @pje, I won’t get a chance to look at this for a couple of days.

In the meantime, a short stretch of the MIDI input from playing (either a .mid file from your DAW or even a .csv file saved from the MIDI monitor) would be useful to help replicate.

In either case, I’m interested in what comes into MH so I can just run it and track what happens as I insert CC69 toggles.

Cheers.

The midi input comes from midi guitar on inA, cc pedal board inB and breath control inD. It is processed and then goes out to the DAW Sound modules. So if I give you the readings from the DAW, you’re actually seeing what went out of midi hub not what went **
**. So please clarify what you would like. Thank you.

As I said

therefore, it would be useful to have a brief MIDI recording of what you play into MH when you (might) get these hanging notes.

ie. set up some temporary pipelines to bypass usual processing and give me the"raw" as t’were.

I’ll happily take a look without this extra useful info (when I’m less backed up) but what I test with may have no relevance to your scenario

The first midi file shows what is going into Midi hub. First I play the note, then I blow CC2 for volume then I depress CC 69 to sustain that note and switch to channel 2, then I play a note on channel 2 and blow CC2, and then lift off of CC 69 and all sounds should stop.
“raw” Midi as going IN MidiHub.mid (4.0 KB)

I have also included a midi file, from midi hub that shows the actual performance which I tried to duplicate as close as possible.
Midi at Logic Pro, FROM MidiHub.mid (956 Bytes)

Any luck with what I sent you?

Hey I finally got an opportunity to look at the “raw” MIDI and I’m confused:

ES.Merge output

not consistent with same input:

My first run on seqA❖ gave hanging notes…


…because we have Note Off msgs on a different channel to their Notes On

whereas the 2nd run was rather messy with superfluous Note Off msgs…


…but at least every Note On is “closed” as it were

❖ I call your two seemingly identical phrases seqA & seqB

But…

“raw” has double notes!

Before I started to hunt down how this might be happening I noticed this:


there are two Ch1 Note On playing concurrently

eh?

sure enough, looking at the piano roll we can see this in the edited copy of the clip


(In the red copy, I’ve dragged the start of the 2nd note back)

How is this happening? Are there two keyboard inputs?

I think this needs to be sorted before we look at what MH is doing with the input





PS. my DAW plays out the coincident notes faithfully; Logic may do some housekeeping before sending

there must be two pathways that are doubling the notes in my mid hub construction. I am only playing a midi guitar note single note. I will look into this.

I’m not sure. I understand your PS.

the two pathways notion doesn’t fit with the fact that there’s a length and velocity difference between the two notes




I understood your "raw" Midi as going IN MidiHub.mid to mean just that, not via Midihub (except perhaps a simple new preset to do DIN → USB routing).

looking at your physical inputs:


I’m guessing you have BREATH = CC2 only and MG2 is the rest (including CC69 foot control)?
The rest is playback and can be ignored?
(btw, there are two identical LIVELOGIC lines)





the PS is merely a hypothesis of why you might not get stuck notes from Logic but do with the hardware.

Hi- back from NAMM show.[my product/invention SpiderCapo]. So…
1st-doubled notes - my fault. Incorrect midi guitar setting. Solved.
2nd-thank you for pointing out the double live logic input. This is my cc foot pedal. I have it set in the range filter for only 64, 66, 69 [ changes midi channels) 73, 87 Which I use.

So the preset now looks like this. I have attached it below.


So my inputs are MG2 equals the media guitar, live logic equals cc, breath equals cc, 2,1, 17, & pitch.

Channel 2 works fine. It receives the breath control, and the note on/off work correctly. But channel one receives no note offs.
In addition to receiving a note off when ending a note, it should receive a note off when clicking back to channel one from channel 2. It does neither of these things. I cannot figure out why. (Again, this works with the patch that I copied from; using the computer sound generator host, logic, instead of the Yamaha motif ES) Any guesses? Thanks!
Peter
Prst#6 it2.mhp (982 Bytes)

Hey, @pje

I’m not having much joy with the most recent preset

The Preset I used...

…is based on yours but does three other things:

  1. it uses 1.16 (mid-2025) mappings which makes the preset simpler by getting rid of the inverted Virtual versions of CC67 & CC87

  2. it merges outputs so that they may be monitored together

  3. it has comments to make it easier to follow (for me & maybe @Giedrius if he comes to look at it)
    The last comment also points out aspects which might want addressing by you
    (note that the final Rescale is deliberately Disabled for this reason)

Prst#6 it2(comments, simplified).mhp

…should have exactly the same functionality as yours, but I’m not getting the behaviour you described.
At least anyway with the .mid file you uploaded before.

Can you upload an input .mid file which would enable me to replicate the Note Ons without Note Offs behaviour?

How to do this

with my version it will be merely adding an extra pipeline
virtual A → usb A (or whatever) and recording that in your DAW
I can then play that back (via a 2nd MH) into your MIDI LIVELOGIC (B) port to support the necessary mappings

PS. your .mid file didn’t involve the CC87-toggled note invert. Should the Rescale before it refer only to CC87 for mapping purposes? If so, it can be deleted from my version.

Thanks much for doing this. The result of your patch is precisely the same as the original [as you noted]. Everything works except the note off in channel one.

I tried putting a vA to usbA on the bottom to make a midi file. I could see in the midi monitor that the note offs were included. Same in Logic, so the problem was not duplicated. I don’t even understand where the sound is sent out to the ES please show me specifically where to put an output in order to make a midi file that will work for you.

I do appreciate your streamlining the patch!
I don’t understand this sentence. ❖(CC69 ⤨invert→ CC72 replaced by 2025 Mode Mapping)❖
What is 2025 Mode Mapping?

This patch is based on your work originally, which is why I probably don’t understand your modifications. But I much appreciate your work because I’m out there using it in the real world in performance.

Anyway, again, tell me specifically how to make the midi file that will enable you to duplicate the problem with no note off message sent to the ES in channel one.
Thanks!
Peter
ps-the midi hub at times stops sending midi messages, and I have to power cycle to bring it back. All the lights blink as if it’s working. Do other people report this? What might cause it?

Big Long Explanation incoming…




To help understand the adaptations to the preset it will help to compare old and new a 2nd instance of the Editor

How to do this

Open the Terminal app and in a window paste this…

/Applications/Midihub\ Editor.app/Contents/MacOS/Midihub\ Editor ; exit;

…then press return

PS. On Windows & Linux just double-clicking the Editor icon will open a new instance each time.
MacOs doesn’t allow so we have to use Terminal. Useful here, essential if you own multiple MidiHubs

Now you can have your old preset open in the 2nd window to compare.


recent Midihub improvements

❖(CC69 ⤨invert→ CC72 replaced by 2025 Mode Mapping)❖
What is 2025 Mode Mapping?

In mid 2025, @Blokas released the 1.16 series Editor and firmware.

Two of the most important updates (IMO) were CC Table and more powerful mappings
(check out this link, partic the section about ‘Mode’)

I use language like “Mode Mapping” or “Mappings with Modes” when I need to highlight that I’m leveraging more than a mapping like your MIDI LIVELOGIC Ch1 Scale CC 69 [0 ↔ 127] (which is like a pre-25 mapping).
For example I use MIDI LIVELOGIC Ch1 Scale CC 69[127 ↔ 0] to map the Filter Bypass.

Now we can think of “Mode = Scale” mappings as an old-school mapping with a Rescale-Out built in.
This means that, where we used to need to create say a CC72 then Rescale to Invert its values,…
now we can just use Scale CC 69 [127 ↔ 0] instead, saving all that extra complication.

Compare the two presets and see that I’m using Scale ... [127 ↔ 0] in two places so you can understand the simplifications.


recording MIDI input messages to a DAW

tell me specifically how to make the midi file that will enable you to duplicate the problem

OK, One of the advantages of the simplifications is that all the parallel processing pipelines…

  • Sustain & remap → Ch.1
  • Remap → Ch.2
  • Invert middle note range

…all start with Virtual A-IN
This means that Virtual A-IN carries all the messages that enter the system, so by adding the ‘vA to usbA’ pipeline…

…and assigning Midihub MH-... Port A as the MIDI input for a MIDI track in your DAW.

you can record all those messages as you play, waiting for a stuck note.

Then I can use the resultant MIDI file (or at least the latter part of it :wink:)


MIDI out, not sound

where the sound is sent out to the ES

We don’t need to record the sound from the ES for debugging purposes.

Note that, as well as rationalising all the ‘system inputs’ (as it were ) to Virtual A-IN
…I’ve used Virtual G to bring together all the MIDI outputs in one place too.

This means that, while you’re recording all those “inputs” in your DAW, you can leave the sole MIDI ES-OUT selected so the MIDI Monitor can record everything that is being sent out (maybe filter out the PitchBends so the Monitor doesn’t overflow)




Lastly

at times stops sending midi messages

this is a @Giedrius/@Pranciskus question!
I’d suggest starting a separate Support question with as much detail as you can (eg. when connected to Mac or when standalone, etc)

Thank you for the detailed reply. I have to study each thing. I have started many messages. Currently this. See if you can make any sense of it;
-Midi out is showing on mldi hub midi monitor on the USB port that sends to the Mac.
Midi monitor in the Mac does not show any input. Likewise Camelot, the sound host shows no input. What could this be? It can’t be the cable because it’s communicating with midi hub to show that the midi hub monitor is getting midi what is left?

Other days everything works. Other days nothing works. Now input has been restored not sure why. But channel one is coming through where it should just be channel 2. I haven’t changed anything but I get different behaviors. I am pretty lost at this point. I wonder if you could take control of my computer and take a look?