Delayed Note Off for a specific rhythm

Hi! New here. Loving GP.

I play keys in a wedding band and have programmed risers and sweeps that I can use at any time. I’m using Massive for those, synced to the GP BPM and I’ll tap tempo to match the band tempo live. I use some pads on my controller to trigger 1-bar, 2-bar and 4-bar risers, but I have to hold the pad.

Wondering if there’s a way to simple press the pad to start the rise and have the ‘note off’ signal delayed for 4/8/16 beats of whatever tempo is in GP?

(OR if there is a way in Massive to simple release after one LFO cycle?)

Any other ideas? Thank you!

Welcome to the community.

This use case seems to be advanced, but maybe our scripting gurus might have some ideas.

Hi, with this example rackspace script you can try

   MIN : MidiInBlock
   BUTTON : Widget
   m      : NoteMessage
   t      : Double

on Activate
 t =  60000 / GetBPM()

// Called when a single widget value has changed
On WidgetValueChanged(newValue : double) from BUTTON
 if newValue == 1.0 then
  m = MakeNoteMessage(C3, 127)
  SendNow(MIN, m)
  m = MakeNoteMessage(C3, 0)
  SendLater(MIN, m, t)

Or use a scriptlet code

var t : double
//Called when a NoteOn message is received
On NoteOnEvent(m : NoteMessage) 
  t =  60000 / GetBPM()
  SendLater(WithVelocity(m,0), t)

On NoteOffEvent(m : NoteMessage) 


Please tell us more details on how you set up your controller/rackspace/widgets… you are using.
What controller do you use?
How are the pads set up, which you were talking of? (Note messages, CC#,…)
Have you connected those pads with widgets?
All those little things… details is what we need!
If you have a (simplified!) rackspace or gig file, please upload it!

I think, that generally would be quite easy to do with scripting, but to give useful tipps, we just don’t have enough information.

I build a very trivial scriptlet to do this – as noted (no pun intended) it could be improved in many ways