Attack Sustain Release MIDI Envelope

Hello,

I'm working with BOMEBOX with a lot of pleasure on my current project. Recently I put to use the CC to Pitchbend translator and it's perfect for a multitude of purposes so far. Another idea I had in mind that would help enormously is if there was a way to create a translator that generates a CC envelope, or well actually a Pitchbend envelope (because the software I'm using only receives Pitchbend, no CC's). Most important would be the release option, so starting at maximum output, and decreasing according to a linear decrease to 0, with a variable that determines the length of the decrease to 0. Second priority would be to have the same for Attack, and Sustain, but if it's too complex, only the release option would already be amazing. Any idea how I might be able to do such a thing?

Thanks a lot!

Kind regards,

Jacco

The below thread may help.

It uses timers to controll the ramp up/ramp down time of pitch bend. It may not be exactly what you are looking for but should be close enough that you can modify it for your needs.

 

https://www.bome.com/support/kb/bmt-and-bend-release

 

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz

Hi Steve,

Thanks! I will try this and let you know how it works out!

Kind regards,

Jacco

Hey Steve,

I was trying to figure out how the bend translator worked, but I couldn't seem to figure it out. It must be my lack of experience working with timers and local and global variables.

Would you mind to create a basic translator that has these elements, so I can figure out the rest while working with it?

  • Bend from 127 to 0 triggered by any midi note on midi ch 2, at any velocity (the program I'm using only reads MSB)
  • The time it takes for the timer to reach 0 controllable via CC 72 (on midi ch 2)

With this I think I'll be able to develop it more myself! Thanks a lot in advance!

Kind regards,

Jacco

Hi, Try this. The biggest trick will be the calculations on the time between timer iteration (ga) and bend amout per iteration (gb). The calculations are currently in translator 1.5 rules. CC72 is a single variable for input which we manipulate to get both ga and gb . It might be better to just set gb to a fixed amount and vary the time between bends.

 

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz

 


Attachments:
1589330394848_Bend-Example-2020-05-12.bmtp

Hi Steve,

It works beautifully and perfectly. Thanks so much!

With kind regards,

Jacco

Glad to help!