• This topic is deleted!

    7
    0 Votes
    7 Posts
    13 Views
  • Best way to do wet dry volume compensation?

    3
    0 Votes
    3 Posts
    58 Views
    L

    @griffinboy This was it! For some reason I never even noticed the drop down on the wet/dry gain! Thanks as always :)

  • This topic is deleted!

    2
    0 Votes
    2 Posts
    46 Views
  • CPU usage difference for Windows and Mac (FX Plugin)

    Unsolved
    11
    0 Votes
    11 Posts
    284 Views
    Christoph HartC

    @obolig usually there is not too much overhead of running inside HISE, except for the debugging tools that might cause some UI lags - the audio rendering path is almost identical between HISE and the compiled plugin - unless you do something weird.

  • ScriptNode Compilation Workflow and What to Do About It

    73
    5 Votes
    73 Posts
    23k Views
    A

    @Christoph-Hart Haha that's not at all what that requirement says.

    The requirement says that if I input MIDI or audio into HISE and it spits something out, then pressing export should result in that same plugin.

    Faust nodes need the compilation step before they can work? Alright ,throw a warning and tell me to enable Allow Compilation. If I didn't ask again on export. But then it should compile to a plugin that works. Because it works in the HISE IDE.

    I can, in HISE, have a single .dsp file that I use in 10 different networks at 30 different places in Fasut nodes and it'll work in the IDE. I can make changes and it'll work. But just pressing export wont.

    So what, I should now first compile that faust dsp file in a lone network that exists just for compiling lone faust files, replace all existing faust nodes that are used for development because I cannot just branch, as the nodes cannot be in there when exporting, connect all the cables for 30 instances across 10 networks and then compile? And then when I have to make a change, what then? Git discard all the changes to the networks, make changes, and then replace and reconnect 30 nodes again just to run pluginval?

    Come on, man 😄

  • Oversampling Softclipper

    5
    0 Votes
    5 Posts
    438 Views
    Christoph HartC

    @xander my guess is your faust code works with a fix expected samplerate so that when you‘re oversampling it shifts the normalised frequency ratio.

  • This topic is deleted!

    6
    0 Votes
    6 Posts
    211 Views
  • Scriptnode Synth Crackling with Chords

    20
    0 Votes
    20 Posts
    2k Views
    AxiomCruxA

    @Christoph-Hart said in Scriptnode Synth Crackling with Chords:

    What might be possible at some point is to use the routing.send / routing.receive nodes WITHIN a polyphonic network to implement polyphonic feedback delay lines (for stuff like resonators etc).

    yes, exactly.

    At least for me this was the expected behavior. I kept flipping on and off the polyphonic setting for the chain, expecting that to be a fix, or the number of channels, but nothing solved it.

    For the time being I will try out using Faust for my comb filter / physical modeling elements and see what I can do.

  • This topic is deleted!

    1
    0 Votes
    1 Posts
    65 Views
    No one has replied
  • Scriptnode fade then softbypass

    1
    0 Votes
    1 Posts
    108 Views
    No one has replied
  • Scriptnode Modulation creating aliasing or bitcrushing

    Solved
    4
    0 Votes
    4 Posts
    413 Views
    A

    @dane-zone click the little dropdown in the node title to expose the parameter of the dynamic blocksize so you can change it.

    The CPU meter in HISE is not the final thing. Depending on the complexity of the network, it may go down, sometimes a lot, when you export it. So export it and check against other plugins in your DAW. That's your reference.

    If there are no audible artifacts at lower modulation values, you could leverage the dynamic blocksize node to go for frame processing only past certain modulation thresholds, optimizing the plugin when low modulation values are used.

    There's gonna be a "hiccup" when you switch blocksizes, so keep it in mind if you want to offer parameter automation of the modulation frequency. You may wanna leave an option for this in the settings but before you go trough the engineering trouble to offer this feature, export the plugin and check whether using frame processing for this is actually even expensive by comparing it to the performance of similar plugins on the market.

  • 0 Votes
    14 Posts
    1k Views
    O

    @Orvillain Right no... I get it. Use two cables. Dohhh.

  • Adding a load button for Convolution reverb?

    7
    0 Votes
    7 Posts
    581 Views
    SawatakashiS

    @HISEnberg It's really nice of you.

  • hard coded master effect not working all of the sudden

    2
    0 Votes
    2 Posts
    193 Views
    J

    @jeffd
    ok i figured it out, for some reason my send effect wasnt connected to my send container.
    no idea how that happened.

    but works again

  • Midi Script Processor - How to callback from a ui control?

    6
    0 Votes
    6 Posts
    565 Views
    griffinboyG

    @d-healey

    Interesting.
    Okay I've never done this before I didn't know set attribute could be used that way.
    I'll have a go

  • This topic is deleted!

    3
    0 Votes
    3 Posts
    6 Views
  • Voice Limit Count: scriptnode synths?

    Solved
    22
    0 Votes
    22 Posts
    5k Views
    griffinboyG

    @ustk

    yes! its in the project xml

    <Processor Type="SynthChain" ID="Griffin_WT" Bypassed="0" Gain="1.0" Balance="0.0" VoiceLimit="16.0" KillFadeTime="20.0" IconColour="0" packageName="" BuildVersion="650">
  • Reorder FX for Hardcoded Master FX

    Solved
    7
    0 Votes
    7 Posts
    839 Views
    O

    I'm back after ripping apart my project and putting it back together. The "Mother-Network" that was originally structured in the exported scriptnode has now been recreated in the Module Tree.

    20bd4638-8a11-4e64-8deb-c5449c9db2cb-image.png

    The minimal module tree from before will be missed. RIP

    I have a few important notes. You need to use Synth.getSlotFX() not Synth.getEffect() when making a reference to the HMFX processor when using the setEffect command. This allows you to load in the exported scriptnode to the module.

    Other notable functions are exportState() and restoreState(). These can be used to copy/paste control states of the processors after they move. Use the Synth.getEffect() for this one. The exported string even stores the loaded effect. This means you can simply use this command instead of having to load the effect and then the parameter settings. Both processes are accomplished by this single command.

    I still need to set up a system for all the UI controls to adapt their connections depending the updated locations for each module. That should be fun.

  • Scriptnode threshold controlled saturation

    7
    0 Votes
    7 Posts
    630 Views
    LindonL

    @deadlycopter actually thinking about it a bit, if all you are looking to get out of the compressor code is some current "compressed" value based upon some input signal then the Faust compressors offer you dB values as output, e.g.

    Link Preview Image compressors - Faust Libraries

    favicon

    (faustlibraries.grame.fr)

    now normally we just apply this dB value to the signal level to get a classic compressor - but there's nothing stopping you using it in some saturation component in Faust... you just need to convert the dB output values to something you can use in your saturation code
  • Range multiband compressor in scriptnode

    15
    0 Votes
    15 Posts
    1k Views
    griffinboyG

    @Chazrox

    No worries, the question wasn't asked in a clear way.

    @hyperphonias
    This is actually quite a complex thing you are asking. A compressors parts don't really exist in isolation. You can't really create one part of the design without thinking about the rest of the design. For example some attack release algorithms support variable width knees, others do not (or in the least will give you a much harder time). So if you don't pick the right algorithm off the bat, you may end up ruining your design. So you must consider the whole compressor at once when making a design.

    I don't think I'll be able to help you with this one, I'm short on time these days. Maybe someone here can point you in the right direction if they have already made a scriptnode compressor!

    Else, take a read of this:

    https://www.eecs.qmul.ac.uk/~josh/documents/2012/GiannoulisMassbergReiss-dynamicrangecompression-JAES2012.pdf

    After reading this a few times you will understand digital compressors. And that's not a bad thing, if you're wanting to build one...

22

Online

1.8k

Users

11.9k

Topics

104.0k

Posts