Delay a stream of pulses


#1

Is there any way to delay a stream of pulses?

I would be so excited if there was an object like timer/delayedpulse that didn't cancel an old trigger if a new trigger was received before the delay period.

For example, I'd like to delay a series of four pulses, 100 ms apart, a total of 600 ms. Is there a way to do this that doesn't involve chaining twelve 50 ms timer/delayedpulse objects?


#2

maybe it's an idea to use either tables or delay lines for this?

rbrt also has an object called k delay, you could try that too.


#3

I also did a thing called pulse delay or something like that.I guess its in rbrt/control.but it does cancel the 'old' trigger.


#4

Oh! kdelay looks beautiful! I will test it soon. Thank you!

I'm working on something new now -

I'm storing values with millisecond offsets in a table. I want to record 4 note events and record the timing differences between them over a couple seconds.

I thought to use the table object with the float index. I want to convert the integer millisecond output of timeri into a float. I can't multiply the integer by 0.001, because it is an integer. I cannot convert the milliseconds into a float before the operation- because floats wrap at 1000. What sort of construct should I build that will safely convert something like an integer value of say 1027 ms to a float of 0.103 or so? Should I try and learn some basic C and do this in a script? Or is there a way to work with higher-capacity floats in the patcher?

Thanks again all


#5

Okay, I think to store the time values I should use a range from 0 to 128, that represents from 0 to 4000 milliseconds.

I'm now trying to generate a fractional value of 0.032 (multiplied by 4000ms = 128)

I have a constant of 2048, running this through math/reciprocal, thinking 64/2048 = 0.032, but the resultant float from this operation seems to be 64. Can anyone explain why the construct below results in a value of 64?


#6

Oh, nevermind! It's because 2048 is over the limit


#7

Sorry for all the posts to this topic. I've achieved 0.032 with this:

Is there some consideration with the timer/timeri object that changes the time reference associated with it? I am triggering the timer for what seems to me to be about half a second, but the ms output is in the range of ~1400 to 2500.