Live data from Hacker News

Show HN: SOUL Language 1.0 – A platform for writing and running audio code

soul-lang.github.io

71–80 of 83 posts

Re: Show HN: SOUL Language 1.0 – A platform for writing and running audio code

#71
Is SOUL similar to https://faust.grame.fr/ ? The marketing looks similar:

"Faust (Functional Audio Stream) is a functional programming language for sound synthesis and audio processing with a strong focus on the design of synthesizers, musical instruments, audio effects, etc. Faust targets high-performance signal processing applications and audio plug-ins for a variety of platforms and standards."

"The core component of Faust is its compiler. It allows to "translate" any Faust digital signal processing (DSP) specification to a wide range of non-domain specific languages such as C++, C, JAVA, JavaScript, LLVM bit code, WebAssembly, etc. In this regard, Faust can be seen as an alternative to C++ but is much simpler and intuitive to learn."

Re: Show HN: SOUL Language 1.0 – A platform for writing and running audio code

#72
post #33

Earlier quoted context omitted.

Wait , does that mean I need to install the whole build chain ? Anyway to do that in a Docker container, maybe a ci/cd pipeline where I can just push my code and get an VST as a build artifact.

If you want to build the resulting JUCE plugin on Github Actions, you can borrow my workflow code https://github.com/maxwellpollack/juce-plugin-ci

How exactly do I use this ? Do I for it and then setup my own pipeline

Re: Show HN: SOUL Language 1.0 – A platform for writing and running audio code

#73
post #48

IMHO SOUL is a game changer in audio just like OpenGL/Direct3D/etc. was a game changer in the graphics world. Think of all of the graphics technologies that were enabled by OpenGL/Direct3D/... and consider the equivalent for sound/music. The trend is clearly going into the direction of application-specific processors and a lot of hardware already has dedicated DSP chips for audio. It is high time that a standard lang…

OpenGL only did that in a very constrained way, because game consoles never bother to actually support it, despite urban myths.

The PS 2 had a timid attempt with ES GL 1.0 + Cg, and some Nintendo models do support a subset, miniGL sytle, and that is about it.

Most studios kept writing engines with plugins for various 3D APIs.

Re: Show HN: SOUL Language 1.0 – A platform for writing and running audio code

#74
post #58

Earlier quoted context omitted.

Why COM? Well, I hate COM in general, but it was a much better fit for this particular API than flat C functions. It comes with a bunch of C++ helper classes to make it easy to work with, and the resulting code actually ends up looking OK.

It seems odd to spend a bunch of time working on a C++ alternative for audio DSP but to rely on one of the most annoying C++ paradigms to deal with to embed it in anything useful. I don't really care how the library code looks (if the secret sauce is proprietary and closed source anyway, that presents zero value to me as a potential licensing customer!), I care how it functions. I want to script together many soul pa…

All modern Windows APIs since Vista are based on COM, so it isn't going away anytime soon.

As does macOS/iOS driver model.

Re: Show HN: SOUL Language 1.0 – A platform for writing and running audio code

#75

Is SOUL similar to https://faust.grame.fr/ ? The marketing looks similar: "Faust (Functional Audio Stream) is a functional programming language for sound synthesis and audio processing with a strong focus on the design of synthesizers, musical instruments, audio effects, etc. Faust targets high-performance signal processing applications and audio plug-ins for a variety of platforms and standards." "The core component…

I'm not affiliated with either but I've used Faust a lot. I believe SOUL intends to be directly supported by various platforms, whereas Faust compiles to whatever kind of code runs on different platforms. So if you like Faust, you might end up compiling Faust to SOUL for some platforms.

Faust also has a more advanced syntax. SOUL basically looks like C, while Faust is more functional and designed from the ground up to represent graphs, as such it can look pretty alien. In particular, partial application in Faust is great for graphs but it also means there are 100 ways of writing a program.

Re: Show HN: SOUL Language 1.0 – A platform for writing and running audio code

