Once I tried to start a fair discussion... :)

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

The most discussed topic in the passed months/weeks (and it totally makes sense) is developers' concern about the future of plugin development. Obviously, "software and plugins" are here to stay for the Centuries to come - I'm just talking about how much **uselessy complicated** things seem to be going from a developer's perspective.

Starting a battle of fanboys is definitely NOT my aim here, in any way. People (like the developers in this forum) who spent the latest *decades* dealing *everyday* with computer science just know if a computing system/company is valid or not. Other considerations about "which OS has the most colourful icons" are just fanboys' stuff.

Fake "companies" arbitrarily discarding support for *GEMS* like OpenGL WITHOUT ANY REASON, or arbitrarily moving to a different CPU architecture without a software layer for "backward" compatibility (because it will happen), etc. are at the center of everyday's discussion topics. From a wider perspective, in the pro audio world, 99% of everyday discussions are about :

- is this plugin 64-bit or also 32-bit ?
- this plugin makes use of OpenGL graphics ?
- I have to sign that plugin, and the package containing that plugin, and the package containing that package (,....,...) before shipping ?
- etc., etc, etc, ...

Sorry, but I really have enough :help: . We concern about this aspects as it was a normal thing. But it definitely has nothing to do with pro audio itself. It's just a **waste of time** we should spend on creating new synthesis gems.

So, in this dark-fate scenario, a new hope seems to be rising over the horizon (for the ones who missed it) : SOUL (soul.dev). I really wish it will take all the attention it deserves. Things seem to proceed quite fast with it - it's not production-ready at now, but I wish it will be soon :)

To say it in 2 words - beside a ton of other benefits - SOUL let us to "develop it once, run it forever on any past, present and future platform".

There's also a new announcement for ADC2019 :
https://juce.com/discover/stories/build ... l-beginner
Last edited by xhunaudio on Mon Feb 08, 2021 9:17 am, edited 7 times in total.
bruno @ Xhun Audio || www.xhun-audio.com || Twitter || Instagram
Image

Post

xhunaudio wrote: Sun Nov 03, 2019 2:42 am To say it in 2 words - beside a ton of other benefits - SOUL let us to "develop it once, run it forever on any past, present and future platform".
Yeah, forever, like if SOUL can never be abandoned, discontinued, or have backward incompatible changes in the future.

Post

SOUL is completely different - it's a specific purpose language, not a binary format - so it will be always ready to be run on any computing system, forever.

Its runtime is based on advance JIT compiling. It's *similar* to HLSL, it doesn't require a specific hardware, or OS, or DAW/Host to run. The availability of just a single "SOUL engine/driver" (available for example as an open-source project on GitHub) is sufficient to guarrantee its persistence in the centuries to come.

It's THE format I was wishing and waiting for from 2 decades (but I was not able to directly propose it, due to my limited skills - and it's something that has to be proposed in conjunction with OS, CPU FPGA, semiconductors manufacturers and Hosts/DAWs/Plugins software houses). Really too much for me alone :)

The next ADC (2019) will happen in a few days and ROLI / JUCE seem to proceed faster and faster. SOUL represents the most innovative and awaited news of the ADC 2019 (as it was in ADC 2018). And the ADC for the passed years has been "sponsored" by Intel (if I remember fine), Microsoft, Steinberg and Apple among the others. Intel has (separately, during other Events) also *timidely* proposed a prototype for its ONE API, *similar* to SOUL in concept (but more general-purpose, available in the long term).

Just to say it in 2 words, we assisted (still today) to the "plugin format battle" (VST3, VST2, AAX, AU, DX, LADSPA, LV2), maybe in a near future we will have a *single* format (SOUL) and the battle will be shifted to "who delivers the best cross-platform, cross-semiconductor SOUL engine/driver" ? And "who delivers the best JS/OpenGL/etc. GUI engine/driver for the controls" ? Etc.

As today happens for GPUs.

