Is there a way to control the sustain/release for a note controller?

I’ve got a note controller sending MIDI through the MIDI router to Logic to control a synth, but I can’t figure out how to control the release of the note and so it ends up sustaining forever haha. Any tips appreciated!

hi @rrv24 - what version of SP are you running because I thought we fixed that issue in a recent-ish update.

Screenshot 2023-11-14 at 8.41.53 AM
Here’s what I’m on right now

I see. Okay, so the issue here is not the MIDI Router, which really only takes an incoming MIDI note and passes it on, but the Note Controller. The Note Controller was designed for use with our Sampler and lacks some features to make it really useful with MIDI. For example, it doesn’t have a parameter to set length. So when it’s combined with the midi router, the notes don’t have an off message.

We do have plans to add length to the Note Controller – but we also have some much deeper changes to that module in the works to enable really cool harmonic/melodic use cases. But in the meantime, if you want to send MIDI notes out, I recommend you stick with the MIDI Notes Generator.

What are you looking to control with MIDI? I can try to make some suggestions.


Hi Tenoch,

Makes sense, thanks! I was trying to control a synthesizer in Logic with my drum, and here’s exactly what I was trying to set up:

  • I wanted pick notes of a chord, and have notes that are triggered either based on the way I play (hence the note controller) or randomized (through use of a sequencer). The former was preferred due to the ability to have more control.
  • I then wanted to duplicate this for different chords, allowing me to cycle between sets of different notes
  • I initially tried to set this up with the MIDI Notes Generator, however, I wanted to be able to include multiple notes on each zone, but not have them play at the same time, for which the Notes Generator did not seem ideal. I contemplated the idea of nested note generators in a sequencer, but it seemed like a much longer process to setup and edit compared to the note controller.
  • Furthermore, when using the MIDI Notes Generator, I had to manually pick every note I wanted, map it to a zone, and then duplicate and edit that for every chord I wanted. This was a slightly more time consuming process (especially if I wanted to make changes later), and also limited the available notes slightly.
  • I ended up using a sequencer consisting of multiple note controllers (one for each chord) rather than MIDI note generators for these reasons, and the note controllers each had a MIDI Router in them. However, as I mentioned earlier, the sustain did cause several issues, as cycling between chords in the sequences meant I had a lot of notes that never died out and built up into a wall of sound.
  • I also did try mapping the “stop” button in SP to a zone, but hitting that didn’t cut off the sound at all - it just kept going until I turned off the synthesizer in Logic.

I’m wondering if there’s a simpler way to achieve what I’m trying to do, I’d appreciate any suggestions!

Hi! Just bumping this, curious if there’s a current workaround for what I’m trying to do.

Hi @rrv24,

Sorry for the late reply! What you’re running into with the midi router note length is a known issue, and it will be fixed in an upcoming note controller update (the router will be a part of the note controller module, instead of a separate module).

But while you can’t control the note length inside of SP, most software synths have ADSR parameters that you can edit to control how long the sound rings out. For example, in Logic, I opened up “Retro Synth” and changed the amp envelope parameters for a shorter decay/sustain (screenshot attached). This should solve your infinite sustain problem, but if not, let me know. I’m not a big Logic user, so there might be some synths that don’t have these ADSR controls.

Also, in the sequencer that contains the multiple note controllers, make sure to turn “retrig” on so that you’re not getting the unwanted overlap between notes. Sounds like you’re exploring some cool applications of sequenced MIDI! Definitely keep us updated with what you’re working on.

Hi Patrick,

Thanks for the response! I’m not using stock synths, but the ADSR curves definitely helped with the issue.

I did have one more question regarding MIDI applications that I’m a bit unfamiliar with - I’m wondering if there’s a way to use MIDI out from SP to control parameters within my DAW? Suppose I wanted to use my drum to send a signal to the track that has the synthesizer on it (such as to mute the track), or if I wanted to toggle a single synth setting on/off using my drum - would this be possible? I don’t have experience with this sort of MIDI manipulation, so I’m not too sure how I’d go about it if it’s possible.

Hi @rrv24,

Controlling parameters inside of a DAW is definitely possible, and is a very fun application of Sensory Percussion. The process is different for every DAW. Ableton makes it very easy; you just enter midi-mapping mode by pressing cmd+M. Then, you select a parameter, play the midi note that you want to use to control it, and it will automatically be assigned to that parameter.

