vivid- Sound synthesis with SuperCollider
Safe HaskellNone



This is unscheduled - the server will do what you tell it to as soon as it can. That can mean there'll be slight delays because of time it took to compute what to do or because of network latency. If you want more precise timing look at Scheduled

Doing "VividAction"s in IO can be like a sketchpad: it's the quickest way to get an idea out. The cool thing is you can take an action that you're sketching and put a function in front of it to get more precise timing E.g. if you have the function:

  playTone = do
     synth <- play $ 0.1 ~* sinOsc (freq_ 440)
     wait 1
     free synth

You can play it quickly with just:


But if you want precise timing all you need to do is say e.g.:

playScheduledIn 0.01 playTone


Orphan instances