So, spread the voice about SOUL - let's move on ! :) (instead of crying and getting crazy following some nonsense strategies from the owners of the different current plugins formats).

Moving to someting like SOUL it's a WIN-WIN-WIN-WIN-WIN-... for everyone (all manufacturers/developers/OS/FPGA/CPU/DSP/hardware audio devices/DAWs/...). The entire Pro Audio Industry (and semiconductors, OS, etc.) will benefit from this and it would grow by a factor of 10x.

It would be interesting to hear a voice from Jules Storer (the mind behind JUCE/SOUL) or his Team at ROLI/JUCE. Who can anticipate SOUL features better than them ?
Last edited by xhunaudio on Sun Nov 03, 2019 2:20 pm, edited 1 time in total.
bruno @ Xhun Audio || www.xhun-audio.com || Twitter || Instagram
Image

Post

I've seen the recent talk about it and didn't feel quite comfortable. If I understood correct there's a whole bunch of source code and instructions being passed and only compiled/processed on the clients front end (may it be a webbrowser, the smartphone or the DAW). Doesn't that mean that devs have to disclose their own code/secrets of processing to the public (let's say filters for examples) - at least in an intermediate state - so that it can get passed and compiled on the user side?

Same for presets or sounds which are nothing more than instructions to create them. How will that be possible? It's not like sending pure sample data but SOUL must be the top synth then to create all the creation and modulation of the sound, right? Or what's the plan there?

Post

And what happens when Microsoft or Google decides : "we are not going to allow JIT compilation on the platform by 3rd parties"? Apple has already done that for iOs and it's probably just a question of time when that happens on the desktop operating system too, since they don't care about backward compatibility. For Microsoft that might be hard to do on the win32 platform, but if there's the will to do it, there will be a way.

I like the idea of SOUL and looking with interest how it will end up working. But I don't think it will be an overall cure for the various problems with the platforms.

Post

Xenakios wrote: Sun Nov 03, 2019 2:28 pm And what happens when Microsoft or Google decides : "we are not going to allow JIT compilation on the platform by 3rd parties"? Apple has already done that for iOs and it's probably just a question of time when that happens on the desktop operating system too, since they don't care about backward compatibility. For Microsoft that might be hard to do on the win32 platform, but if there's the will to do it, there will be a way.

I like the idea of SOUL and looking with interest how it will end up working. But I don't think it will be an overall cure for the various problems with the platforms.
If there will be a huge cataclism, and several asteroids will fall on Earth during the World War X (against zombies), and all the OS manufacturer will get completely crazy and will make a FULL LOCK to all their OSs - then we will simply move to open-source Linux or BSD or whatever you like, set up a SOUL driver/engine and ALL your SOUL Virtual Instruments, FXs, etc. will always run perfectly, forever.

A 5-minutes, full-system migration.

It's the meaning of an *authentic* heterogeneous computing system concept.
Last edited by xhunaudio on Sun Nov 03, 2019 3:23 pm, edited 3 times in total.
bruno @ Xhun Audio || www.xhun-audio.com || Twitter || Instagram
Image

Post

xhunaudio wrote: Sun Nov 03, 2019 2:00 pm SOUL is completely different - it's a specific purpose language, not a binary format - so it will be always ready to be run on any computing system, forever.
Different from what? I did not mention any alternative.
Any language (and SOUL is not something different) does still require compiler to be written for new platforms and be updated to support new platform features and changes.
xhunaudio wrote: Sun Nov 03, 2019 2:00 pm Its runtime is based on advance JIT compiling. It's *similar* to HLSL, it doesn't require a specific hardware, or OS, or DAW/Host to run.
It still requires hardware and OS specific compiler in place. Just like HLSL.

Post

Vokbuz wrote: Sun Nov 03, 2019 2:40 pm
xhunaudio wrote: Sun Nov 03, 2019 2:00 pm SOUL is completely different - it's a specific purpose language, not a binary format - so it will be always ready to be run on any computing system, forever.
Different from what? I did not mention any alternative.
Any language (and SOUL is not something different) does still require compiler to be written for new platforms and be updated to support new platform features and changes. Like for any other language.
xhunaudio wrote: Sun Nov 03, 2019 2:00 pm Its runtime is based on advance JIT compiling. It's *similar* to HLSL, it doesn't require a specific hardware, or OS, or DAW/Host to run.
It still requires hardware and OS specific compiler in place. Just like HLSL.
Please, I don't want to argue really !

Vokbuz I'm sure you are a nice and polite guy, and you joined this hread with the best intentions !

But (from your words) you simply don't know what SOUL is and how it works.

PLEASE ! Do not take my word as an insult or similar, I wish to you all the best ! It would be great to talk about the future of pro audio here (I invite all other Developers to join here) but it is mandatory to understand what we are talking about, before posting your considerations.

Always peace and my respect to you Vokbuz !
Last edited by xhunaudio on Sun Nov 03, 2019 3:14 pm, edited 1 time in total.
bruno @ Xhun Audio || www.xhun-audio.com || Twitter || Instagram
Image

Post

BlueprintInc wrote: Sun Nov 03, 2019 2:13 pm I've seen the recent talk about it and didn't feel quite comfortable. If I understood correct there's a whole bunch of source code and instructions being passed and only compiled/processed on the clients front end (may it be a webbrowser, the smartphone or the DAW). Doesn't that mean that devs have to disclose their own code/secrets of processing to the public (let's say filters for examples) - at least in an intermediate state - so that it can get passed and compiled on the user side?

Same for presets or sounds which are nothing more than instructions to create them. How will that be possible? It's not like sending pure sample data but SOUL must be the top synth then to create all the creation and modulation of the sound, right? Or what's the plan there?
Last year at ADC 2018 the ROLI/JUCE/SOUL team stated it would not be difficoult to make an "obscured", intermediate code to let developrs to keep their secrets (extremely important indeed).

About presets, they proposed a duplicate of the 'plugin' (patcher) engine for each preset. But it was just a proof-of-concept. Or, I took it as it was.

But I'm sure presets can be handled using different approaches too. As an XML file (NOT including the SOUL synthesis patch) with *separate* instructions from the SOUL main code OR instructions directly executed on the separate GUI side for example.
bruno @ Xhun Audio || www.xhun-audio.com || Twitter || Instagram
Image

Post

xhunaudio wrote: Sun Nov 03, 2019 2:52 pm But (from your words) you simply don't know what SOUL is and how it works.
This is so silly. Any programming language needs compiler/interpreter to run the program written in this language. There is no need to know specific technology to understand that.
Are you saying the compiler for SOUL magically appeared by itself or (the sane explanation) there is some group of people who wrote and supports it?

Post

Example : you have 1000000000 VSTs.

If you change your CPU or OS architecture, your 1000000000 VSTs won't work anymore until each of them is separately re-compiled (or, recoded from the ground up!) for your new CPU or OS. Each of them.

Or...

Example : you have 1000000000 SOUL plugins. ALL of them run into a SINGLE ONE, 3rd party SOUL driver (one per CPU/OS).

If you change your CPU or OS architecture and there's just a SINGLE developer in the world who makes a specific SOUL driver/engine for that architecture (that driver has to be made just ONCE in the history if the world), your 1000000000 SOUL plugins will *automatically* run on the newly created SOUL engine/driver. Your 1000000000 SOUL plugins will never need any kind of adjustments.

It think the 2 scenarios are *slightly* different... :)

If you think we'll ever live in a world where there's no developer making a SOUL driver (once!) - well, we should start considering that without water, dams and power plants we have no electricity, and we would not able to switch computers on and run our DAWs, eheh... So yes, in that case SOUL support will be adbandoned too. :)
Last edited by xhunaudio on Sun Nov 03, 2019 3:59 pm, edited 2 times in total.
bruno @ Xhun Audio || www.xhun-audio.com || Twitter || Instagram
Image

