Hi HISE community,
We are always happy to add projects using Faust here: https://faust.grame.fr/community/powered-by-faust/.
Fell free to contact me if you want your project to be added.
Stéphane
Hi HISE community,
We are always happy to add projects using Faust here: https://faust.grame.fr/community/powered-by-faust/.
Fell free to contact me if you want your project to be added.
Stéphane
Will there be any interest in something related to Faust integration ? I can possibly participate next meeting if you guys have some questions I can prepare answers for.
@etXzat and @Christoph-Hart did most of the hard work of "inside HISE" integration and they have to be thanked for that.
On the Faust side, the project adds to the existing ecosystem (https://faust.grame.fr/community/made-with-faust/) and we are quite happy with that :beaming_face_with_smiling_eyes:
@etXzat or @Christoph-Hart do you have a nice screenshot we could add on the https://faust.grame.fr/community/made-with-faust/ page?
GRAME has been selected as a mentor organization on GSoC for the Faust project.
And HISE integration if one of the proposed projects, hoping somewhere can be interested there?
Licence of Faust functions in libraries are the choice of the contributors. Some are GPL, some MIT/BSD like...or others. Each function can have its own licensing scheme, which is usually described as a declare licence XXX
line (see https://github.com/grame-cncm/faustlibraries/blob/master/aanl.lib#L261 for instance).
@clevername27 said in Drum synthesis?:
@Morphoice I've been doing drum synthesis with additive synthesis. Hit me up over DM if you want to discuss. There's an also a new snippet to get you started. Faust's physical modelling toolkit is also a good starting point.
And integrated Faust support :beaming_face_with_smiling_eyes: ?
@HISEnberg Nice ! I was the "faust community" in this precise case :beaming_face_with_smiling_eyes:
In the meantime, written in Faust: https://faustlibraries.grame.fr/libs/basics/#bamulaw_bitcrusher
and the code here https://github.com/grame-cncm/faustlibraries/blob/a222717339e5f528787080e5e5438ffef8da22a9/basics.lib#L2429 and https://github.com/grame-cncm/faustlibraries/blob/a222717339e5f528787080e5e5438ffef8da22a9/basics.lib#L2371
This is the role of the new ondemand
primitive, just announced at IFC 24 see: https://www.youtube.com/watch?v=zli5sFc5dlE.
Not yet in the official Faust release but can be tested in this custom Faust IDE: https://orlarey.github.io/faustide/
MIDI documentation is here: https://faustdoc.grame.fr/manual/midi/ and https://faustdoc.grame.fr/manual/architectures/#midi-classes for the C++ integration part.
Some JUCE/MIDI C++ glue code here: https://github.com/grame-cncm/faust/blob/master-dev/architecture/faust/midi/juce-midi.h to be used with : https://github.com/grame-cncm/faust/blob/master-dev/architecture/faust/gui/MidiUI.h
I've found the problem: changes in the Faust dsp/dsp_factory API, and since HISE is maintaining it's own version, this make the thing quite fragile.. @Christoph-Hart I'll send you a patch.
compressor_stereo
is the generic algo with 4 parameters, limiter_1176_R4_stereo
is a specialized version with chosen value for those 4 parameters.
A Faust generated code is never supposed to crash. If is does, then its a Faust compiler problem, but surely not with freeverb.
You want the same x
signal to go inside the cond computation (the x >= 0
) and the "then", and "else " branches right ? Then use the split <:
operator like:
// Apply different fi.svf.bell filters based on the sign of the input
out(x, cutoff_pos, q_pos, gain_pos, cutoff_neg, q_neg, gain_neg, drive) =
x <: (ba.if(x >= 0, // If the input x is positive:
x : fi.svf.bell(cutoff_pos, q_pos, gain_pos) : shaper_pos(drive), // Use positive bell filter
x : fi.svf.bell(cutoff_neg, q_neg, gain_neg) : shaper_neg(drive))); // Else, use negative bell filter