[Sharing/Emulation] "Analog" Shift Register


    Sep 02 2010 | 6:17 pm
    I was reading about shift register modules for analog synths and put together this msp version of the concept. It's a canon/s&h/delay with 4 outputs. On each trigger the first output samples the input. The other outputs hold past samples, moving down one output on each trigger. For a better explanation this is the module i based my patch on. http://www.ear-group.net/model_23.html
    *NOTE* I'm not 100% sure this is the best way to implement this concept. The delay~s prevent all the sah~ from outputting the same values but there may be a more computationally effective method (without leaving signal domain). This is not a CPU eater by any means but for those who can't spare the processing I figure it's worth mentioning since this is meant to be incorporated into larger patches.

    • Sep 02 2010 | 6:45 pm
      this is really great! i might just swap out '
    • Sep 02 2010 | 7:22 pm
      thanks for the tip!
    • Sep 03 2010 | 2:20 am
      why [delay~] ? why not [-~ 0.25] ?
    • Sep 03 2010 | 2:38 am
      I didn't look at your patch, but the object [bucket] pretty much just does this.
    • Sep 03 2010 | 3:15 am
      [delay~] gives the previous output a little extra time so that they don't all output the same values. i'm not sure where the [-~ 0.25] would go. the trigger has to happen at the same time and math on the outputs would defeat the purpose.
      the idea is ____ = out1 out2 out3 out4 trig1 = 0.37 0.00 0.00 0.00 trig2 = 0.91 0.37 0.00 0.00 trig3 = 0.54 0.91 0.37 0.00 trig4 = 0.18 0.54 0.91 0.37 trig5 = 0.66 0.18 0.54 0.91 etc.
      it looks like [bucket] is the scheduler version of this. my patch is a signal rate version. i'm using it as an abstraction in a "digital modular" i'm building.
    • Sep 03 2010 | 3:17 pm
      might be fun to try a version that simply converts from sig to float and then back again?
    • Sep 03 2010 | 3:32 pm
      ah, i did not have max yesterday and could not figure what it does using the runtime.
      since today i have my maxmsp computer back on the net.^^
      well if you would measure the difference between the first and the second value of out1, you could create the very next output of output2 by adding this difference value, i.e. recalculate the values instead of storing them.
      i might post a patch later.
    • Sep 03 2010 | 3:47 pm
      BTW I think the Plan B ASR is a straight up copy of the Serge ASR... Peter G had a *cough* tendency *cough* to copy ;)
      here's my take on it, using [bucket] as you mention above. I guess you do lose a tiny bit of temporal resolution in the process, but for the normal use (arabesques and such) then scheduler rate is just dandy.
      I just did this to add it to my snippets collection really.
      seems like you're not on v5, so here's the patch in png form: http://i.imgur.com/O2kL9.png