You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Composite slopes would be composed of three elements:
offset with a dedicated slew time
actions with an assignable modulation added to offset
pulse functionality overlaid on all of the above
The general use-case in mind here is an extended version of teletype commands:
OUT
OUT.SLEW
OUT.PULSE
OUT.SHIFT
So an output has a offset(commonly a pitch) which it moves toward at the slew rate, while a modulation (typically an lfo for vibrato) is applied. then atop this a triggered event can be added too. In TT the .SLEW parameter is used across both 'offset' and 'pulse' functionality. For a pulse it becomes the attack & release times. Here we allow a completely customizable pulse which need not be a square wave smoothed by slew, but rather a generic envelope which can be triggered by a physical input or otherwise.
For example, the slew section could be articulating a generative melody with portamento, while having a fast but subtle vibrato added by mod/action, with the pulse section instantly jumping up an octave every 4th note, then gliding back down every 8th.
All three of these functions will be implemented as ASL slopes, composed together in the IO_BlockProcess() function. This requires some small extensions in the C-layer, but primarily requires development in the lua Output library.
to make this clearer in the 3-layer setup we could use:
output[n].pulse = {asl}
output[n].mod = {asl}
output[n].slew = {asl}
output[n]:pulse(bool) -- nil or true begins the pulse, false ends it / goes to release
output[n]:mod(bool) -- restarts the modulation if nil or true, else goes to 'held' if it exists
-- slew() need not be called explicitly, it will be automatically called when the .offset param is updated
pulse uses the .width param for the pulsewidth in ms.
mod uses .level, .speed, and .shape params
slew uses .offset and .rate params. note that changes to .offset (and .rate?) will trigger a new ASL breakpoint, causing the slew effect.
there is clearly a great deal of ambiguity in the naming when it omes to the three speed-based parameters. i've tried to make them work with the traditional nomenclature, ie: slew.rate, modulation.speed, and pulse.width though perhaps these aren't intuitively obvious.
could prepend with P, M and S but this feels like a hacky solution. thoughts?
The text was updated successfully, but these errors were encountered:
A "Nice Idea", but ultimately requires a different style of ASL usage. While this could be revisited in the future, it shouldn't cloud the redesign of ASL2
Composite slopes would be composed of three elements:
The general use-case in mind here is an extended version of teletype commands:
So an output has a
offset
(commonly a pitch) which it moves toward at theslew
rate, while amod
ulation (typically an lfo for vibrato) is applied. then atop this a triggered event can be added too. In TT the.SLEW
parameter is used across both 'offset' and 'pulse' functionality. For apulse
it becomes the attack & release times. Here we allow a completely customizablepulse
which need not be a square wave smoothed by slew, but rather a generic envelope which can be triggered by a physical input or otherwise.For example, the
slew
section could be articulating a generative melody with portamento, while having a fast but subtle vibrato added bymod
/action
, with thepulse
section instantly jumping up an octave every 4th note, then gliding back down every 8th.All three of these functions will be implemented as ASL slopes, composed together in the IO_BlockProcess() function. This requires some small extensions in the C-layer, but primarily requires development in the lua Output library.
consider the existing syntax:
to make this clearer in the 3-layer setup we could use:
pulse uses the
.width
param for the pulsewidth in ms.mod uses
.level
,.speed
, and.shape
paramsslew uses
.offset
and.rate
params. note that changes to.offset
(and .rate?) will trigger a new ASL breakpoint, causing the slew effect.there is clearly a great deal of ambiguity in the naming when it omes to the three speed-based parameters. i've tried to make them work with the traditional nomenclature, ie:
slew.rate
,modulation.speed
, andpulse.width
though perhaps these aren't intuitively obvious.could prepend with
P
,M
andS
but this feels like a hacky solution. thoughts?The text was updated successfully, but these errors were encountered: