SOUL Lang Compilation to UGen

Hey Devs,

Have you heard of SOUL lang? It’s like shaders but for audio, from the awesome guy who does JUCE.

It’s well beyond my skillset to be able to do this myself so I hope it’s not bad form to make a suggestion…

SOUL lang -> UGen seems like a match made in heaven.

Just throwing it out there… Seem like a good idea? Something that could happen?

Cheers,
Adam

Afaik SOUL is not open source, and the compiler is not available, so there’s currently no way to run it as a UGen (the browser playground works by sending code to a server, which sends back webassembly).

If the compiler were ever made available, it would probably be a very good candidate for writing UGens if it’s modular enough (basically, if you have some flexibility around how you call the audio graph and especially how allocations are done). I’m excited to see how the project progresses. If you want to play with something now, FAUST is a similar project that has been around for a while, and can compile directly to SuperCollider UGens.

Keep in mind, too, that unless you are trying to do short-delay feedback (building custom IIR filters, for example) or some other less ordinary kinds of audio processing, SuperCollider SynthDef graphs are probably flexible enough to do what you want, and are faster than anything you can hand-write or SOUL can compile (unless you, or SOUL, are very good at optimizing audio DSP, which is certainly possible!)

1 Like

I have an UGen for doing custom IIR filters, it is in https://github.com/sonoro1234/MyUGens/tree/master/IIRf

It has only a Lua UGen definition now, but perhaps anyone could PR to add sc classes?