On 22 February 2011 23:41, Evan Laforge <qdun...@gmail.com> wrote:

>
> I'm not super knowledgable about supercollider, but isn't it basically
> a synthesizer which you configure by sending OSC over, and can then
> play it by sending more OSC?

SuperCollider classically was a real-time tuned Smalltalk-like
language for  sound synthesis. The language allows you to do pretty
much any symbolic processing you would expect - of course some things
will be easy whereas others will be hard.

Here's the score to play a scale from Stephen Travis Pope's book
'Sound and Music Processing in SuperCollider':

defaudioout L, R; -- Declareoutputs.
deftabletabl1, env1; -- Declare2wavetables--onefor theenvelope.
start { -- Playascoreinthestart function
  -- time instrument dur pitch amp
  [0.00, ‘chorus_instr, 0.25, 48, 0.5].sched;
  [0.25, ‘chorus_instr, 0.25, 50, 0.5].sched;
  [0.50, ‘chorus_instr, 0.25, 52, 0.5].sched;
  [0.75, ‘chorus_instr, 0.25, 53, 0.5].sched;
  [1.00, ‘chorus_instr, 0.25, 55, 0.5].sched;
}

Score and orchestra are the same language - I'm guessing start is the
equivalent of main. SC has a GUI toolkit so you can make elements
controllable in real-time via sliders and the like.

> Can you write 'inst2 pitch = reverse (inst1 pitch)'?

Is 'inst2 pitch = reverse (inst1 pitch)' the backwards instrument? My
first thought would be this is hard to write in any continuous
language even functional/FRP.
_______________________________________________
haskell-art mailing list
haskell-art@lurk.org
http://lists.lurk.org/mailman/listinfo/haskell-art

Reply via email to