Creating simple midi envelope?

I’m going through the Vuo basics and I tried to create simple Leap driven midi ‘keyboard’. Pointable will create midi note on with velocity and note value but I can’t figure out any good way to create or control note-off events. I had two aproaches in mind but are either of these possible with current nodes?

  1. Whenever a midi note is created from data coming from leap, create also another midi note with same note value but have it be ‘noteOff’ and spin off the Send MIDI event as background task and attach a delay before Send MIDI event is executed.

  2. Create brute force all-notes-off task that is fired when certain threshold value from leap is reached. This would require that I could manually create a list for all the 128 midi notes and cycle through and create midi notes with noteOff for each value.

Or am I overlooking some other existing possibility to achieve my goal?

Cheers,
Jokke

Hey Jokke,

Awesome project. We’re not aware of any avenues at the moment but will be considering your ideas as we go forward. Thanks!

@jokkeheikkila: I’ve attached a little example. I don’t have a Leap Motion Controller in front of me at the moment (it’s at the office, and my car is caught in the snow… :^/ ), so my example uses the mouse. When the mouse moves into the green square, it sends a MIDI Note On, and when it moves out of the green square, it sends a MIDI Note Off. You could pretty easily substitute the Leap Pointable tipPosition, then duplicate that pattern for each key on the keyboard. Is that what you have in mind?

mouse-midi.vuo (3.86 KB)

Thanks for the answer. I was looking maybe a bit too ‘programmatic’ approach but your idea gets the job done also. The downside is that the patch gets quite ‘big’ when I expand it to cover 2 octaves and include generated graphics per note. I also bumped into a possible bug when the patch will just beach ball upon opening, but I’ll submit it’s own bug report on that.