Forums > MaxMSP

kick question

May 30, 2011 | 11:55 am

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. –

May 30, 2011 | 3:32 pm

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


May 30, 2011 | 3:32 pm

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


May 30, 2011 | 5:12 pm

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.


May 30, 2011 | 5:12 pm

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.


May 30, 2011 | 6:14 pm

@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.


May 30, 2011 | 6:14 pm

@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.


May 30, 2011 | 8:34 pm

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.


May 30, 2011 | 8:34 pm

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.


June 4, 2011 | 2:27 am

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.


June 4, 2011 | 2:27 am

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.


June 4, 2011 | 11:58 am

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


June 4, 2011 | 11:58 am

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


Viewing 13 posts - 1 through 13 (of 13 total)