# I forgot to send the reply message to the list... -ugur-
---------- Forwarded message ---------- From: sokratesla ugurguney@gmail.com Date: Jun 14, 2006 12:52 AM Subject: Re: [PD] how to trigger bang's with a period less than 1 milisecond To: Miller Puckette mpuckett@imusic1.ucsd.edu
# I'm attaching a patch, in which you can send messages to a metro object. Metro is used to trigger the vline~ object in order to produce a linear ramp in given period. The same period, is turned to frequency and send to a phasor~, which also produces a linear ramp, and both of them are plotted. (but I can not succeed to hold them in phase, when you change the period their phase differences changes) # So, when the period is less then 1 miliseconds, metro continues to send bang with a period of 1 ms.
# Err... Why did I need such small periods of bangs, all of a sudden? I realized that phasor~ starts to skip the values 0 and 1 after increasing the frequency after some value. And I searched another ways of producing linear ramps. (Using vline~ idea comes from your patch: C06.signal.to.control.pd, there use have given metro a period of 2 ms) But I'm not sure that this is necessary. :-) -ugur guney-
(((# My ultimate aim was producing a pure sinusoid at a frequency of, say at 22200 Hz, and here it as it were 150 (= 22200-22050) Hz. in order to make an example of Nyquist Theorem. I first tried to use the osc~ object but it didn't give the result I expected. (first, I have to figure out why you have used a table which includes a sinus shape which have more periods than one, in the C1.nyquist.pd) I came here from there with the intention of using a tableosc4~ instead of osc...)))
On 6/13/06, Miller Puckette mpuckett@imusic1.ucsd.edu wrote:
I think you can send 'metro' a message to make it go faster... it's just the creation argument that's bounded below by 1 msec. This was a bit of crash-proofing that I probaly shouldn't have included...
cheers Miller
On Tue, Jun 13, 2006 at 09:51:27PM +0300, sokratesla wrote:
# Hi everybody! # I was fiddling with the "metro" object and realized that it can not
take a
number less than 1 as the second argument. So, I will trigger a vline~ objects with the output of the metro to produce triangle waves. Is there
any
other object like metro, for doing this job? # Thanks! -ugur guney-
PD-list@iem.at mailing list UNSUBSCRIBE and account-management ->
sokratesla wrote:
# I'm attaching a patch, in which you can send messages to a metro object. Metro is used to trigger the vline~ object in order to produce a linear ramp in given period. The same period, is turned to frequency and send to a phasor~, which also produces a linear ramp, and both of them are plotted. (but I can not succeed to hold them in phase, when you change the period their phase differences changes) # So, when the period is less then 1 miliseconds, metro continues to send bang with a period of 1 ms.
hmm, but why don't you use [vline~] (probably a 2nd instance with different messages) to control the [phasor~]? if you need sample accurate synching, then signals are usually the way to go. [vline~] is special, as it allows to use messages with higher granularity then the dsp-tick, but it is special and most other objects are not.
i always thought it a pity that the difference between messages and signals has become so blurred with the advent of ~-objects accepting numbers "as signals" -- just try to send a number to the freq-input of [phasor¨] in pd-0.25 .....
mfg.asd.r IOhannes
Hallo, IOhannes m zmoelnig hat gesagt: // IOhannes m zmoelnig wrote:
[vline~] is special, as it allows to use messages with higher granularity then the dsp-tick, but it is special and most other objects are not.
Philosopher mode on:
I wonder, which other objects would also benefit from becoming "special" in the way, vline~ is special. A possible model could be t3-lib, but for example the t3_bang object already is there in the form of the normal bang message, when its origin is a clock-derived message (as sent by metro etc.). So we don't need a "special" bang object. t3_bpe is the same as vline~ basically, t3_sig~ too, t3_metro, t3_del and t3_timer are the same as metro, del and timer now.
Normal signal objects also don't need to become "special", if they have signal inlets, as one could use a vline~ to feed them with sub-sample exact signals.
One thing, where "specialness" would be useful is the non-signal inlets of objects like phasor~ or osc~ which set the phase. It would be great, if these either were signal inlets as well or if they would accept messages formatted like vline~-messages (with delay numbers at the end.) vline~-like-messages could be implemented without breaking compatibility with old patches, I guess.
Frank Barknecht _ ______footils.org_ __goto10.org__
On 14 Jun 2006, at 10:55 PM, Frank Barknecht wrote:
[vline~] is special, as it allows to use messages with higher granularity then the dsp-tick, but it is special and most other objects are not.
on a related question - what would be the best way to achieve a 8 or
9 sample delay in the audio?
I need to shift 1 output about .2 ms relative to 2 other outputs (all
from the same input) to create the correct sends to different
speakers so they interfere with each other properly
simon
Hallo, Georg Holzmann hat gesagt: // Georg Holzmann wrote:
on a related question - what would be the best way to achieve a 8 or 9 sample delay in the audio?
[z~] from zexy is a sample-wise delay ...
But you could of course also use the usual [delwrite~]/[delread~] or [vd~] to do short delays. For fixing speaker distances I think, one would calculate these in terms of meters and seconds anyway, for example: distance[m] / speed_of_sound[m/s] = time_difference[s]
Frank Barknecht _ ______footils.org_ __goto10.org__
thanks for the answers
On 15 Jun 2006, at 8:19 PM, Frank Barknecht wrote:
But you could of course also use the usual [delwrite~]/[delread~] or [vd~] to do short delays. For fixing speaker distances I think, one would calculate these in terms of meters and seconds anyway, for example: distance[m] / speed_of_sound[m/s] = time_difference[s]
it is actually for small boxes with a speaker on each end, the rear
one cancels the front to produce a cardiod pattern (with a bunch of
other filters as well!) it is working very well with a piece of
borrowed hardware and I want to try and reproduce the processing in
pd - or maybe I'd be better off using plugins in ardour?? - it seems
some kind of convolution would also be possible.
simon
hi simon
use delwrite~ and delread~ , see attached patch
eni
On Jun 15, 2006, at 10:59 AM, simon wise wrote:
on a related question - what would be the best way to achieve a 8 or 9 sample delay in the audio?
I need to shift 1 output about .2 ms relative to 2 other outputs (all from the same input) to create the correct sends to different speakers so they interfere with each other properly
(((# My ultimate aim was producing a pure sinusoid at a frequency of, say at 22200 Hz, and here it as it were 150 (= 22200-22050) Hz. in order to make an example of Nyquist Theorem. I first tried to use the osc~ object but it didn't give the result I expected. (first, I have to figure out why you have used a table which includes a sinus shape which have more periods than one, in the C1.nyquist.pd) I came here from there with the intention of using a tableosc4~ instead of osc...)))
I think that when one plays a 22200 freq at 44.1kHz sample rate, you will hear it as 21900 rather than 150. To reach 150, you have to go up higher to 43950 (= 44100-150).
Chuck
Hi,
On Wed, 14 Jun 2006 10:38:09 +0300 sokratesla ugurguney@gmail.com wrote:
(((# My ultimate aim was producing a pure sinusoid at a frequency of, say at 22200 Hz, and here it as it were 150 (= 22200-22050) Hz. in order to make an example of Nyquist Theorem. I first tried to use the osc~ object but it didn't give the result I expected.
That's because the example you give here isn't an example of the Nyquist theorem. The aliased frequencies 'fold back', rather than wrapping. It is like the Nyquist frequency is a mirror reflecting the signal's components back into the sub Nyquist range. This can be represented by:
fa = |R*n - fs|
Where fa, is the frequency of the alias of a sinusoidal component fs, R is the sample rate, and n is (fs / R) rounded to the nearest integer.
best,
Jamie