5 ms·
SuperCollider – A platform for audio synthesis and algorithmic composition
- nanomonkey 6y agoFor Clojure fans, there is [Overtone](https://overtone.github.io/ https://overtone.github.io/), which uses the SuperCollider audio engine, but allows you to write more functional code and utilize REPL based development (within emacs!).
- vga805 6y agoCame here to post this. I enjoyed playing with overtone very much a few years ago. Haven't been at it in while. Are there any new learning resources or pieces of the ecosystem I should know about?
- AndrewUnmuted 6y agoThe SC3 syntax was designed with real-time audio workflows in mind. Though the language extensions for SuperCollider are nice, there’s real benefit to learning the actual language as well.
- nanomonkey 6y agoNo knock on the original Super Collider language, sclang. That is what I originally learned and used. For someone like me, who doesn't have much time to context switch when playing around with making music, sticking with Clojure, which I've settled on as my language of choice, is a no brainer.
- mitchellhorning 6y agoDavid Nolen coincidentally just tweeted re: SuperCollider. https://twitter.com/swannodette/status/1263872131558977536 https://twitter.com/swannodette/status/1263872131558977536
- n3k5 6y agoI've come across Overtone a few times and pretty much ignored it because I'm not a Clojure fan. But the Shadertone integration looks very appealing: https://youtu.be/kyL3xc7MzR0 https://youtu.be/kyL3xc7MzR0 I guess I should give this a go after all; thanks for the prod ;) Tidal is another interesting project in that vein (though without the visual part): https://tidalcycles.org https://tidalcycles.org The range of practical tasks for which this kind of tool would be my first choice is very narrow, but even if you have no clue what you'd do with it, it can be worth checking out for an afternoon just to experience a neat little declarative language that happens to go "beep boop [beep boop]" (yes, that is a snippet of valid code) as a side effect. The documentation makes installation/setup quick and easy enough that it's worthwhile even if you have no other use for SuperCollider and just do it for the language tourism, using the included default sound bank. For example you could try code-golfing a rumba clave.
- peter_d_sherman 6y ago>"scsynth, a real-time audio server, forms the core of the platform. It features 400+ unit generators (“UGens”) for analysis, synthesis, and processing. Its granularity allows the fluid combination of many known and unknown audio techniques, moving between additive and subtractive synthesis, FM, granular synthesis, FFT, and physical modeling. You can write your own UGens in C++, and users have already contributed several hundred more to the sc3-plugins repository." The whole project looks unbelievably beautiful and useful -- but especially what I outlined above! Remember that everything in audio has analogous aspects in Physics, Electronics, Electrical Engineering, etc., etc. In other words -- I believe this has broader applications than audio alone...
- amelius 6y agoI'm guessing that more than half of the functionality already exists in SciPy in some form or another.
- n3k5 6y agoInteresting thought. SciPy is obviously useful for modelling DSP stuff, but no idea how feasible it would be to use it for real-time processing, compared to something like Pyo (http://ajaxsoundstudio.com/pyodoc/ http://ajaxsoundstudio.com/pyodoc/). I just tried searching "Jupyter audio live coding" for fun and it unearthed quite a few interesting results, but the real-time ones tend to involve SuperCollider or something similar. E.g. I discovered NSynth [0], which seemed like magic for a minute (they use Tensorflow to make a synthesizer, there's even an intrument for Ableton Live!) until I found out how they ‘cheat’ (pre-computing a wave-table for multisampling). [0] https://magenta.tensorflow.org/nsynth-instrument https://magenta.tensorflow.org/nsynth-instrument
- amelius 6y agoI suppose that many operations in DSP are just linear transforms. So you could pre-compute transforms using SciPy (and its wealth of available functions). And then you could have a pipelined version of the BLAS matrix-vector multiplication to make it low-latency. Possibly that could run on the GPU.
- trocado 6y agoThere's cl-collider (https://github.com/byulparan/cl-collider https://github.com/byulparan/cl-collider) for those interested in controlling the SuperCollider server with Common Lisp, which is a particular fruitful combination (DSLs, flexibility, etc).