Sat Apr 24 11:38:09 EDT 2010

No more sequencers

I'd like to stay with loops, but move away from sequencers, apart from
creating raw material.  I'd like to get more into the geometry of

It seems that what I'm looking for is more about user interface design
than DSP per se.  The overall architecture is going to be what
determines the ultimate sound.

This means:
  - database of sounds (with search?)
  - sample display?
  - `basic codec'

I.e. standardize the effects that can be used, such that sounds can be
encoded in raw material + operation.

One thing is clear: Pd is not what I want.  Pd is great for sound
design and clean-slate approach, but I really want 1. language
control: abstractions and combinators (something that Pd really
misses), and 2. better handling of loops, i.e. sample loops as

So, these are the ground rules:

  * phase 1: database of sounds, all treated as loops (pre-edit them).
    later in the implementation, replace them by "virtual loops" ala
    ableton live.

  * a loop is a function from angle -> time.  parameterization of this
    manifold should be abstract, ala [1].

  * write the whole thing in haskell, but allow for abstract
    interpretation to compile subsets (the sound generators &
    processors) to C.

Question: is a loop the same as a periodic sound?  A loop is a sort of
metaloop.  Actually, it's a projected torus (basis of the dynwav
model).  Anyways, let's leave that to later.

Problem: where to put the AI?  I.e. scaffold the whole deal in
Haskell, including array references and subsampling?  Should work
fine, as there is no mutation going on.

So, first: a beat chopper.

[1] entry:../math/20090620-152527