Note HOLD (monophonic/polyponic)

I have a MIDI keyboard without note Hold function and there is also no possibility on the synth to midi map a hold button.
I would like to use a button (note or cc) on a midi controller to act as hold button for the notes coming from the MIDI keyboard. And optionally a second button to select which 2 scenario: monophonic hold and polyphonic hold.

  1. for monophonic use:
  • when the the hold button is enabled: when pressing a key, all other notes must be switched off first. only 1 note can be active at the same time, the last one.
  • when releasing the hold button: all notes must be switched off.
  1. optional, for polyphonic use:
  • as long as the hold button is pressed: all notes that were on when the button was pressed must stay active and any new played notes as well.
  • when releasing the hold button: all notes must be switched off.

Is that possible with midihub?

What happens if other notes are playing when the hold button is enabled? all note_off?

Does each new note_on then send a note_off for the previous note?

Presumably all the notes are on one channel?

possible with midihub?

Dep on answers to above, seems like a physical-loopback scenario (to get MH to map to itself to store the current note number): have you worked with loopbacks?

Piece of cake. Just use the sustain pipe and map a key or button to sustain on. To do a on off toggle you need to do a loopback but a pretty simple one. Otherwise the sustain will be momentary(on as long as you are pressing down). If you are using a knob, there is no need for a loopback.

Same thing for poly/mono but map the “Mode” argument. If your controller buttons can be set to toggle or you can set the value it sends then you won’t need to use a loopback unless you want to use your keyboard notes.

1 Like

Thank you for your reply. Good remark about the channels. A hold per channel will allow me to keep notes on on several channels when swithing the channel on my keyboard. And I will also map an emergency button do disable all notes and also all arpeggiators on the synths.

Ha, ambitious; I was asking in hope of keeping everything as simple as possible!

for a single channel, monophonic solution, I was thinking of using the same loopback strategy as this PC change patch, in that each new note triggers a Transform which creates the “previous” note_off.

Thank you for your reply. Indeed piece of cake. I was searching in wrong direction. The sustain pipe in chord mode is what I was looking for. It works for both scenario’s. I am going to use a toggle switch to enable/disable the sustain. And because the solution is so easy, I will map 1 sustain per channel, for more flexibility.

1 Like

ha! didn’t mention Sustain cos I thought your specs precluded it and so you’d already rejected that!