Pure Data?
-
The macOS limitation only applies to having the JIT compiler embedded into HISE as Development Tool. When you compile the plugins, the faust compiler will
generate C++ files that are natively compiled on every platform.So in order to develop DSP in Faust you need a Apple computer but the generate plugins will run everywhere (everything else would indeed be very stupid).
This being said I am trying to get the windows build done too - I am doing the majority of work on windows so it‘s rather selfish ;)
-
@christoph-hart Windows can wait :P
-
-
I am afraid everything has to wait until I have time for this :)
-
@d-healey what about Commodore 64?
-
I‘d prefer Symbian OS so you can run it on 10 year old Nokia smartphones.
-
@christoph-hart this was my first DAW Cakewalk for DOS (for real, I'm 42)
-
I was on ATARI STE, with Notator. Still one of my most favourite memories. That computer was so lovely for music composition. Even had built in MIDI ports!
-
@christoph-hart In Faust polyphony is not handle as the compiler level, but at the "architecture files" level. The compiler will be used to generate a single voice, with a special parameter naming convention to describe the freq, gate, gain controls. then a special mydsp_poly class (coded in faust/dsp/poly-dsp.h) is used to "wrap" the single voice and make it a MIDI ready polyphonic instrument (with voice stealing..etc...). You can read this paper : http://www.grame.fr/ressources/publications/09_C_B_137724.pdf.
Note that the MIDI implementation is no yet full (no multi-timbrality = MIDI channel support), but you can as least test the idea. This model can be used with libfaust/LLVM dynamical compilation chain, of with statically generated C++ DSP. -
@christoph-hart The libfaust/LLM dynamic compilation chain for developing and testing, and static C++ files generation for release is a great idea. Oliver Larkin is using the same model in his iPlug2 framework: http://olilarkin.blogspot.com/2018/06/iplug2-faust-wams-auv3-video.html
-
@christoph-hart i just modeled the sound I was looking for with csound :) hope we can include this in some way into Hise soon
https://soundcloud.com/user-830166644/model-fork -
Forget about Csound...
is coming :)
-
@christoph-hart what is it??? Where is a tutorial or something. Can't find anything googling it (want to be ready for your release :)
-
Well it's a new visual programming environment that I am currently developing. None of the candidates so far perfectly fitted the requirements:
- PD is not embeddable and has a runtime overhead
- Faust is a bit too nerdy :)
- CSound is not embeddable
- Max/MSP is proprietary
Basically it combines the workflow of Max/MSP and PD with the code generation facilities of Faust. You can build your algorithm using a visual programming environment and it spits out C++ code that replicates your algorithm. During development you can use a (rather slow) interpreter, but when you export plugins, it will use the C++ code that should be optimized by modern compilers to a degree of hand-written C++.
There's also a "Javascript" node, which can be used for certain tasks that are better implemented using a text-based approach.
-
@christoph-hart wow!!!!!!! This is why I couldn't find it. Can't wait :) I can do the visual identity for hnode if u wish
-
What is the purpose of hnode? Is it designed to work alongside the existing scripting language? Can it do things that HISE Script can't do?
-
Yes it will be an addition to the scripting possibilities.
Its focus is primarily on developing DSP functions, everything else (event processing, UI design) is handled by the surrounding script processor.
I am not 100% settled how the exact integration will work though (currently it‘s just a standalone prototyping app), but most likely it will resemble the way you can embed external C++ code using the DSP API.
And yes it can do one thing that the scripting engine can‘t do: deliver native code performance ;)
-
@christoph-hart sorry for my ignorance. If I have let's say, a Karplus-Strong algorithm written in C++, is there a way to use it these days within Hise?
-
Not without wrapping it into a native HISE sound generator that comes with all kinds of required wrapper code.
In hnode it will be much more easily since the interface is more simple. I'll also include some DSP libraries like the Synthesis Toolkit as readymade nodes, which will contains these kinds of algorithms.
-
@christoph-hart wow! I was playing with STK on Faust and it rocks!!!