On 22 February 2011 23:41, Evan Laforge <[email protected]> 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
[email protected]
http://lists.lurk.org/mailman/listinfo/haskell-art