Post

xhunaudio wrote: Sun Nov 03, 2019 2:36 pm
Xenakios wrote: Sun Nov 03, 2019 2:28 pm And what happens when Microsoft or Google decides : "we are not going to allow JIT compilation on the platform by 3rd parties"? Apple has already done that for iOs and it's probably just a question of time when that happens on the desktop operating system too, since they don't care about backward compatibility. For Microsoft that might be hard to do on the win32 platform, but if there's the will to do it, there will be a way.

I like the idea of SOUL and looking with interest how it will end up working. But I don't think it will be an overall cure for the various problems with the platforms.
If there will be a huge cataclism, and several asteroids will fall on Earth during the World War X (against zombies), and all the OS manufacturer will get completely crazy and will make a FULL LOCK to all their OSs - then we will simply move to open-source Linux or BSD or whatever you like, set up a SOUL driver/engine and ALL your SOUL Virtual Instruments, FXs, etc. will always run perfectly, forever.

A 5-minutes, full-system migration.

It's the meaning of an *authentic* heterogeneous computing system concept.
tbh, if the zombie/asteroid apocalypse occurs, im not sure "noodling on synths" is going to be a huge priority for anyone looking to survive :shrug:

Post

xhunaudio wrote: Sun Nov 03, 2019 3:39 pm If you change your CPU or OS architecture and there's a SINGLE developer
Exactly. If there is one and if this developer is able to deliver production quality "driver". I do not understand how any of this should prove my point wrong. You probably should reread my first comment.
xhunaudio wrote: Sun Nov 03, 2019 3:39 pm your 1000000000 SOUL plugins will *automatically* run on the new *single* SOUL engine
Plugins consist of many different parts, not only DSP.
xhunaudio wrote: Sun Nov 03, 2019 3:39 pm that driver has to be made just ONCE
Yes. For given CPU+OS but this pair is not forever. Architectures changes, OSes tend to drop architecture support.
Last edited by Vokbuz on Sun Nov 03, 2019 4:00 pm, edited 1 time in total.