In general, to control binary on/off parameters like mute/unmute, you’ll want to use a midi notes generator in SP and send a single midi note to control it. If you want to control a knob or a fader gradually, you’ll want to use a midi CC generator (this stands for continuous control). There’s more info about the Sensory Percussion side of MIDI output in our [user manual].(How To Send MIDI Out of Sensory Percussion | Sensory Percussion 2 Help)

It sounds like you’re using Logic, which is a bit more complicated. But you’re already receiving midi in Logic from SP, so everything must be set up correctly in SP. So in Logic, you’ll want to navigate to Logic Pro > Control Surfaces > Controller Assignments. This will take you to the window in the screenshot attached. Now, you should be able to hit “learn mode” and play a zone on a drum that is sending midi via one of the midi generator modules. Then, you can choose what parameter you want that midi note/CC to control via the “Commands” dropdown.

Again, I’m not a big Logic user and I find Ableton’s midi mapping much faster and easier, but there are some tutorials out there that go into more of Logic’s midi control capabilities. Hope that helps!

Hi Patrick,

This is perfect, thanks so much! Still in the very basic stages of learning what I can do with these extensive controls, but I was able to use this feature to achieve the effect I wanted and I’m excited to take it further!

1 Like


Just reviving this again - I know you mentioned there’s an update in progress to the way routing and the note controller work, but I was wondering if there’s a workaround for this the way it is right now. I’ve experimented with using MIDI note generators instead of note controllers, but at scale they’re much more time consuming to work with, and they feel less flexible in terms of how I can have them set up.
Right now, I’m either using the note generators or patches with less sustain (and even those end up sustaining for longer, haha). I’d appreciate any thoughts!

I setup a sequencer with several MIDI note generators, and since I was triggering a monophonic synth and wanted each note to sustain until the next, I set the note length to 10 seconds for every note. I was wondering if there’s a more efficient way to set this up?

Hi @rrv24 ,

There is still no solution for note controller sustain in the current release, but we’ve added a “max note length” parameter to MIDI hardware outputs that will be part of the next update (2.1.7). This will solve the original problem you wrote in about. So hopefully you can use the MIDI generator workaround until then.

If you still have questions on this, would you mind writing in to If you do, please specify exactly what synth you’re sending to, what you’re hoping to achieve, and include your session (.sp2) file. Then we can tell you if are better alternative methods. Thanks!

1 Like

I am looking to build note arrangements like the OP mentioned. Adding in a set of piqued ears for 2.17 update.
Might that be coming soon or should I try to brute force an inelegant solution for more complex note arrangements? I had really hoped this would handle the task. I’ll be excited to see the updated capabilities.

@Benny @rrv24

Good news! We just released Sensory Percussion 2.1.7, which includes a “max note length” parameter on all MIDI hardware outputs:

CleanShot 2024-03-06 at 12.06.27@2x

It’s set to 10 seconds by default and it will affect all MIDI being sent out of that hardware output, so if you have multiple MIDI generator modules sending to a single output, they will all be cut off after the amount of time specified. Hope this helps!

1 Like

This helps a lot, thank you!!

So I’ve been experimenting with this using a pad on which the sustain was pretty high, and I set the maximum note length to 1 second. Weirdly, nothing happened - it kept going, and I had to stop the synthesizer manually to stop the note from ringing.

Am I missing something? I set the input of the synthesizer to MIDI channel 8 as well. I had a separate instrument on channel 1 that was triggering correctly, so I thought the routing was correct, but I’m wondering if I missed something.

Hi @rrv24,

Sorry for the late reply. Above is a video of a test I did using a MIDI Monitor. I have the max note length in the hardware output set to 1 second, and the lengths for the individual notes in the generator module set to longer lengths.

You can see that every note off occurs exactly 1 second after the note on (when the zone is hit/clicked). When I change the max length on the hardware output to be super long, the note off for that zone then defaults to the length specified by the generator module. It will respond to whichever one comes first, and appears to be working correctly.

Could you give more information about the pad you’re controlling the MIDI from SP? Is it a software synth inside of a DAW, or an external hardware synth. In general, the “note off” message cuts off the sustain and starts the release. So it’s possible that you have your release set high? Or maybe there’s something funky going in the path from SP → IAC Driver → synth. A video of the issue would be helpful in troubleshooting (feel free to send it to if it’s too big to attach here). I would also suggest updating to the latest version of SP (2.1.8) in case you haven’t yet.

Hi @Patrick,

Thanks for the info! I’ve been away for a bit so missed your response. I’m still having the issue, so I emailed a screen recording! Hopefully that helps.