Breakoint envelopes


    Jan 26 2008 | 8:59 pm
    I am trying to build an additive synth with 16 oscilators, each having its own amplitude envelope.
    I wish to eliminate having 16 envelopes on the interface so was wondeing if there was a way to have a master envelope that could be assigned to a particular oscilator, while using a ...preset?... to save the previous oscilators envelope settings to be recalled when the oscilator was next selected??
    This would require the oscilators particular envelope to mirror the master one when the required message was sent. It would also require the master envelope to revert to the selected oscilators precviously saved settings when that osc was subsequently selected.???
    It occured to me there may be a way of using poly to achieve this?

    • Jan 26 2008 | 11:13 pm
      interesting.
    • Jan 27 2008 | 4:38 pm
      is this what you mean?
      I'm sure there's a less kuldgy way to do this. But I built a patch recently, three sets of four oscillators, and I ran into a similar situation. I wanted to set the envelope of all (or a subset of) the envelopes.
      anyway, here's what I came up with (all in one patcher window--master and two [functions] tied to it.
      best Sam
      -------------------
      On Jan 26, 2008, at 12:59 PM, seanzshow wrote:
      > > I am trying to build an additive synth with 16 oscilators, each > having its own amplitude envelope. > > I wish to eliminate having 16 envelopes on the interface so was > wondeing if there was a way to have a master envelope that could be > assigned to a particular oscilator, while using a ...preset?... to > save the previous oscilators envelope settings to be recalled when > the oscilator was next selected?? > > This would require the oscilators particular envelope to mirror the > master one when the required message was sent. It would also > require the master envelope to revert to the selected oscilators > precviously saved settings when that osc was subsequently selected.??? > > It occured to me there may be a way of using poly to achieve this?
    • Jan 29 2008 | 3:42 am
      Quote: seanzshow@hotmail.com wrote on Sat, 26 January 2008 12:59 ---------------------------------------------------- > I am trying to build an additive synth with 16 oscilators, each having its own amplitude envelope. > > I wish to eliminate having 16 envelopes on the interface so was wondeing if there was a way to have a master envelope that could be assigned to a particular oscilator > >... > > It occured to me there may be a way of using poly to achieve this? ----------------------------------------------------
      This is a perfect job for poly~ and the pattr system. The tricky part is detaching your interface from the logic. I'm assuming you want to use the function object for the interface. So you need to be able to (1) get your envelope out of the function object and store it in a pattr and (2) get your envelope out of the pattr and put it back in the function. (1) is no problem - function outputs in line~ format and a pattr object will store the list of numbers. (2) is trickier, so see my patch below. The rest is standard poly~ and pattr operations.
      I have patches that do stuff like this so I pruned it down to a simple(?) example. There is a 16 voice poly, and each poly instance takes a base frequency and multiplies it by the voice number to give you a harmonic series (the 16th voice is 16*base frequency).
      Save this as "polyenvtest":
      Then open this patch and follow the instructions:
      Let me know if anything in there doesn't make sense. This can use a lot of work but the basic idea should get your started. Good luck!
      -Adam
    • Jan 29 2008 | 2:36 pm
      Thanks Adam,
      This is very clear and very helpful. I don't need it right now but it is definitely going into my toolbox.
      Cheers Gary Lee Nelson Oberlin College www.timara.oberlin.edu/GaryLeeNelson
      On 1/28/08 10:42 PM, "Adam Murray" wrote:
      > Let me know if anything in there doesn't make sense. This can use a lot of > work but the basic idea should get your started. Good luck! > > -Adam
    • Jan 29 2008 | 4:27 pm
      Quote: adamj wrote on Tue, 29 January 2008 04:42 ----------------------------------------------------
      > > Let me know if anything in there doesn't make sense. This can use a lot of work but the basic idea should get your started. Good luck! > > -Adam ----------------------------------------------------
      yes, beautifull patch Adam, thanks for sharing :)
    • Jan 30 2008 | 11:07 am