## kick question

May 30, 2011 at 11:55am

# kick question

hi, in this patch on preset 1 why is the kick popping at the beginning of the kick sound (when triggered) sometimes and sometimes not. I want it to pop every time. Is it to do with the envelope length?

`

– Pasted Max Patch, click to expand. –
#57347
May 30, 2011 at 3:32pm

Although its really hard to discern how your patch is patched, my assumption is that the order of the main bang object may not be sending the bang in the same order each time. Try adding a `t b b b` with as many b’s as you need to ensure that your sending the bang’s in the proper and consistant order.

If that doesn’t do it, repost here.
GW

#205451
May 30, 2011 at 3:32pm

Although its really hard to discern how your patch is patched, my assumption is that the order of the main bang object may not be sending the bang in the same order each time. Try adding a `t b b b` with as many b’s as you need to ensure that your sending the bang’s in the proper and consistant order.

If that doesn’t do it, repost here.
GW

#205532
May 30, 2011 at 5:12pm

The old phase problem. my god, the hours spent dealing trying to illustrate this.

Raja is the man. Once he finally understood what was going wrong he nailed it.

http://www.cycling74.com/forums/topic.php?id=12884

Ah. All his posts are gone.

I’ll see if I can dig the patch out.

#205453
May 30, 2011 at 5:12pm

The old phase problem. my god, the hours spent dealing trying to illustrate this.

Raja is the man. Once he finally understood what was going wrong he nailed it.

http://www.cycling74.com/forums/topic.php?id=12884

Ah. All his posts are gone.

I’ll see if I can dig the patch out.

#205534
May 30, 2011 at 6:14pm

@Mike S
Justin’s patch in that thread is the only one needed. He’s actually the one who gave the answer. but Thanks, Mike!
(when I deleted I left this one up just for you:
http://cycling74.com/forums/topic.php?id=19826
:D )

@Nano59
Triggering envelopes(amp-envs in particular) using a bang relies on scheduler, causing things to be a few samples out of phase(there are ways to tighten it using poly~ and vector size of 1 which i’d rather not go into). Read here for tightening scheduler to audio interaction in documentation sense… something everyone needs to know:
http://cycling74.com/docs/max5/tutorials/msp-tut/mspaudioio.html
(See descriptions for “signal vector” “i/o vector”
scheduler in “audio interrupt” and “overdrive”.)

But you should use adsr~ instead for your particular situation. You can keep the bang, just attach it to a click~ object, use click~ to trigger all adsr~s. See adsr~ help-file, and within that help file, see [p signals].
Best of luck.

#205454
May 30, 2011 at 6:14pm

@Mike S
Justin’s patch in that thread is the only one needed. He’s actually the one who gave the answer. but Thanks, Mike!
(when I deleted I left this one up just for you:
http://cycling74.com/forums/topic.php?id=19826
:D )

@Nano59
Triggering envelopes(amp-envs in particular) using a bang relies on scheduler, causing things to be a few samples out of phase(there are ways to tighten it using poly~ and vector size of 1 which i’d rather not go into). Read here for tightening scheduler to audio interaction in documentation sense… something everyone needs to know:
http://cycling74.com/docs/max5/tutorials/msp-tut/mspaudioio.html
(See descriptions for “signal vector” “i/o vector”
scheduler in “audio interrupt” and “overdrive”.)

But you should use adsr~ instead for your particular situation. You can keep the bang, just attach it to a click~ object, use click~ to trigger all adsr~s. See adsr~ help-file, and within that help file, see [p signals].
Best of luck.

#205536
May 30, 2011 at 8:34pm

thanks for the reply. what’s the benefit of adsr? I tried using click~ to trigger the adsr as the example did but it didn’t trigger anything. I’ll keep trying.

#205455
May 30, 2011 at 8:34pm

thanks for the reply. what’s the benefit of adsr? I tried using click~ to trigger the adsr as the example did but it didn’t trigger anything. I’ll keep trying.

#205537
Jun 4, 2011 at 2:27am

adsr~ is sample-accurate, a bang sent to multiple line~ objects might not be(the line~ objects may start out of sync by a few samples, the amount depending on the load of your patch, the cpu power of your computer, and the vector size you’ve set Max to in DSP Settings…). if all adsr~ objects are started with a click~(a digital ‘click’ signal(or transient) as opposed to an non-signal-based ‘event trigger’ such as bang), then they all trigger at the same sample-accurate start time.

but actually, getting the regular function UI object to work with adsr~ is a bit more of a pain than zigzag~ so maybe just use zigzag~, like so:

– Pasted Max Patch, click to expand. –

For each ‘function’ UI object you have in your patch(8), you’d want to hook it into its own zigzag~, in other words, instead of line~s in your patch, you want zigzag~s but hooked up to function as i’ve done to parse out the line list(adding a 0 for start time and joining the lists(there is a separate list for the starting point… which works great for line~ but not for a signal-controlled zigzag~…)). Then have one single click~ triggering every zigzag~ in your patch.

Best of luck.

#205456
Jun 4, 2011 at 2:27am

adsr~ is sample-accurate, a bang sent to multiple line~ objects might not be(the line~ objects may start out of sync by a few samples, the amount depending on the load of your patch, the cpu power of your computer, and the vector size you’ve set Max to in DSP Settings…). if all adsr~ objects are started with a click~(a digital ‘click’ signal(or transient) as opposed to an non-signal-based ‘event trigger’ such as bang), then they all trigger at the same sample-accurate start time.

but actually, getting the regular function UI object to work with adsr~ is a bit more of a pain than zigzag~ so maybe just use zigzag~, like so:

– Pasted Max Patch, click to expand. –

For each ‘function’ UI object you have in your patch(8), you’d want to hook it into its own zigzag~, in other words, instead of line~s in your patch, you want zigzag~s but hooked up to function as i’ve done to parse out the line list(adding a 0 for start time and joining the lists(there is a separate list for the starting point… which works great for line~ but not for a signal-controlled zigzag~…)). Then have one single click~ triggering every zigzag~ in your patch.

Best of luck.

#205538
Jun 4, 2011 at 11:58am

thanks very much for the useful info and the example patch :)

#205459
Jun 4, 2011 at 11:58am

thanks very much for the useful info and the example patch :)

#205539

You must be logged in to reply to this topic.