Live data from Hacker News

Soul – A language and IDE for audio coding

soul.dev

71–80 of 97 posts

Re: Soul – A language and IDE for audio coding

#71
Dumb question -- but what exactly is an audio programming language? Google seems to be failing me.

I can make some guesses by looking at the example in OPs link. But what is the primary goal of an audio programming language? Who's using it? How? Alternatives?

Genuinely curious.

Re: Soul – A language and IDE for audio coding

#72

Dumb question -- but what exactly is an audio programming language? Google seems to be failing me. I can make some guesses by looking at the example in OPs link. But what is the primary goal of an audio programming language? Who's using it? How? Alternatives? Genuinely curious.

A programming language specializing into generating audio. Where environments like Processing or the languages used for GPU shaders are designed to generate pixels (the former at a high level, the latter at a very low level, targeting specialized hardware), these languages are for making music and sounds.

Re: Soul – A language and IDE for audio coding

#73
post #55

Any info on the motivation for making an entire language instead of a library for an existing language (e.g. for C, Python, or Go)? Especially if the syntax mimics C-like languages, what important advantages do we get?

We pre-emptively answered this inevitable question in the overview doc: https://github.com/soul-lang/SOUL/blob/master/docs/SOUL_Over... The main TL;DRs are: - this needs to get JITed to compete with C++ performance, so dynamic and interpreted languages are out. - it needs to stop people doing anything which is real-time unsafe, so any language which involves a heap or GC is out - it needs to be secure enough to not p…

> - it needs to strongly enforce and represent a graph structure at a syntactic level, so.. pretty much all existing languages are out.

... except languages designed for real-time signal processing based on dataflow graphs such as Kronos (https://www.mitpressjournals.org/doi/pdfplus/10.1162/COMJ_a_...), Céu (http://www.ceu-lang.org/chico/ceumedia_webmedia16_pre.pdf), Antescofo (https://hal.inria.fr/hal-01585489) and the oldies such as SIGNAL, Lustre, Esterel, etc... :p

Re: Soul – A language and IDE for audio coding

#74

Dumb question -- but what exactly is an audio programming language? Google seems to be failing me. I can make some guesses by looking at the example in OPs link. But what is the primary goal of an audio programming language? Who's using it? How? Alternatives? Genuinely curious.

> what exactly is an audio programming language

Simply put, it's a language designed to make creating and processing high-quality audio quickly more straightforward than a general purpose language would make it.

Re: Soul – A language and IDE for audio coding

#75
I'm excited that audio-programming-in-the-browser is becoming a thing. It means more people are likely to fall down this exquisite rabbit hole. I'm totally in this field so I'll list a few websites that let you program music in the browser, and my rough opinion on them:

- http://wavepot.com/ is just built on top of Javascript. The code tends to be long since the library is pretty bare-bones right now, but it's really well executed.

- https://gibber.cc/ is also JS-based. The library and functions provided make for some pretty terse yet readable code, though focused on somewhat traditional synthesis methods (and I still don't think JS is ideal for this...)

- http://ctford.github.io/klangmeister/ is based on Clojurescript, which is a safe choice since Overtone has long demonstrated that Lisp is great for music programming. Right now there's not much of a library to go with it, though.

- http://faust.grame.fr/editor/ - Faust is one of the greatest music programming languages, and it also runs in the browser, but I think they haven't sufficiently polished the browser experience in a way that lets a novice learn the language in the browser.

- https://audiomasher.org/browse - I'm biased on that one since I made it. An obvious weakness is that the language is a little frightening at first glance, but there's a tutorial. It's terse yet open-ended, and the built-in library is pretty extensive.

For SOUL, it seems running in the browser is just a little demo, and the language is meant to be used in other situations. In fact, most of the above projects have grander aspirations than running in the browser - it's generally just a way of getting people to try out the language or system. But I still wish more projects would take the extra step and create a community-style website where anyone can upload and play with each other's code, otherwise the web experience just seems like a proof-of-concept.

Re: Soul – A language and IDE for audio coding

#76
post #55

Any info on the motivation for making an entire language instead of a library for an existing language (e.g. for C, Python, or Go)? Especially if the syntax mimics C-like languages, what important advantages do we get?

I had the same reaction to SOUL at first (why do we need yet another language?!!), but I've come around to it.

The precedent to consider is shader languages. A language like GLSL constrains what the programmer can do, with very good reason: the probability a newcomer will write a performant-enough and correct-enough shader in a general purpose programming language is low.

Similarly with audio programming. Not blocking the audio thread is hard! Heck, just dealing with multithreading itself is hard. JUCE tries to make audio programming much simpler, but at the end of the day it's still C++, and footguns abound.

So I like to think of SOUL as a sort of shader language for audio. We built https://soul.dev/playground/ to be a sort of "Shadertoy for Audio."

Re: Soul – A language and IDE for audio coding

#77
post #11

Earlier quoted context omitted.

Hi Jules, I posted this here; I'm so eager about your project moving forward ! Is there going to be a marketplace for professional SOUL-based VST plugins ? A way to browse all open source SOUL scripts and share modules so that the community will be able to build on top of previous scripts (without copy pasting all the time) ? Will all SOUL scripts be runnable in the browser like Shadertoy.com, if no what will be the…

Our long-term goal with plugins is to make them much easier to write in SOUL without needing to actually compile anything natively.. as for a marketplace to deliver them, we'd certainly love to be able to offer one of those, and will see how things go. Yep, we'd love to make soul.dev into a place where you can browse snippets of code, search for people's implementations of various DSP algorithms and try them out and…

> Our long-term goal with plugins is to make them much easier to write in SOUL without needing to actually compile anything natively

could you offer to compile/package SOUL code into a VST as a service?

Re: Soul – A language and IDE for audio coding

#78

I recall seeing Soul pop up on HN before, and at the time I was critical of it for being announced way too early (no working examples or even any indication of what the code might look like). This is much better, and it's good to see that it's actually progressing instead of being yet another case of vaporware. That said, still disappointing that there doesn't appear to be any info on an actual compiler or runtime or…

Thanks for the spot of the monaco bug - that's a regression that we'd previously fixed. It's been patched and re-deployed and should work now.

Re: Soul – A language and IDE for audio coding

#79

Hello HN - thanks for giving our website a proper stress-test! I'm the developer of SOUL - happy to answer any questions you guys have.. :)

Hi julesrms,

Some quick 2-second feedback - I tried running the default example in Brave, it failed, and then as a good user I wanted to report the bug to the community, but that requires finding the ROLI forum and signing up (providing DOB!) etc. I think it would be great if it were a bit easier to submit bug reports without as much hassle.

Re: Soul – A language and IDE for audio coding

#80

Hello HN - thanks for giving our website a proper stress-test! I'm the developer of SOUL - happy to answer any questions you guys have.. :)

Hi julesrms, Some quick 2-second feedback - I tried running the default example in Brave, it failed, and then as a good user I wanted to report the bug to the community, but that requires finding the ROLI forum and signing up (providing DOB!) etc. I think it would be great if it were a bit easier to submit bug reports without as much hassle.

You could report the issue here: https://github.com/soul-lang/SOUL/issues

(We might open the soul.dev website too at some point, but that's private for now.)

Post reply on HN