Parallel processing in SuperCollider using SuperNova

The SuperCollider sound server scsynth is one of the most finely tuned and efficient synthesis engines out there. For most people on most modern computers, they will rarely meet limitations in terms of effeciency. That said, scsynth does have one potential for optimization: Parallelization. And this is where supernova comes into the picture. The original scsynth sound server in SuperCollider, like lots of other audio software, runs on one core and so your computer’s single core performance is a big limitation for the possibilities of scsynth.
Read more →

Getting started with Faust for SuperCollider

Update February 2022: faust now comes with the faust2sc.py tool to make this all a lot easier. The instructions below have been updated to reflect that. I recently started toying around with Faust. Faust is a functional programming language specifically designed for audio manipulation. One of the many strengths of Faust is it’s compiler backends that allows the user to compile Faust code to almost any end target - including microcontrollers, JUCE/VST plugin projects, Pure Data, Max and SuperCollider - with the same Faust code.
Read more →

Tutorial: How to write plugins for SuperCollider using C++

My amazing workplace allowed me time during the Covid-19 lockdowns in Oslo to spend time improving my C++ and DSP skills. The result of this is a bunch of plugins for SuperCollider, some of which are already released as well as a trunk of Notam plugins that are to be announced. The process of creating server plugins (aka UGens) for SuperCollider is one of the most fun and gratifying ways one can experiment with DSP and C++ in my opinion.
Read more →

Setting up and using the Daisy Seed DSP platform on Linux

I recently got hold of Electro-Smith’s powerful Daisy Seed microcontroller board for developing embedded DSP projects. Unfortunately, at the time of writing the libraries for it do not support Platformio fully which is normally my preferred way of working with microcontrollers but fortunately it’s pretty easy to setup and use using make. Here are my notes for doing that. Install prerequisites (on Arch) # yay -S dfu-util gcc-arm-none-eabi-bin Setup and build libraries # From the root of your project:
Read more →