Kyma Forum
  Tips & Techniques
  Newbie Alert: Random delay question

Post New Topic  Post A Reply
profile | register | preferences | faq | search

next newest topic | next oldest topic
Author Topic:   Newbie Alert: Random delay question
KevinCole
Member
posted 06 August 2004 14:44         Edit/Delete Message   Reply w/Quote
They say a picture's worth a thousand words... So, here's what I'm trying to do:
http://gri.gallaudet.edu/~kjcole/Kyma/DAFfy.jpg

I'm very new to Kyma and I'm helping a researcher who has designed the sound in the above image. I want to change either the Delay parameter or the DelayScale parameter of the DelayWithFeedback module labeled B400.

I want it to choose a random number between 400 ms and 600 ms each time the sound is played. But no matter how I do it, I keep getting it wrong.

My current scheme is to use the DelayScale parameter, set it to a random number between 0 and 0.3333 and then add 0.6666 to it. That should give me a number between 0.6666 and 1.0. In the Delay parameter I have 600 ms. So, I should get a number between 2/3 of 600 ms (i.e. 400 ms) and 600 ms itself. Right now I have:

(((1.0/3.0) random abs) + (2.0/3.0))

which looked pretty straightforward... I'm skimming the book for info, but apparently missing or misunderstanding something. Please help. Thanks!

IP: Logged

keph
Member
posted 06 August 2004 17:49         Edit/Delete Message   Reply w/Quote
Lacking Kyma in front of me to test, but I believe the formula you want is:

2/3 + ((1/3) * (1 nextRandom abs))

You were right in the theory: (2/3) offset + (1/3) range.

A couple things:
I am pretty certain you have to use * to signal multplication and that 2(X) does not work.

nextRandom generates new number on each trigger in this case 1 is the trigger, which is upon compiling when stated as a 1.

One suggestion is to trigger the nextRandom number by the trigger sound that is a couple objects to the left (thich I am guessing is triggering a sound).

To do that the argument should read: 2/3 + ((1/3) * ([pasteTrigger] nextRandom abs)).

Alternatively you could use (1 bpm: x), !KeyDown, or host of other controllers.

IP: Logged

KevinCole
Member
posted 07 June 2005 17:18         Edit/Delete Message   Reply w/Quote
What we have now, thanks to you (keph), is a DelayWithFeedback where the Delay is set to 600 ms, and the Delay Scale is now:

(2.0/3.0) + ((1.0/3.0) * (1 nextRandom abs))

The sound containing this is started and stopped several times by a Tool. Analysis indicates that it doesn't seem to vary the delay as much as we expected.

One suggestion is to trigger the nextRandom number by the trigger sound that is a couple objects to the left (thich I am guessing is triggering a sound).

Why? I mean, is there a particular advantage to triggering off something rather than supplying the 1? (I'm not understanding what the 1 -- or the trigger -- is doing.)

IP: Logged

SSC
Administrator
posted 07 June 2005 19:28         Edit/Delete Message   Reply w/Quote
I think keph is suggesting that you could achieve more consistent timing if you were to leave the Sound running all the time and then trigger its amplitude envelope and a new random delay time using EventValues, for example:

(2.0/3.0) + ((1.0/3.0) * (!trigger nextRandom abs))

where !trigger controlled both an amplitude envelope and the new random delay setting. You should probably also uncheck the SmoothDelayChanges so that the changes to delay time are instantaneous, rather than smoothly transitioning from the old to the new delay time.

IP: Logged

keph
Member
posted 08 June 2005 12:19         Edit/Delete Message   Reply w/Quote

So the (1 random) function gives you a stream of random number at a rate of 1000 hz. If you have DelaySmoothing checked, then the changes would be happening faster than the smoothing can keep up and so you won't get dramatic shifts in value (not sure about the Delay, but the average smoothing function takes place over 100 ms).

So unclicking the DelaySmoothing is a start.

I suggest either a trigger or a variable which then allows you to control the rate which the random values are generated. This just provides more control and allows you to play with the delay and tune it to the desired effect. You could get dynamic and have it triggered off the trigger generator you already have there. Again, just some ideas, not sure what the desired effect you are going for.

Also, other options for generating random numbers include swapping in white/pink/hotpink noise generators. Each provide a different level of control and output property, which may or may not be interesting your ends.

Ben.


IP: Logged

All times are CT (US)

next newest topic | next oldest topic

Administrative Options: Close Topic | Archive/Move | Delete Topic
Post New Topic  Post A Reply

Contact Us | Symbolic Sound Home

This forum is provided solely for the support and edification of the customers of Symbolic Sound Corporation.


Ultimate Bulletin Board 5.45c