SOUL vs. JUCE

I’ve been checking out all the information about SOUL, and I’m curious how developers regard the project compared to the JUCE framework. Is the expectation/intention that SOUL will eventually supersede JUCE as the preferred development tool for audio? Any guess as to when this might happen?

I think only Jules can answer that, that’s why probably no one has dared to answer your question. But you can see him talking in his SOUL ADC presentation to get a grasp on his intentions when making it.

My personal opinion is that it will ease a lot the audio coding and development, and it will lowers the entry bar for many newcommers as learning C++ (less attractive than other languages like Python) may be seen as aa wall for many people.

1 Like

C++ isn’t going to go away any time soon. And hopefully JUCE can stay relevant for as long as people are writing audio code in C++. So I’m not worried about it.

And hey, we use all kinds of JUCE features inside our SOUL runtime. The SOUL language only does DSP processing - it’ll never do the hundreds of other jobs you need for audio, like reading/writing audio files, doing a GUI, saving properties, talking to a network, etc etc.

But the whole idea of writing native plugins in C++ and loading them into a host is a paradigm that’s really creaking and can’t survive much longer. Something more sandboxed and portable will definitely end up replacing it - this is easy to predict when you look at the trajectory that rest of the software and chip industries have taken in other areas. Right now, I’d say that unless we get a critical mass of support behind SOUL, then the most likely alternative is that in 10 years the normal way to do audio coding will be to use javascript… and it’ll be awful :slight_smile:

5 Likes

Thanks for your comments Jules. I noticed that SOUL and FAUST have a lot of common functionality. Are there some unique features in SOUL that would make it a better choice for development? I’m looking at doing a synth application (desktop, no mobile).

I guess that if you’re just using SOUL or FAUST to generate C++ and compiling it into a desktop app, then the main difference is just to decide whether you prefer a functional or procedural coding style.

In the long run, we’ve got a lot of ambitions for SOUL to become an underlying platform that other front-ends like FAUST can sit on top of, but in your case that’s probably not important at this point.

@TheSteve They are already Faust/SOUL connections to look at:

1 Like