SNEX - my next attempt at DSP prototyping
-
Hi everybody,
I've recently migrated the JIT compiler I was working on for a few years now into the
scriptnode
branch.It is built upon the
asmjit
library and basically let's you run code in almost native C++ performance (about 10x faster than HiseScript) in a special node calledcore.jit
.The language is a (extremely simplified) subset of C++, but anyone that can write Javascript should be able to adapt to it pretty quickly - there's no weird pointer stuff, the only thing that is really different is that it's strongly typed.
A general overview of the syntax can be found here:
https://github.com/christophhart/HISE/blob/scriptnode/hi_snex/Readme.md
There's also a little tool called SNEX Playground, which can be used to get a feeling for the language, so feel free to compile it and let me know what you think.
Also This is the last missing piece in scriptnode, now I'll start to flatten the edges of it and prepare for the next big HISE (3.0) release.
-
@Christoph-Hart Excellent, I'm glad to see you're enjoying your birthday :D
-
@Christoph-Hart nice!
minor point in the SNEX documentation:
"The rules of operator precedence are similar to every other programming language on the planet"should read:
The rules of operator precedence are similar to every other programming language on the planet, that isnt SmallTalk"--- yeah call me a pedant - but I'm a SmallTalk programming pedant....
-
@Christoph-Hart Great news, I'll looking forward to try it
-
Thrilling!! :)
-
@d-healey so now im waiting for some tutorials from you haha
-
This is seriously dope! Can't wait to see what crazy audio mayhem we are going to be able to flex with this!
-
How does one access the SNEX playground?
-
In the latest scriptnode build...
- make a new Script FX or Scriptnode Synthesiser
- put the new magic formula
Engine.createDspNetwork("abracadabra");
in the onInit Callback - click the little open in workspace symbol
- Add a core.jit node
- right-click on it and hit edit code
:man_mage_medium_skin_tone:
-
@Dominik-Mayer Perfect, thank you!
-
@Dominik-Mayer
Sweeet! Thank you. -
you can also just compile the project
snex_playground
found in thetools
subdirectory, it gives you the window without any actual audio processing but has a function plotter that draws the rendered signal.