Is using Faust with Rhapsody possible?
-
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. -
Is it one of the Faust examples - https://faustdoc.grame.fr/examples/bela/#graingenerator
-
@DabDab thanks for getting the ball rolling. I'll take a look at the effects tomorrow.
However I think we need to establish a few more rules to keep the repository tidy. This is not meant as critizism to you, especially if you're new to the Github workflow it's not obvious, but:
- please no binary files. The dll's have no place in the repository as it's only intended to house source code. All they do is blow up the repository size which makes the checkout process slow. People can compile this themselves (they need to do it anyways if they start porting the effects over to their projects).
- I wouldn't use one project folder per FX, but put them all into one project. This way you can quickly browse all the available effects by selecting different files in the faust node (or by loading different networks).
I'll reorder your commits so you can see what I mean. Once we get these organisational things sorted, it should be a bit more creative.
-
@Christoph-Hart Thanks for understanding my endeavor.
I have corrected what I did previously. Deleted Binary .dll
Now it looks something like this.. Let me know If I did anything weird in terms of GitHub.
-
I have added Simple Stereo Phaser Effects.