[chuck-users] help understanding lisa

mike clemow gelfmuse at gmail.com
Thu Nov 6 16:13:58 EST 2008


Hi Folks,

> What would be the optimal shape for
> the grain?

I have been thinking about this for some time.  I think that, for
certain purposes (wavelet resynthesis, certain forms of pure-sine
granular synthesis), it's helpful to be able to have some kinds of
"canned" envelope functions available as well as being able to
arbitrarily define your own envelopes.  This applies to more than just
the LiSa object, of course, although at the moment LiSa is the best
thing we have in ChucK for doing granular stuff.  For instance, I have
a granular patch I'm using right now which began its life using a
buffer containing one second of a 1hz tone.  I could set this to loop
and the rate would become my frequency, in effect.  While I could ramp
this up and down, my "best" envelope is trapezoidal and subject to the
kinds of spectral artifacts that Kassen has mentioned.  Arbitrary
envelope shapes aside, it seems rather strange to me why I cannot
specify that my envelope shape should be "hanning" or "hamming" or
"gaussian" or whatever we might find useful for certain specific
tasks.  These kinds of things must come up all the time for users of
ChucK as they do for users of other similar platforms.  Something like
this:

LiSa sampler;
1::second => sampler.duration;

// set envelope type (canned scenario)
"hanning" => sampler.envelopeType;

sampler.rampUp();
0.5::second => now;
sampler.rampDown();
0.5::second => now;

Certainly, a custom envelope is another story, however, I think that
this could work the same way within LiSa as it might in an expanded
version of the Envelope UGen, or some special subclass thereof.  I
also imagine that certain functions might have parameters that need to
be set up before use.  I think that these could be set in a similar
manner to the syntax above.

The biggest thing that I regret is that my C++ skills are just not
up-to-snuff for tackling this task myself.  I'm hoping that Steve's
faust2ck converter will provide some more mileage for UGen
development.

With regard to the creation of custom envelope types, I'm kind of at a
loss.  I personally do not like the kinds of functions that have been
traditionally provided for this purpose (I'm thinking about CSound and
Cmix here type makegen() functions), but can't really think of a
particularly ChucKian way of doing this off the top of my head.

</ramble>

-Mike


On Thu, Nov 6, 2008 at 10:11 AM, Rogan Carr <rogan.carr at gmail.com> wrote:
> Kassen
>
> "I think the linear ramps that we have now are good for avoiding
> clicks in loops but they do tend to place a spectral footprint on
> shorter, denser grains. I wonder if there would be some way to have
> more advanced per-voice windowing/enveloping without the syntactic or
> CPU overhead getting too bad?"
>
> This is interesting.  I have some code that does pretty cool graining
> / glitching on samples (that I have yet to post on the forum) that I'm
> currently using linear ramps for.  What would be the optimal shape for
> the grain?  Sine wave attack (sqare-root)?  And what are the effects
> on the spectrum?
>
> Rogan
>
> On Thu, Nov 6, 2008 at 7:28 AM, dan trueman <dtrueman at princeton.edu> wrote:
>> yep, would be great. definitely on the to-do list.
>> dan
>>
>> On Nov 6, 2008, at 5:00 AM, Kassen wrote:
>>
>> I was also talking with Mike about LiSa for granular usage. I think the
>> linear ramps that we have now are good for avoiding clicks in loops but they
>> do tend to place a spectral footprint on shorter, denser grains. I wonder if
>> there would be some way to have more advanced per-voice windowing/enveloping
>> without the syntactic or CPU overhead getting too bad?
>>
>> _______________________________________________
>> chuck-users mailing list
>> chuck-users at lists.cs.princeton.edu
>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>>
>>
> _______________________________________________
> chuck-users mailing list
> chuck-users at lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>



-- 
http://semiotech.org
http://semiotech.org/michael


More information about the chuck-users mailing list