[chuck-users] newbie questions
robin.escalation
robin.escalation at acm.org
Sun Sep 2 11:43:25 EDT 2007
I wrote:
> As I add shreds to the VM the output overloads. Is there
> an easy way of tweaking the master out all at once, without
> individually editing each shred file?
Kassen replied:
> Sure! Just create a simple file that just holds a line
> like this;
> .8 => dac.gain;
Doh! Of course. The solution is another shred. Makes complete sense.
I wrote:
> Killing a shred happens abruptly and not always too
> musically. How can this be done for nicer sonic output in
> performance?
Kassen replied:
> That would depend on what "nice" means in your context.
> You can use a ChucK program that will use Machine.
> remove(int id) on the shred in question at some suitable
> moment?
The problem is finding a suitable moment. For tracks that are pads or
atmospheres, or even for those that are dense with content, killing
the shred sounds horrid. If I make a horrible sound I want it to be
deliberate, not the byproduct of killing a shred. :-)
> What you could do is supply each shred with a envelope
> before the dac and have that one ramp down before making
> the shred itself exit, based on some command?
That sounds like a plan.
Adam Tindale wrote:
> fadeout.ck exists I think. You can fadeout all of chuck
> with this method but it isn't great for smoothly dumping
> one shred while keeping the others active.
I may be able to learn from this but couldn't find it in the
examples.
Kas wrote:
> You make your patch like normal except inbetween the dac
> and the rest you put a Envelope. Once the shred starts
> this envelope starts ramping up over some apropriate amount
> of time, say one bar of your piece.
I do not fully understand this method, but think that maybe a custom
ugen in place of the envelope could incorporate the controls needed.
If one subclassed Ugen it should be possible to make a unit that
could be put before dac in each shred that needed it. But I cannot
find any examples of creating a class from ugen. I have no idea what
methods signatures etc. are in place.
> In addition to whatever else you do you add a shred that
> listens for one keyboard (hid) key, take something not
> normally used like "pause/break". Once this key gets
> pressed the script tries to Machine.add () the exact file
> you are writing, if unsuccesfull it resumes listening
> (this likely means a syntax error), if successfull it
> will make the same envelope ramp down again using the
> same period, then removes the parent shred (effectively
> killing itself as well).
Wow, you totally lost me. :-)
-- robin
-----
Robin Parmar
robinparmar.com
More information about the chuck-users
mailing list