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
@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
@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).
@HISEnberg Nice ! I was the "faust community" in this precise case
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
Great initiative !
Some additional Faust DSP projects with source code can be found here : https://faust.grame.fr/community/powered-by-faust/
and here: https://github.com/grame-cncm/faust/tree/master-dev/examples
Not completely in the subject, but I gave ChatGPT the subject of an exam I give each year on C++ and audio programming . The bot can answer, even code writing exercices (simple ones...). It would obtain something like 18/20 . What are teachers supposed to do now !?
And in case it helps, Faust can already be used with Cmajor, see: https://faustdoc.grame.fr/tutorials/cmajor/