[Impromptu] smooth value changes
smills at rootsix.net
smills at rootsix.net
Thu May 13 20:02:14 GMT 2010
ok
sorry, RTFM!
On Thu 13/05/10 9:08 AM , Si Mills wrote:HI Andrew
Thanks for a totally thorough answer :) I actually sort of answered
my own question last night,
when I discovered setp (I'm not sure that I totally understand the
other variants yet).
But you just went on to answer my next question about the smoothness
of the changes. :-)
I suppose this shines a light on another area | don't fully
understand yet - setp is a macro, which
is sort of a class or abstraction right? If I were to make more of
these abstractions, how do they
get included to be used in my programs? (I noticed that in some of
the making music tutorials, you
provided links to scm files)
And just one more thing, I have the most recent version of impromptu
on my big machine, but on my
cranky laptop running osx 10.4, i can only run v1.2, so none of the
setp and metro abstractions
work, can I just include the macro files for this to work?
cheers & all the best
On 13 May 2010, at 00:15, Andrew Sorensen wrote:
> Hi Si,
>
> Firstly you might be interested in "setp"
>
> (define dls (au:make-node "aumu" "dls " "appl"))
> (au:connect-node dls 0 *au:output-node* 0)
> (au:update-graph)
>
> (define loop1
> (lambda (beat pitch)
> (setp dls 0 (* 100 pitch) 4)
> (play dls 48 80 4)
> (callback (*metro* (+ beat (* 1 4))) 'loop1 (+ beat 4)
> (random 0 12))))
>
> (loop1 (*metro* 'get-beat 4) 0)
>
>
> Now this works OK because our rate of change isn't to high.
>
> We can improve the smoothness significantly by increasing the
temporal recursion speed of setp (actually behind the scenes it's
au:envelope-change we need to modify)
>
> (define au:enveloped-change
> (lambda (time au id scope elt envelope end-time)
> (au:set-param time au id scope elt (envelope time))
> (if (< time end-time)
> (callback (+ time 200) 'au:enveloped-change (+ time 500)
au id scope elt envelope end-time))))
>
> (define loop2
> (lambda (beat dur pitch)
> (setp dls 0 (* 100 (- pitch 12)) dur)
> (play dls 48 80 dur)
> (callback (*metro* (+ beat (* 1 dur))) 'loop2 (+ beat dur)
> (random '(1/4 1/2 1 4))
> (random 0 24))))
>
> (loop2 (*metro* 'get-beat 4) 4 0)
>
> Of course this is linear change but you're free to write your own
non-linear change function.
>
> Cheers,
> Andrew.
>
>
>
> On 13/05/2010, at 2:00 AM, Si Mills wrote:
>
>> Hi
>>
>> I seem to be working my way through all the audio programming
languages in the known universe :)....I'd heard of Impromptu, but
never really got around to checking it til now. I'm honestly a bit
gob-smaked at how much power you are able to lever from the core
audio/ audio unit system! I had no idea that this was possible, but
its all clear and makes perfect sense. Having the option of using
ready rolled instruments and effects will make creative ideas flow a
lot more quickly. A lot to learn first.....anyhow I digress
>>
>> I was running a call back loop and changing the parameter of the
automat synth randomly. Then it occurred to me whether there was a
function to smooth or lag the parameter jumps, sort off like a low
pass filter to smooth the transitions.
>>
>> Then to that end, hows does one achieve portamento effects on say
the frequency fed to the basic oscillator?
>>
>> many thanks
>> Si
>> _______________________________________________
>> Impromptu mailing list
>>
>> http://lists.moso.com.au/mailman/listinfo/impromptu [2]"
target="_blank">http://lists.moso.com.au/mailman/listinfo/impromptu
>
> _______________________________________________
> Impromptu mailing list
>
> http://lists.moso.com.au/mailman/listinfo/impromptu [4]"
target="_blank">http://lists.moso.com.au/mailman/listinfo/impromptu
_______________________________________________
Impromptu mailing list
http://lists.moso.com.au/mailman/listinfo/impromptu [6]"
target="_blank">http://lists.moso.com.au/mailman/listinfo/impromptu
Links:
------
[2] http://webmail.rootsix.net/parse.php?redirect=<a href=
[4] http://webmail.rootsix.net/parse.php?redirect=<a href=
[6] http://webmail.rootsix.net/parse.php?redirect=<a href=
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.moso.com.au/pipermail/impromptu/attachments/20100513/c37918c8/attachment.htm
More information about the Impromptu
mailing list