I’m new to Supercollider and am wondering what options there are for creating animation/drawing that is audio reactive? I found the below Eli Fieldsteel video where he is using the Pen class to animate shapes. But he mentions it’s pretty basic and am wondering if there are examples/options for sending Supercollider messages to other programs more geared to animation/visuals that people use ( Jitter? ).
I think there’s two ways to do so.
SuperCollider sends its audio ‘to the computer’. So if a software is able to read this audio channel as input, it can react to it. PureData, for example, could read SuperCollider audio and draw things based on this stream. But I’m not sure Jitter can do that (I never used it).
Second is less limited. SuperCollider can send OSC messages to other applications (see the OSC Communication help file). As long as the other application can receive and manipulate OSC messages, you get a lot of freedom in term of design.
This is something I used with Godot, which has a Sprite class and an animation system (and much more). I used SuperCollider to read external inputs (4 musicians) and analyse their sound: what frequency they were playing, their amplitudes, current chord, etc. I would then construct an OSC message with those informations, and send it to Godot. There, it would, for example, move a character on the screen based on the violins pitch, change the displayed background when harmony changes, etc.
But this is programming. I don’t know if there’s ready-made solutions for that kind of things.
Back in the day I remember folks would send OSC messages to Processing for this kind of thing.
If you use Jitter, or Gem (Pure Data), at some point you’ll put sliders into your patch to control drawing parameters. These sliders are just generating numeric messages, which the patch will tag with a keyword identifying the parameter (if needed) and route the messages to the right drawing object inputs.
For the drawing, it doesn’t matter if these messages come from a slider or if they come from an OSC message sent from other software (such as, SC).
So you could think of it as a two-step process (which may overlap or iterate): get the drawing doing what you want, with some form of interactive control; then, add an open sound control receiver into the graphics patch and generate compatible messages based on the incoming OSC packets.
Sending messages from SC: See NetAddr
.
Receiving OSC in Max: udpreceive
Receiving OSC in Pure Data: netreceive and oscparse
Maybe a quick example if I have time, but I don’t have much of that until the end of the month.
hjh
Hi,
I’ve seen impressive setups of students using Processing for GUIs with animations controlling SC. Surprisingly, what I conclude from the forum threads, people seem to use SC much more often to control Processing … but that’s just my observation, not using Processing myself.
there was a fantastic project by @lnihlen which may or may not live on: https://solitarybees.us/scintillator …
Thanks for all the info!
I noticed the below vid posted on the Music forum here by @carbomb and am curious what tool was used for the animation. Maybe all done in Supercollider?
I’ve built a pretty flexible framework for controlling TouchDesigner from SuperCollider. It’s not ready for public consumption now, but maybe could see release in early 2025. But I’d be happy to share the approach if this felt like a good combination of tools for you and you were down for doing a little engineering work yourself to get something running. The short version is: TouchDesigner and SC with SC controlling are an extremely good fit, relatively easy to get running, and surprisingly good for audio + video that are tightly coupled.
@tedmoore has done great stuff with openFrameworks:
I miss QuartzComposer!
But basically, if you can send it OSC or MIDI messages, you can use it. What about nannou? Looks like our friend @madskjeldgaard wrote the nannou osc helpfile:
If you can’t send it midi or osc, it probably shouldn’t be considered anyway.
Sam
Heya yeah I did it in SuperCollider. There are a few text-based birds that are glitched out in an animation function - you can have a look at the code here: GitHub - Steftones/Birb: Bird sound synthesis
OT but is your handle a Negativland reference? https://www.youtube.com/watch?v=mX9cvvezZhY
Neil Cosgrove wrote an entire game engine in supercollider.