Re: [livecode] The Many Faces of a Temporal Recursion

From: David Griffiths <dave_at_pawfal.org>
Date: Mon, 27 May 2013 10:42:57 +0100

Hi Julian,

On 26/05/13 22:25, Julian Rohrhuber wrote:
>
> On 26.05.2013, at 18:02, David Griffiths <dave_at_pawfal.org> wrote:
>
>> Hi all,
>>
>> On 26/05/13 12:33, andrew_at_moso.com.au wrote:
>>> I think you are in the majority in relation to a preference for
>>> declarative approaches to timing. Personally I'm of the opposite
>>> persuasion, but as the saying goes, let a thousand paradigms bloom!
>>>
>>
>> I would say (from my humble experiments with temporal recursion in
>> fluxa, very much borrowed in spirit from Extempore/Impromptu) that it
>> exhibits a feature that seems to work very well in live coding
>> performance - the musical process being described closely matches the
>> computational process being carried out to create it.
>>
>
> can you explain a bit?
>

Declarative approaches (or most that I've seen) are concerned with
producing a sequence of events over time, where the algorithms used are
abstracted to an agreed notion of what a sequence is - it can be
generated on demand as a list or lazily - but it is a object in itself
to be reasoned about.

Temporal recursion on the other hand could be described as a
sonification of the function pointer as it's passed from function to
function (concurrently when tree recursion is used) - the resulting
sequence is simply a side effect of this, so it's harder to processes it
abstractly, do things like reverse it.

On the other hand as it's creating music directly from the running
program (i.e. the function call graph), in my experience a level of
directness here is extremely effective - as a live coder you are
reasoning about the music in the same way you reason about the program
flow, they are not detached from one another.

In scheme bricks I'm visualising the current active function by flashing
the play brick it contains in sync with the sound it produces - this
means you can see where the process thread is, how it's being passed
around, where it branches - good for the performer and from feedback
I've had, the audience too.

Of course you can visualise declarative approaches too, but I'm
interested in live coding as a way to explain/work out what computation
is, and this seems a very effective way of doing that.

cheers,

dave
Received on Mon May 27 2013 - 09:43:47 BST

This archive was generated by hypermail 2.4.0 : Sun Aug 20 2023 - 16:02:23 BST