Kyma Forum
  Tips & Techniques
  "control" issues part one: Are function generators self-aware?

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

next newest topic | next oldest topic
Author Topic:   "control" issues part one: Are function generators self-aware?
phillipm
Member
posted 26 June 2011 15:16         Edit/Delete Message   Reply w/Quote

ForumPost1.kym

 
This summer, I am determined to become more proficient at creating automated control messages for use in "hot" parameter windows and I have a bunch of questions/issues I've been wondering about. Carla suggested I post inquiries one at a time to this forum to see what ideas might be generated. So for my first installment, I'm interested in finding out if a function (say a repeatingRamp or repeatingTriangle) "knows" when it has completed one cycle and if so .. can I use that information to reprogram the function. (In Max, I would simply use the "bang" generated at the end of the line or envelope to send a new set of variables to the functions.)

An example of what I want to be able to do is to create a repeating function (say a repeatingTriangle) that randomly changes its duration for every cycle ... and maybe has a different scaling or offset every cycle. See attachment for example.


Thanks!

[This message has been edited by phillipm (edited 26 June 2011).]

IP: Logged

SSC
Administrator
posted 26 June 2011 17:33         Edit/Delete Message   Reply w/Quote

randomdurationcontrolfunctions.kym

 
There are a couple of different approaches in the attached examples. One was to detect the value of the envelope and trigger based on when it reaches zero. The others use SoundToGlobalControllers to generate triggers every !OnDuration seconds and then to use the triggers to select new random !OnDurations.

As to whether a function generator can achieve self-awareness..that could be the start of a new thread over in http://www.pphilosophyofsound.org/

[This message has been edited by SSC (edited 26 June 2011).]

IP: Logged

pete
Member
posted 27 June 2011 16:24         Edit/Delete Message   Reply w/Quote
Hi phillipm

I can't open your post but maybe I need to get the latest Kyma.

Anyway I think the main thing you need is feedback. You can use a memory writer and a matching sample player of 1 sample duration. This way when the ramp gets to a certain point by reading the signal from the sample player, you can trigger a sample and hold (fed by noise for random) and that can feed the ramp controls. The output of the ramp then feeds the memory writer.

I hope this makes sense

Pete

IP: Logged

phillipm
Member
posted 28 June 2011 10:18         Edit/Delete Message   Reply w/Quote
@ SSC ... your files will definitely be helpful... especially once I fully understand all the details.

@ Pete ... I used the version posted in April.


Thanks!

[This message has been edited by phillipm (edited 28 June 2011).]

IP: Logged

phillipm
Member
posted 28 June 2011 11:22         Edit/Delete Message   Reply w/Quote
@ SSC: So my first questions about your files involves the expression: !OnDuration s tick

why "tick" ???

[it's located in the Value window of several SoundToGlobalController modules. tick = the duration of 1 sample @ the given sample rate ... yes? why is it important to use "tick" in this expression? (sound doesn't work without it, so it's obviously critical)]

when "tick" ???

under what circumstances is it important to use "tick"


IP: Logged

SSC
Administrator
posted 28 June 2011 11:53         Edit/Delete Message   Reply w/Quote
!OnDuration s tick

is a CapyTalk expression that generates a gate once every !OnDuration seconds. The Gate stays on for (!OnDuration/2) seconds.

IP: Logged

pete
Member
posted 28 June 2011 13:01         Edit/Delete Message   Reply w/Quote
I thought "tick" was capytalk rate i.e. approx 1 khz or 1ms, or has that all changed?
Pete

IP: Logged

SSC
Administrator
posted 28 June 2011 13:35         Edit/Delete Message   Reply w/Quote
"tick" is a CapyTalk message that you can send to a time value with units. It is equivalent to the bpm: message but you specify the time between gates as a time, rather than a beats-per-minute. For example:

1 s tick

is the same as

1 bpm: 60

0.5 s tick

is equivalent to

1 bpm: 120

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