problem with msp-calculations: they restart always when chaning sth

    MaxMSP

    Matthias S.'s icon
    Matthias S.'s icon
    Matthias S.
    Jan 10 2010 | 3:01 am
    hi there!
    atm I am practicing for a piece completely done in max/msp. the idea is to do "live-patching" in concert. but there is some problem: when I, for example, already have a function that regulates the cutoff-frequency of a lowpass-filter done with a slow [cycle~] and I add a new msp object, then this function resets and the cycle-movement starts at the beginning.
    is there any way to handle this?
    thanks in advance!
    matthias

    • Anthony Palomba's icon
      Anthony Palomba's icon
      Anthony Palomba
      Jan 11 2010 | 3:51 pm
      What you are trying to do is very hard. When you add a new object, Max may need to rebuild the DSP chain, which might alter existing values or create clicks in the audio.
      I don't think Max is meant to be a real time performance patching environment.
      Share
    • seejayjames's icon
      seejayjames's icon
      seejayjames
      Jan 11 2010 | 4:41 pm
      You can fake it by revealing hidden MSP objects, and simultaneously allow them to function (add to the signal chain) via a matrix~ or somesuch. Since they were there already, though not adding any signal level, there won't be clicks. It's not really "live patch-building" but the idea might be good enough.
    • Matthias S.'s icon
      Matthias S.'s icon
      Matthias S.
      Jan 11 2010 | 7:43 pm
      @seejayjames: thank you for this hint, but unfortunately it doesn't fit with my concept, because the main idea for this piece is to improvise in creating new and not already built patches. anyway, a few objects are ready-made, but it's still my decision, if I want to built it into my empty patch.
      > What you are trying to do is very hard. When you add a new object, > Max may need to rebuild the DSP chain, which might alter existing > values or create clicks in the audio.
      yes, that seems to be exactly the problem. it also happens, when you just add/remove a patch chord. Is there no way to avoid this problem in this situation?
    • Emmanuel Jourdan's icon
      Emmanuel Jourdan's icon
      Emmanuel Jourdan
      Jan 11 2010 | 8:00 pm
      You might also want to have a look to poly~. You can dynamically load patchers without causing audio interruptions.
    • Matthias S.'s icon
      Matthias S.'s icon
      Matthias S.
      Jan 11 2010 | 8:31 pm
      Although this possibility of poly~ is very good, I don't think, that it will take me to where I want to be. I already messed around a little bit with poly~, but this special function is new to me. If there is no other way to get rid of the clicks, I'll use a sound layer of arrythmic impulses to hide the clicks (more or less) ;)
    • Luke Hall's icon
      Luke Hall's icon
      Luke Hall
      Jan 11 2010 | 8:44 pm
      You could try ducking the volume on your master output when you create something new, not the best workaround I'm sure, but it would hide the clicks.
      lh
    • pid's icon
      pid's icon
      pid
      Jan 12 2010 | 9:40 am
      have you considered that your concept sucks? ie, the point of 'live-coding' (whatever that is - i live-code, just not in front of an audience) is that it is a 'warts-and-all' art form. if the software with which you choose to live-code has this behaviour, that is what the art you make with it will embrace? ie, the soundforms will involve clicks, restart of dsp chain, etc. as far as audio refinement goes, from what i gather you would be better off using Supercollider and/or Pd for this project.
      EDIT - OUCH! sorry about that... should not reply to posts before my morning coffee...
    • yns's icon
      yns's icon
      yns
      Jan 12 2010 | 10:24 am
      pid, out of curiosity, why do you think PD would be suitable for this?
    • Matthias S.'s icon
      Matthias S.'s icon
      Matthias S.
      Jan 12 2010 | 12:23 pm
      @pid of course I recognize the problems of max/msp considering live-coding. I already also live-coded with SC, and my attempt was now to try something similar with max. also, i don't think that this concept sucks, because we will be four people live-coding and improvising together at the same time (with different environments). of course, if there is no possibility to avoid the restart of the dsp-chain (i'm getting the feeling that this is really something you can't change in max), then it's ok. like you said: 'warts-and-all' art form. But maybe I'll take a deeper look at Pd (I just did some tests, and it seems that there is no restart of the dsp-chain).
    • Gregory Taylor's icon
      Gregory Taylor's icon
      Gregory Taylor
      Jan 12 2010 | 1:00 pm
      >(i'm getting the feeling that this is really something you can't change in max)
      Yep. That's exactly right. At this time, anyway.
    • Matthias S.'s icon
      Matthias S.'s icon
      Matthias S.
      Jan 12 2010 | 3:27 pm
      @Gregory Taylor thank you for this clear answer. So now I can stop to search for some "hidden" options :)
      anyway, i now decided to use max/msp in my live-coding performance. one of my band members said: "it's like the chiffs on wood winds". it's just a characteristic of this instrument. if someone is interested: We will perform in Karlsruhe, Germany at the ZKM on Fri 22 January (http://on1.zkm.de/zkm/stories/storyReader$6962 ).
    • Chris Rolfe's icon
      Chris Rolfe's icon
      Chris Rolfe
      Jan 12 2010 | 9:42 pm
      Actually, there is a way to handle the specific example you cite. Cycle~ resyncs when the DSP chain is rebuilt, but phasor~ does not. So use a phasor~ driven cycle~.
    • Chris Rolfe's icon
      Chris Rolfe's icon
      Chris Rolfe
      Jan 12 2010 | 9:43 pm
      Here's an example:
      Max Patcher
      In Max, select New From Clipboard.
      Show Text