hi list, im controlling some amplitudes using signals, from tables. i create the signals multiplicating osc~ and phasor~. i want to know is there is a way to make that the last number in my table can be the first one in the table , otherwise it produces clicks.
seconds question is , how can i make that my first number and the last one in the table always be cero? it would nice if there is a way of doing this automatically. so i can create complex signals dynamically without worry about clicks
thanx punchik
pun chik wrote:
hi list, im controlling some amplitudes using signals, from tables. i create the signals multiplicating osc~ and phasor~. i want to know is there is a way to make that the last number in my table can be the first one in the table , otherwise it produces clicks.
the simplest method would be, to use tables that ajust hold one sample. this would ensure that the first value in the table equals the last one.
seconds question is , how can i make that my first number and the last one in the table always be cero? it would nice if there is a way of doing this automatically. so i can create complex signals dynamically without worry about clicks.
honestly, use another table for windowing the 1st table (this is: multiply the 2 tables together): the 1st table holds whatever you want, and the 2nd makes the result fit into some boundary conditions (like smooth transitions,...)
mfg.ads.r IOhannes
Johannes M Zmoelnig wrote:
pun chik wrote:
seconds question is , how can i make that my first number and the last one in the table always be cero? it would nice if there is a way of doing this automatically. so i can create complex signals dynamically without worry about clicks.
honestly, use another table for windowing the 1st table (this is: multiply the 2 tables together): the 1st table holds whatever you want, and the 2nd makes the result fit into some boundary conditions (like smooth transitions,...)
See:
/pd/doc/3.audio.examples/B09.sampler.loop.smooth.pd
The [-~ 0.5]--[*~ 0.5]--[cos~] construction makes an windowed "envelope" from the output of the [phasor~]. This ensures that the endpints of the table are always zero. However, it also modulates the amplitude of the sound coming out to some extent. But it is the most "systematic" way of setting your table boundaries to zero.
d.
is there a way to make this envelope shorter ... i can hear the loops fading in and fading out, it would be neat if they only had something like a ms crossfade in stead of a few seconds, i don't know if this would cause clicks. but it seems like crossfades around 30ms are okay. i'm a beginner sort of, and i happened to be gawking at the [-~ 0.5]--[*~ 0.5]--[cos~] just now.. thinking that it was the culprit of why my samples where fading in and fading out...
thanks, andy
derek holzer wrote:
Johannes M Zmoelnig wrote:
pun chik wrote:
seconds question is , how can i make that my first number and the last one in the table always be cero? it would nice if there is a way of doing this automatically. so i can create complex signals dynamically without worry about clicks.
honestly, use another table for windowing the 1st table (this is: multiply the 2 tables together): the 1st table holds whatever you want, and the 2nd makes the result fit into some boundary conditions (like smooth transitions,...)
See:
/pd/doc/3.audio.examples/B09.sampler.loop.smooth.pd
The [-~ 0.5]--[*~ 0.5]--[cos~] construction makes an windowed "envelope" from the output of the [phasor~]. This ensures that the endpints of the table are always zero. However, it also modulates the amplitude of the sound coming out to some extent. But it is the most "systematic" way of setting your table boundaries to zero.
d.
andy graybeal wrote:
is there a way to make this envelope shorter ... i can hear the loops fading in and fading out, it would be neat if they only had something like a ms crossfade in stead of a few seconds, i don't know if this would cause clicks. but it seems like crossfades around 30ms are okay. i'm a beginner sort of, and i happened to be gawking at the [-~ 0.5]--[*~ 0.5]--[cos~] just now.. thinking that it was the culprit of why my samples where fading in and fading out...
Have a look at [line~] and [vline~]. Then you will need to know how many milliseconds long your table is being played back at, which of course you can get from dividing the total number of samples (sent out the bottom of tabread~, etc) by sampling rate/1000 (i.e. 44.1, 48, 96, etc) . With those numbers, you can schedual a [vline~] to make an envelope with a more trapezoidal shape.
Or use two [line~] objects seperated by a [delay]. The total time of the first ramp (up), the delay and the second ramp (down) should be the envelope length.
d.