Is using Faust with Rhapsody possible?
-
@d-healey Ah that is a legitimate concern. I have one project with about 40 FX (mixed use of Faust, Scriptnode and RNBO) that is about 700 MBs in the DSP folder alone.
Just some food for thought, and correct me if I am wrong here: You and obviously @Christoph-Hart are more seasoned than me, but I've often thought about HISE initially starting as an alternative to Kontakt's sampler players and over the years evolving into this alternative DSP environment to do so much more.
Especially with Faust integration, the wavetable, Scriptnode, Global Mod, RNBO, etc. so many doors opened up to explore. All that to say, it seems that increasingly users are posting on the forum, looking to use HISE to create plugins other than samplers. This is especially true for FX plugins.
Perhaps a template like Rhapsody but for FX would offer a better alternative, rather than incorporating them into Rhapsody?
-
@HISEnberg said in Is using Faust with Rhapsody possible?:
Perhaps a template like Rhapsody but for FX would offer a better alternative, rather than incorporating them into Rhapsody?
Why wouldn't you want to add FX into your Sampler project?
-
@HISEnberg said in Is using Faust with Rhapsody possible?:
Perhaps a template like Rhapsody but for FX would offer a better alternative, rather than incorporating them into Rhapsody?
The main advantage of Rhapsody is that developers don't need to worry about compiling their projects and the stuff that goes along with it - codesigning, notarizing, distributing installers, etc.
So while an effects template might be good I think it's a tangent to the idea of implementing effects for developers working on expansions for Rhapsody.
-
-
Ah that is a legitimate concern. I have one project with about 40 FX (mixed use of Faust, Scriptnode and RNBO) that is about 700 MBs in the DSP folder alone.
That's a non issue, the bulk of that are objects files that the compiler will throw away. You can expect the final binary size increase of DSP algorithms no matter how complex to be in the kilobytes (unless you start embedding impulse responses or big chunks of audio data).
A GitHub repo may be a better alternative but less accessible (or harder to find) for HISE users
Yes, that is my experience as well with random GitHub repos that nobody will find. But on the other hand the development will be much more easy and I suspect it to be a handful of contributors at this point that we can manually add to the repo. I'll create one later and invite you, also everybody that wants to contribute just drop your GitHub user name here and I'll add you as collaborateur.
-
@Christoph-Hart Will I need to compile Rhapsody using a particular version of faust?
-
@d-healey said in Is using Faust with Rhapsody possible?:
@Christoph-Hart Will I need to compile Rhapsody using a particular version of faust?
If you export the DLL to compile the faust plugins then it will create the C++ code in the AdditionalSourceCode folder so theoretically you would have to do this once for every effect library version and don't need to have Faust running on the system that you compile the binaries for distribution, but let's talk integration when we get there, there are multiple options and all of them should be pretty straight forward.
-
@Christoph-Hart said in Is using Faust with Rhapsody possible?:
. I'll create one later and invite you, also everybody that wants to contribute just drop your GitHub user name here and I'll add you as collaborateur.I think you have mine already but just in case:
LindonAtChannelRobot
-
Awesome thanks, mine is:
mzajner -
Alright, I've added you two guys and wrote a short readme (we can expand the guidelines over time), but that should be good enough to get the ball rolling.
-
Nice thank you.
-
@Christoph-Hart Add me too please
-
@Christoph-Hart add me too. GitHub name dabbudebendra . Can I use those effects only in HISE if I don't want to use Rhapsody ?
-
I would like to contribute, too! Github username: fotisandstuff
-
@Christoph-Hart said in Is using Faust with Rhapsody possible?:
Alright, I've added you two guys and wrote a short readme (we can expand the guidelines over time), but that should be good enough to get the ball rolling.
Well one thing right off the bat....
I see there's a directory structure up there - but Im not sure I understand what I'm supposed to be putting up...
"just" some faust.dsp code? Some ScriptNode XML that shows how to wire it up? Both? Something else as well?
Maybe we should agree on the best format/structure?
-
@DabDab said in Is using Faust with Rhapsody possible?:
@Christoph-Hart add me too. GitHub name dabbudebendra . Can I use those effects only in HISE if I don't want to use Rhapsody ?
yes, subject to the license associated with it.
-
This is great to hear and yes option 2 is absolutely the way forward. I have read through the comments since yesterday and it all sounds very encouraging.
From my point of view, I really like the Rhapsody boilerplate and the player. The route from developing a library to making it available for sale is quick with no code signing or not notarizing. It's a great player and I would like to support it going forward.
As I stated in my initial post, the downside is not being able to utilise the Faust effects, which for me makes it very limiting with the standard HISE effects.
I am new to HISE and Faust but after compiling HISE I almost immediately enabled Faust to have access to more complex effects. So, I have not explored many of the Faust effects.
My main requirements are good reverbs, something similar to ValhallaShimmer. The Faust greyhole reverb is excellent and if possible I would like to have this and grain generator included in the Rhapsody template but of course there are many more that I do not even know about...yet!
For me, I am not so concerned about having the ability to edit to tweak any Faust effects available in Rhapsody. I simply would like access to better effects in HISE to use while developing a Rhapsody library.
-
@j-dennis said in Is using Faust with Rhapsody possible?:
grain generator
whats grain generator? I cant find it in the Faust lib.
-
Maybe we should agree on the best format/structure?
Sure, so my suggestion would be:
- one .dsp file per effect in the Faust code library path (in this case zita_reverb.dsp)
- one .xml file that has the exact same name as the effect (in this case
XmlPresetBackups/zita_reverb.xml
) - the XML preset loads a network that is saved to disk with the same file name and the appendix
_wrapper
(so in this exampleDspNetworks/Networks/zita_reverb_wrapper.xml
. This network has the compile flag set to true (so that it reference the faust effect when you compile it.
Feel free to add suggestions or modifications, once we've agreed on a structure I'll update the Readme.
-
I have uploaded for the first time on GitHub for HISE. Let me know is it working or not. If I have mistaken please do let me know, I am new so not good in Github system. I have started it recently and I am learning it.
I have created three ChaosFlanger, MonoFlanger & DJFlanger effects.
Edited :
I have also added compiled .dll files so that you can use directly insideHardcodedMasterFX
. However you can delete .dll and compile your own.