Post

vurt wrote: Sun Nov 03, 2019 3:51 pm
xhunaudio wrote: Sun Nov 03, 2019 2:36 pm
Xenakios wrote: Sun Nov 03, 2019 2:28 pm And what happens when Microsoft or Google decides : "we are not going to allow JIT compilation on the platform by 3rd parties"? Apple has already done that for iOs and it's probably just a question of time when that happens on the desktop operating system too, since they don't care about backward compatibility. For Microsoft that might be hard to do on the win32 platform, but if there's the will to do it, there will be a way.

I like the idea of SOUL and looking with interest how it will end up working. But I don't think it will be an overall cure for the various problems with the platforms.
If there will be a huge cataclism, and several asteroids will fall on Earth during the World War X (against zombies), and all the OS manufacturer will get completely crazy and will make a FULL LOCK to all their OSs - then we will simply move to open-source Linux or BSD or whatever you like, set up a SOUL driver/engine and ALL your SOUL Virtual Instruments, FXs, etc. will always run perfectly, forever.

A 5-minutes, full-system migration.

It's the meaning of an *authentic* heterogeneous computing system concept.
tbh, if the zombie/asteroid apocalypse occurs, im not sure "noodling on synths" is going to be a huge priority for anyone looking to survive :shrug:
But after fighting for our freedom, at the end of the day, we'll join KVRAudio forum as always... :D
bruno @ Xhun Audio || www.xhun-audio.com || Twitter || Instagram
Image

Post

xhunaudio wrote: Sun Nov 03, 2019 3:00 pm Last year at ADC 2018 the ROLI/JUCE/SOUL team stated it would not be difficoult to make an "obscured", intermediate code to let developrs to keep their secrets (extremely important indeed).
Intermediate code can be easily reverse engineered.

Post Reply

Return to “DSP and Plugin Development”