On 27 December 2011 22:08, Heinrich Apfelmus <apfel...@quantentunnel.de> wrote:
> Stephen Tetley wrote:
>>
>> Incidentally, I've been working on a MIDI "animation language" for the
>> last couple of days based on the animation language in Paul Hudak's
>> book. I've wanted continuous behaviours to model modulating volumes
>> (crescendos, decrescendos) and panning, but I've found the work tough
>> going for modelling the note lists where I want the system discrete in
>> both input (specification) and output.
>
>
> Consider me interested. How does your approach compare to
> Conal-style FRP with behaviors and events?
>


Moving from Cafe which has been a bit giddy of late...

Unfortunately I didn't get very far with it. For non-realtime scores
(think MIDI or Csound) I couldn't reconcile FRP's evaluation (which is
sampling) with non-realtime Events that are specified by their onset
time. For the output, I would want the evaluation trace to have only
the specified events (elaborated with time varying values like
loudness...) at the times they were specified.

I have worked up a fairly substantial system where the representation
is a functional "extensional"[*] one: OnsetTime -> Event. However,
this representation doesn't really allow meaningful transformations -
any transformations must pre-transform the input data of the event
constructors as they cannot transform the output (the output can only
be evaluated by the render, assembling it to a linear event list).

The extensional view is the same one used by my vector graphics
software Wumpus, which does allow the usual affine transformations
because points are always in paths so you can scale the vector between
them. I suppose I could add a notion of events being on a local
timeline (rather than just unconnected points in time) to the music
system, making be an analogue of paths in the graphics domain. With a
timeline there would be a 1-dimensional vector (distance) between the
events, so this would make them scaleable.

Happy new year, all.


[*] Thanks to Brent Yorgey on the beginners list recently for this term.
_______________________________________________
haskell-art mailing list
haskell-art@lurk.org
http://lists.lurk.org/mailman/listinfo/haskell-art

Reply via email to