I apologize, but I think this feature is really necessary.
Please add this @Christoph-Hart
I apologize, but I think this feature is really necessary.
Please add this @Christoph-Hart
@iamlamprey I think AI should be included standard in Hise, just like scriptnode system.
AI audio in general is still pretty limited aside from a few edge-cases like distortion pedals or singing-synths
Check the above link, it's the way much more than that now :)
@iamlamprey I mean standard integration like FAUST. Is there any libraries for it with a proper licensing?
I don't know if this has been asked before.
Will HISE integrate with Artificial Intelligence (AI) technology or Machine Learning in the future?
Every day we see many fx & instrument plugins integrating with AI. Integration into this is absolutely mandatory for the future tech compatibility. Is there any plan regarding this?
@Christoph-Hart said in Calling multiple functions with delay on a Knob's Callback:
I've pushed an experimental build flag that might help with the issue. Please pull HISE and export your plugin with the
HI_DONT_SEND_ATTRIBUTE_UPDATES
flag set in your Extradefinitions. This should deactivate the internal messaging and hopefully fix the crash. Let me know if that helped.
This flag should be used like this, right?
HI_DONT_SEND_ATTRIBUTE_UPDATES=1
@sletz Is Faust engine stable enough with Hise to release commercial products?
I am interested in the Wave Digital Models and ready to use Faust libraries.
But as I see Faust doesn't work stable in Hise and causes lots of daw crashes with the compiled plugins.
Can you please fix these stability and also even the installation issues (Intel-M1 Macs and Windows), so it would be great to use Faust in here.
@Lindon Thank you for the info!
@Lindon said in FAUST Stereo Limiter 1176 Help needed:
it would be the same thing no? If so its not really an 1174 compressor is it...
Acording to here: https://faustlibraries.grame.fr/libs/compressors/#colimiter_1176_r4_stereo
compressor_stereo
and limiter_1176_R4_stereo
are not the same things. Are they?
@DabDab Your method looks ok when it's compared to here: https://faustlibraries.grame.fr/libs/compressors/#colimiter_1176_r4_stereo
I am also interested how to use that compressor in Faust also.
@modularsamples Have you been able to build a plugin with Faust successfully and without any problem or DAW crash?
Which version of Faust are you using?
I see that, thank you so much.
Which reverb for example has a channel mismatch in HISE too?
I've come across this error on reverbTester
, reverbDesigner
, fdnRev
and zitaRevFDN
. And as I see in the diagrams, all of them have multiple input channels.
Regarding the JPVerb and Greyhole reverbs, on the Web IDE page the GRAME License has been declared.
But the license of these reverbs has been declared as GPL2+ here: https://github.com/grame-cncm/faustlibraries/blob/master/reverbs.lib
So that means these reverbs can't be used without sharing the source code? So this is not MIT License as @Christoph-Hart shared here: https://forum.hise.audio/topic/6505/faust-is-here/9
I think Licensing is very tricky in Faust :)
@toxonic So we can't convert it to stereo? Most of the reverbs give this error on that library page
@ustk Thank you for the suggestion. I think this duplicating solution doesn't work every time. Maybe because of this is the demo.
This doesn't work
declare name "zitaRevFDN";
declare version "0.0";
declare author "JOS, Revised by RM";
declare description "Reverb demo application based on zita_rev_fdn.";
import("stdfaust.lib");
process = dm.zita_rev_fdn_demo, dm.zita_rev_fdn_demo;
I am trying to run the reverbs from here: https://faustdoc.grame.fr/examples/reverb/
But I get the below errors on most of them. How to overcome this?
For example, the below one gives this error:
declare name "zitaRevFDN";
declare version "0.0";
declare author "JOS, Revised by RM";
declare description "Reverb demo application based on zita_rev_fdn.";
import("stdfaust.lib");
process = dm.zita_rev_fdn_demo;
@DabDab Thanks it works with xattr -cr method.
So is that a proper solution for this? @Christoph-Hart
I followed this instructions to compile Hise with Faust on M1 Mac (Monterey): https://github.com/christophhart/HISE/tree/develop/tools/faust
I compiled Hise with Faust (Release version), after the compilation when I open Hise, I see this, Hise won't open. What is the solution?
NOTE: I downloaded Faust-2.50.6-x64.dmg version.
I have an object that stores the parameter properties for some slot effects like below:
const fxSlotParamList = {
"Saturator" : [
{
"text": "Saturation",
"min": 0.0,
"max": 1.0,
"stepSize": 0.01,
"middlePosition": 0.5,
"defaultValue": 0.22
},
{
"text": "Wet",
"min": 0.0,
"max": 1.0,
"stepSize": 0.01,
"middlePosition": 0.5,
"defaultValue": 0.9
},
{
"text": "Post Gain",
"min": -24.0,
"max": 0.0,
"stepSize": 0.01,
"middlePosition": -10.0,
"defaultValue": -1.0
}
],
"SimpleReverb" : [
{
"text": "Room",
"min": 0.0,
"max": 1.0,
"stepSize": 0.01,
"middlePosition": 0.5,
"defaultValue": 0.0
},
{
"text": "Damping",
"min": 0.0,
"max": 1.0,
"stepSize": 0.01,
"middlePosition": 0.5,
"defaultValue": 1.0
},
{
"text": "Wet",
"min": 0.0,
"max": 1.0,
"stepSize": 0.01,
"middlePosition": 0.5,
"defaultValue": 1.0
}
],
};
I have an idx value that captures the index of the dedicated slot in the array and when we combine these for setting the knob properties from JSON, let's say WetAmount parameter of the Saturator:
Content.setPropertiesFromJSON("arrayed_FXSlot_Slider" + [idx], fxSlotParamList.Saturator[1]);
Slider properties aren't updated, am I doing a syntax error, couldn't figure it out.
@Christoph-Hart said in Scriptnode: Sending L-R channels to other containers:
If you just want to swap the channels, use a
routing.matrix
node and swap the connections.
Thank you for the description. The one block size latency explains everything. I'll use routing.matrix
thanks!
@Lindon Err, no in DSP (and also in the scriptnode), multiplying with -1 means inverting phase . You can see the channels are muted without using send/receive nodes in the below snippet.
HiseSnippet 1374.3oc6Y0zSabDFdVCiI3PiRT+3rORjnH6DJsR8.FavoVMlXYSQgSzgcGim5cmY6tyB3VUoJ0K4VOma8mPUt0Sg+.8T9iv+fz2Ym016h+.XKDgBXjLddmOdel22mm2Y0rM7DlTeegGxX9s64RQFKfa0iK6ToCgwQ01.Y7.bchuj5kWapbOWhuO0BYXLyyTFLleVT3mSWqLwlvMoCMgP6HXlzmybXxgVaT56Y11UIVzsYNwF8JkpYJ3UD1h..OyfKfbIlcIGP2hnFVFLxH6lVLovqkjHo9HiYKKr50pi3Htd76v7Y6aSUMJhZAKj1bUgskBwJqnJcX1VM5uu8QvpzXXTXFcT3yv0YVrA1GFMdXXG4GNi3wCiLIg2LIfWw3vqPL3MFHYDCRypgzivsL8Xtxg8nvy8w03PxoMAB6wghdrHiSvUDv.3xkcHcoU8fFClvhqVnvR4gud721NfaJYBddAeKgj9B9hON2ula9b+Vt7msq1sGaeJ23IrsodisaUl1aZSbQdfy9TukxeHwNfNXfv1OYLEO4XZ7TtodWGafBdMNS9BWJeRDATTnB90OTaChjnRDQ1fw4R8jLEDL1fdHvp0ok4waP86JEt.udjbFvVDVA1DYRJjR2D0ADCRj2TIGtOS1Ktt5JiWcQg3ivMXRyNiGiYFCFgH00AFiTieBdy1solxg.bVb0W9gS5kKR5A9T47EhZlu5KKNVQ2qvCI3tdTWhGcaQCaRuE8INt1zl.FWJ+91BytsX+BcTUgqFBkUiXQyNDNmZ6mFwS1KbTo3zSJMEARF+f5DoG6XPEtUfSKnLsIsRD5.aFYTZHc6Bp1JdQKJ2Jrw6gOQcVT01Hpyh86Ll7aKp7HgW2vzQzug8hN16GFj2q8wEQqaaKNphvwkEwRgbPnsFB6dtcDbloxjdD8Q55Nh.vIQv86H9aSX1JZ8NTO+vEYNbgkg+.J8VBKH3fqRLgfXuFDYGk1PUaAHhTukMGPHSfq3bB0Rz+HMcDAfiiZaFdf1LwJrn4dpVfxJidUq4uipWShMZGUtUATjZMCO3JBe5gJ7MgiUUBYzH.1itbrtSK9TcAz2i6WabCluKvpKG.pSs1IgE0lfaQOteBdSfiZAGDGN89I8FDO3zcod9YGzB9ccFOZKOrJScxwmw1CK0RRcUxn3ULa0kdjNHD2pJNkUUuihFYkQS20qTZDW+p2cVW+Wu90+ynttze37uqoOqtpG8mCnbydmw++d2Rmi+OcsQ25Etja8EB8e9lJsBZj0Gc4i8fytjw9mA0gt1bMTOYhtdNbiND+Ked+pv2YCOveLa6Xx24vfvAdH4IVpQ2cpUt8KYjIlOyhKqPzDcoSfsjMQWNe12Xt66SgauWna264nyor5Tb7OcdN9xVI0HQp3.v8OMI7tutH5ASCXiIIjIQzHQstYlNwa2SFk3AjrKRAmSN3u+7RSl3kFNeo+7hUq6G+zMdWTstVNBgrC7LCnQJkht925KfaR8oR8pLk.PeRZRtYya1byUuiadagaNYh5tT0S5l9p269lfzT8NWji++T+97c8kUiDGgXLr0SBtbXG3+pPxUj.w3bdZs2dU7DKikfb5aQiTOn3c0CtEdV0.kXyapJwrJkXwaURwmbmT7V4QySRj9fnqkA9FxnIIGeAlvI1876e2LQi4Fwsy.q9D2SYCY5ezRz28j6H5IR8kEhtNjvqiMcuXjODWdrCwzSrmo99vU7m6EZA3Q7v2d3735p14KhNTuawpa4E4vrX6YZpdiBeYQDZ7y4IoXNOMEyYkTLmuJEyY0TLmuNEy4al5bTuH00CjBG8c2CFZrot3iwlbx915BHn+CCtRtR
And that is the evidence that Send/Receive nodes are not duplicating the signal one by one. I think there is a bug @Christoph-Hart :
HiseSnippet 1458.3oc6Z0zSabDFdVaFSrCMJQ8iy9HQJEYmjlVodHNFvonFHVXJJbhNL6X7Tu6La2cV.2pJUodI254bq+DpxsdJ7GnmxeD9Gj9N6r1dW7Gf2BoQE.Iim22Yl2m2udl8CZ5Korf.oOxp3V87XHqEvs5ITcVtCgKPqsBx5V30IAJleYin587HAALajkU9mpEXUbNTzOm735DGhfxFJBg1Vxormwc4pgRaV6a4NNMH1rs3tIl8CqsFUJVV5HCA7jGWA4QncI6y1fnmVNLxpvp1bkzukhnXAHq4pKs60pi7PgY9ayC364vzCphZAajQbCoisFwZonk6vcra12uCPvtzbXTHuIJ7I30417AxGFMtcjhxCWQx3gUtzvKeJ3UMI7pj.diARVIfzbFHcGbKpO2SMTiFO2Dul.RNsIPXOITLyEYcLdYILAgZIWRWVCeXvfEr3ipT4dkgOt6W2NTPUbonrTrgTwdtXw6V5mKUrzuTp7oU0t8X0oMiuzwg4OV05Ls+zV3hhP28X92q7ADmP1fIBte5XJdxwzjobpwqSLQoXMAW8bOlXREBn3PE7suasUHJhNQDKClmGyWw0PvZE1APUsIsTDuBKnqR5A00ijyfpEocnCQktDR22Dq.hAoxa5jiHfq5kru5Bqt57Bw6faxUzNiGi4FCFgH0kAFi6F+H7psaynpg.bNbiW79q0qTbqGXSswWHdX4Fun5Xa5dIdXAtmOyi3y1R1zgzaw.hqmCaS.i2q7dNRZ2V7ehMZWgmAB00yXQZGhPvbBxRySgycTo5zSJaJCUbw9qST97iftvMBcaAzzT1xwnCjYkS2CYFWQOVWWzhIriF7N3mXkU0ishUVsuxDseavTGJ86FkNh+N3KlXePTPd21GUE8DGG4gKKc83wUoPNHRVSoSOuNRAmpEYlQej9DWYHXjX39MjfsHbGcY81L+fnMYdbkkfegR5Mj1PvA2fPgfXulDUGcuglaAJDY9KQGTPlBWIqIzaQ+izLQD.NtZ2L5.s7IHVL0d5QPmUNyttVv1ZsThCZactUCTjdOiN3JFeloJCnvwp5FYzH.1msTB0YEeZUP46Q84FWgG3AU00CgtSSuSJIZmPXyNpeBdUnF0FNHNZ48S5MI9vo6Jy5KLXD7804hXWdHKy5jiNkraWqkh4oaiRxX1pK6PSPHoTcbpfluigFYmQS2zOr1Hl9ku8zl9Od0q9qQMcsey8uer4r5F9reLjIn8Nk8+0t0NC6exiG00qLit9BQ1u7l5dEzH6OZ1i8fwlwX+SAdnKMSC7ISzzyia1gDL648KBaWH5.+w31IZemGCMNvEIOQpFi5L241mxHWBaV.WWinIZR2PGEehlrXgWS24cYvr2Hxr69LzYPqNEC+CmkgmUlzj3qH1mQY7CFIx3aNCbo9pmgjQtTQkTbdVW9EfkvMXL68fal5rJB2GB7OHseeSywG6OsTxr4w4mtGuywi5wf2cdnZOd++7SqM4VtrzsW62Oer7e+GuxaiY4a4JkpNPkBZjCQPW9t9B3MYALkYWlR.ne6Y5txM+PsqrT+txpWQaKez0skWUZKmbO5NL8s2j8ir240gY4H6RwF9eyg1msomU5g7IPHFCtdZvUB6B+UGRd+PIbxatHtL0wVfbxaPotts.39lS6r2Z.MXjtr5viIE.2UtfE87FFfpAWfzDqTMTVU+eKk0NGeMk0jx8CHK17CUxhBZxhpWQXKlOhsn5+czEItxsyfu39WyWbk7RblTUwshellvmPFMcwwmgIBhSuf9OXy347Awi1D18I5SEhpzutP+pRgdcorqKI5cYjs2p36i27hKg5K2kZdYR55maDIApiDQu58h300iKWEcfwaw5WQBxkay2kR0uNtOGH2G+ZteFVyCxvZdXFVyWjg07nLrluLCq4ql5Zz+WH7jPkz07hu.AMW0P9Xspfrmig.A8OfmelaY
In your snippet, you are doing phase delaying which is not the same thing with inverting phase.