#76

Earlier quoted context omitted.

Disclaimer: *I'm not your target audience*; I don't plan to use your product even if you made it public domain. I never want to agree to an EULA before starting to develop something outside of a professional setting. That's an immediate dealbreaker for me. But even if I did - I wouldn't be able to disassemble or reverse engineer your software (2.2)? Also - why are there so many clauses in the EULA telling me to obey…

We have two user-bases in mind: - end-user developers. This is kind of like being a user of any other language, there's no EULA, nothing to sign, you just write SOUL code, test and debug it with whatever tools (which may themselves have a EULA, but probably nothing heavy) - device and host developers: These are the people writing DAWs, plugins, hardware that can run SOUL code, audio device drivers etc. These are prof…

Which group would a DAW and plugins developed by a FOSS community like KDE or GNOME belong to?

Re: Show HN: SOUL Language 1.0 – A platform for writing and running audio code

#77

Earlier quoted context omitted.

Nice, it's great to see this project go from C++ rant to reality. Can't wait to never write C++ ever again :) On licensing, how will it work for creators of open source hardware? Will they still need to pay a licensing fee if they are targeting a specific device with closed driver IP? Or could there be an exception there? Do you also see yourselves supporting open low-level hardware (RISC-V, FPGA, ...?), and in that…

Right now, we haven't got an official position on how we'll handle the back-end licensing, but it's a sensible assumption is that we'll have an open-source reference implementation that people can use, and then our own optimised or custom versions that we can license. RISC-V is an easy one to support, as our JIT uses LLVM so it's just a case of adding a build flag for that. FPGA is more interesting. I think there cou…

Great ideas, and a road paved with good intentions.

A lot of people have been down this road before, and it doesn't end well for the users.

At least your lawyers are happy.

Re: Show HN: SOUL Language 1.0 – A platform for writing and running audio code

#78

Earlier quoted context omitted.

"We're currently keeping some of our secret sauce closed-source" What secret sauce is this? What parts of https://github.com/soul-lang/SOUL are closed source?

Joke answer: the bits that aren't in there. Real answer: Mainly the JIT engine, and the very complex rewriting algorithms that turn multi-threaded soul code into a form that can actually be executed. We're certainly keen to open-source everything when possible, just been advised by our lawyers not to do that yet. C'est la vie.

I've been advised by my lawyers to avoid your software.

Re: Show HN: SOUL Language 1.0 – A platform for writing and running audio code

#79

Earlier quoted context omitted.

We have two user-bases in mind: - end-user developers. This is kind of like being a user of any other language, there's no EULA, nothing to sign, you just write SOUL code, test and debug it with whatever tools (which may themselves have a EULA, but probably nothing heavy) - device and host developers: These are the people writing DAWs, plugins, hardware that can run SOUL code, audio device drivers etc. These are prof…

The JIT for a language must be licensed? I was totally onboard and super excited before I read this thread.

sigh... The JIT engine in your graphics driver stack will contain millions of lines of heavily-licensed, patent-riddled code.

But that doesn't stop you as a developer from freely writing a 3D game that runs on it.

Same here. Think of it as a device driver. Ideally we'll open-source everything eventually, but anyone who's ever been involved in real-world commercial software development will understand that things aren't always quite that idyllic when you're building a business around it.

Re: Show HN: SOUL Language 1.0 – A platform for writing and running audio code

#80

Earlier quoted context omitted.

We have two user-bases in mind: - end-user developers. This is kind of like being a user of any other language, there's no EULA, nothing to sign, you just write SOUL code, test and debug it with whatever tools (which may themselves have a EULA, but probably nothing heavy) - device and host developers: These are the people writing DAWs, plugins, hardware that can run SOUL code, audio device drivers etc. These are prof…

Which group would a DAW and plugins developed by a FOSS community like KDE or GNOME belong to?

We've been using a BSD-style license to make sure we don't stop those people using it if they want to.
Post reply on HN