Hey PD-List,
Has the throw~/catch~ system been designed to have a different available headroom than standard [+~] and [*~] objects?
I've been designing a few polyphonic patches and have decided to use throw~/catch~ instead of hard-wiring the summing bus. I've found that when the signal approaches 1.0, distortion occurs. Has this been designed as such for a reason?
Cheers, ~Brandon
brandon zeeb wrote:
Hey PD-List,
Has the throw~/catch~ system been designed to have a different available headroom than standard [+~] and [*~] objects?
I've been designing a few polyphonic patches and have decided to use throw~/catch~ instead of hard-wiring the summing bus. I've found that when the signal approaches 1.0, distortion occurs. Has this been designed as such for a reason?
Yes, [throw~] and [catch~] and all the other dsp objects can handle signals up to the limits of the float type in the c programming language. However 1.0 is designed to correspond to the highest voltage the dac in your sound card can send to your amplifier. Any sample value above 1.0 or below -1.0 will be clipped to those limits. The output of a summing bus with subsequent processing will start clipping before any individual signal actually reaches 1.0.
Martin
I looked for that in dsp_add() myself, but couldn't see it.
On a practical note; having long suspected this while working with numbers of [throw~][catch~] buses at the mix stage it helps to introduce DC traps before every [throw~].
A solution where you have a seemingly untracable offset that messes all your [throw~][catch~] system, is to use a [delwrite~ a 1] and several [delread~ a 1] objects in place of [throw~] and [catch~]
On Sat, 02 May 2009 23:49:35 -0400 Martin Peach martin.peach@sympatico.ca wrote:
brandon zeeb wrote:
Hey PD-List,
Has the throw~/catch~ system been designed to have a different available headroom than standard [+~] and [*~] objects?
I've been designing a few polyphonic patches and have decided to use throw~/catch~ instead of hard-wiring the summing bus. I've found that when the signal approaches 1.0, distortion occurs. Has this been designed as such for a reason?
Yes, [throw~] and [catch~] and all the other dsp objects can handle signals up to the limits of the float type in the c programming language. However 1.0 is designed to correspond to the highest voltage the dac in your sound card can send to your amplifier. Any sample value above 1.0 or below -1.0 will be clipped to those limits. The output of a summing bus with subsequent processing will start clipping before any individual signal actually reaches 1.0.
Martin
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Andy Farnell wrote:
I looked for that in dsp_add() myself, but couldn't see it.
On a practical note; having long suspected this while working with numbers of [throw~][catch~] buses at the mix stage it helps to introduce DC traps before every [throw~].
i never ever heard of these nor experienced them.
could you elaborate a bit?
fgmsdfrt IOhannes
Andy,
Great idea, I'll keep that in mind.
You are correct, [throw~]/[catch~] does not contain a set maximum value. In the process of swapping out the cascading [+~] objects, I introduced a "feature" to the system which was causing the distortion.
Cheers, ~Brandon
On Sun, May 3, 2009 at 5:26 AM, Andy Farnell padawan12@obiwannabe.co.ukwrote:
I looked for that in dsp_add() myself, but couldn't see it.
On a practical note; having long suspected this while working with numbers of [throw~][catch~] buses at the mix stage it helps to introduce DC traps before every [throw~].
A solution where you have a seemingly untracable offset that messes all your [throw~][catch~] system, is to use a [delwrite~ a 1] and several [delread~ a 1] objects in place of [throw~] and [catch~]
On Sat, 02 May 2009 23:49:35 -0400 Martin Peach martin.peach@sympatico.ca wrote:
brandon zeeb wrote:
Hey PD-List,
Has the throw~/catch~ system been designed to have a different
available
headroom than standard [+~] and [*~] objects?
I've been designing a few polyphonic patches and have decided to use throw~/catch~ instead of hard-wiring the summing bus. I've found that when the signal approaches 1.0, distortion occurs. Has this been designed as such for a reason?
Yes, [throw~] and [catch~] and all the other dsp objects can handle signals up to the limits of the float type in the c programming language. However 1.0 is designed to correspond to the highest voltage the dac in your sound card can send to your amplifier. Any sample value above 1.0 or below -1.0 will be clipped to those limits. The output of a summing bus with subsequent processing will start clipping before any individual signal actually reaches 1.0.
Martin
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management ->
http://lists.puredata.info/listinfo/pd-list
-- Use the source
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list