• Coming over from Kontakt? Read this!

    Pinned
    8
    1 Votes
    8 Posts
    3k Views
    LindonL

    @d-healey said in Coming over from Kontakt? Read this!:

    @Lindon They live inside Kontakt's sample map too, it's just that with Kontakt there is only one sample map and it's part of the NKI.

    I think the main different between Kontakt's groups and HISE's is that with Kontakt you can route them individually and apply effects and other processing to them individually which you can't do in HISE (yet...?).

    In HISE the routing and modulation is at the sampler level rather than the group level.

    Absoloutely - valuable stuff to include - I guess I was thinking inside a group you see a mapping of sample audio files, inside a Sample Map you see....so (to start with) same same...as a starting point. But hey no problem.

  • Roadmap to HISE 5

    70
    27 Votes
    70 Posts
    1k Views
    d.healeyD

    @Christoph-Hart Ok I've got it working with this setup.

    In ./bashrc add some environment variables

    #IPP export IPPROOT=/home/dave/intel/oneapi/ipp/latest # Set this path to correct folder on your system export CPATH=$IPPROOT/include:$CPATH export LIBRARY_PATH=$IPPROOT/lib:$LIBRARY_PATH export LD_LIBRARY_PATH=$IPPROOT/lib:$LD_LIBRARY_PATH

    Compiling HISE:
    Add USE_IPP=1 to Extra Preprocessor Definitions (avoids the issue I mentioned above).
    Add -lippcore -lippvm -lipps -lippi -lippcv to Extra Linker Flags.

    Compiling Projects:
    Check the Use IPP checkbox in project preferences.
    This automatically adds the flags and definition to the autogenerated juce project

    Edit: It doesn't seem to cause any issues to leave those extra linker flags in even when not using IPP, we could also add the flags for fftw too.

  • Make the Gain knob smooth the gain?

    30
    0 Votes
    30 Posts
    248 Views
    ChazroxC

    @CatABC I would script a UI button with 3 discrete stops. This knob will control your paramter knob from your scriptnode. Make sure the parameter knob in scriptnode is also set from 0-3 with stepsize 1.0. Changed the fader node to switch mode. Add a value ramp/smoothing node in between the faders mod outputs and the target gain knobs for each sampler. It should trigger the faders values either 1-2-3 to smoothly fade between one another. The part you have to script is what midi keys trigger each value of your parameter knob. Sorry if this is sloppy, this is off the top of my head without making a snippet example.

    based on the example I gave you above.

    Honestly have a look at the scriptnode list in the documentation. You can really get crazy with the cheeze wiz if you see whats available.

  • Linux IDE’s

    10
    0 Votes
    10 Posts
    50 Views
    d.healeyD

    @dannytaurus said in Linux IDE’s:

    Ouch for having to redo your video!

    Yeah but at least it's before I've released it properly :)

    @dannytaurus said in Linux IDE’s:

    Hope the course is coming along well. I'm looking forward to it!

    Not long now

  • How to use KeySwitch to trigger sampling?

    20
    0 Votes
    20 Posts
    293 Views
    d.healeyD

    @ulrik said in How to use KeySwitch to trigger sampling?:

    if I understand you right, you want to fade between several sound sources.

    Link Preview Image Make the Gain knob smooth the gain?

    hey guys, i want to make the value of this knob smoothly gain from -100 to 0 (-100, -99, -98...-2,-1,0) instead of going directly from -100 to 0, how should ...

    favicon

    Forum (forum.hise.audio)

  • Monitor changes inside Scriptfx - the correct method? (broadcasters listeners)

    Solved
    25
    0 Votes
    25 Posts
    623 Views
    griffinboyG

    @ustk

    Nice thanks for posting the working answer

  • Create 4 input switch in ScriptNode?

    4
    0 Votes
    4 Posts
    54 Views
    DanHD

    @Allen Thanks :)

  • Error when compile dsp with Pitch_Shift

    7
    0 Votes
    7 Posts
    143 Views
    DanHD

    @WaterSpoon @HISEnberg where do you change the FFT setting?

  • Default Oversampling Filter

    11
    1 Votes
    11 Posts
    791 Views
    T

    @Dan-Korneff sweet, thank you! I'm on an older comit apparently.

  • Plugin Audio Engine Not Working

    16
    0 Votes
    16 Posts
    121 Views
    F

    @d-healey sigh Alright, i figured it out. I didn't tick the "IsPluginParameter" box on the buttons and knobs. It works fine now. facepalm

    again, thanks for your patience, i appreciate it. you earned yourself a place in the "credits" screen of the plugin, which i need to figure out how to code so it shows up when a small button is pressed.

    The buttons do show up now as MIDI-controllable, but still no sound is happening (almost like a full bypass), but that i'll figure out in a bit...

  • Syncing/Time stretching via Sampler

    7
    1 Votes
    7 Posts
    352 Views
    d.healeyD

    @goldee Yes, but I've had mixed results with it. Let me know how it goes for you - https://docs.hise.audio/hise-modules/sound-generators/list/streamingsampler.html#timestretching

  • Mono Glide

    7
    0 Votes
    7 Posts
    95 Views
    dannytaurusD

    @Oriah-Beats Try the snippet @d-healey just shared. It works fine for me to get that classic mono portamento effect.

    @d-healey Yeah, the retrigger can sometimes end up with the wrong note as a destination. But mostly this works perfectly! Thanks! 🙏

  • Noise feature

    10
    0 Votes
    10 Posts
    95 Views
    O

    @griffinboy let me fight it. thank you for this

  • Filter envelope - depth - modulation

    6
    0 Votes
    6 Posts
    89 Views
    LindonL

    @Christoph-Hart said in Filter envelope - depth - modulation:

    @Lindon just modulate the attack level of the envelope?

    yeah I thought of that too... the problem then is what Im doing is reducing the output of the modulator at one stage of its transit...so I did it to the sustain level too...but then Im not sure if this is exactly the same as reducing the envelope depth....its beginning to boggle my mind a bit...

  • Global Envelopes - The "filtered" voices problem.

    13
    0 Votes
    13 Posts
    120 Views
    LindonL

    @d-healey said in Global Envelopes - The "filtered" voices problem.:

    @Lindon said in Global Envelopes - The "filtered" voices problem.:

    direct its output to a named destination

    You want to route the output of the envelope to somewhere else? Doesn't it just flow up the chain to the master?

    not a Global modulation Envelope no...
  • Sampling multiple velocity layers, how to evenly drop the velocity?

    13
    0 Votes
    13 Posts
    98 Views
    CatABCC

    @Orvillain yes,I already understand the design of HISE, it is more free than Kontakt!😻

  • Is there a way to search all included .js files?

    3
    0 Votes
    3 Posts
    44 Views
    VirtualVirginV

    @aaronventure Thanks!
    This is great! What a useful feature.

  • This topic is deleted!

    1
    0 Votes
    1 Posts
    3 Views
    No one has replied
  • Global Midi Learn(not saved in preset) Possible?

    Unsolved
    16
    0 Votes
    16 Posts
    493 Views
    LindonL

    @Sawatakashi said in Global Midi Learn(not saved in preset) Possible?:

    @Lindon Hi, pardon me! how could i save and load the midi cc value individually like a preset using this script, and i can replace the default values by right clicking midi assignment on the knob UIs. Thanks, seriously I'm willing to pay for a good solution if you don't mind.

    the solution is right there in the snippet and the follow up post from me....

  • Exploring GPT Integration for Parameter Control in HISE?

    7
    0 Votes
    7 Posts
    123 Views
    A

    @marcrex Ship ollama or a similar layer with your plugin, and a model of your choice. For this you probably want a good tool calling model, like Devstral. You will need the super light version. Unsloth has a super small quant https://huggingface.co/unsloth/Devstral-Small-2505-GGUF/blob/main/Devstral-Small-2505-UD-IQ1_S.gguf but I have no idea how well it runs. Check Gemma 1b as well.

    Your system prompt needs to contain the functions that it has available for use and what each of them does.

    Define these functions in HISE.

    You'll run it by mounting the model, if not mounted, on plugin start, using BackgroundTask. These small models should be fast to mount anyway, so best to have it unload itself automatically after an hour of not using it.

    The user can then write an instruction and the model is fed system prompt + instruction via BackgroundTask. The system prompt details what it can do, the instruction tells it what to do. You want to explicitly tell it to return a "function call" in a clearly specified format (for example doThis(arg1, arg2)) and for that to be the only return, no other text.

    You should then validate the return of the BackgroundTask call, by checking that it contains a function by using string operations, and if it validates, you would call eval(return). eval() will attempt to execute the string within the code. In this case it's a function that you already defined, so it will run.

    In the end, the brunt of the work is you designing the tools (functions) that the model can call.

    This is a very simple example, if you want to chain tool calls, you'll need to feed the output of the function back into the model along with the previous prompt so that it can continue doing the work if needed.

    If you want an example of how to use eval(), I did a cool experiment here https://forum.hise.audio/topic/9086/hise-s-best-kept-secret-dynamic-plugins

    These are the limits of my current knowledge on the subject, some of these workflows may already be outdated, but hopefully I gave you a good starting point to go and explore.

    Before you download ollama and start fiddling with local inference, you can try it out instantly via OpenRouter. https://openrouter.ai/mistralai/devstral-small:free

    This free endpoint will of course use any data you send for training, but you're not gonna be sending any sensitive info, just your system prompt any whatever the user types in. For a simpler implementation (though obviously not as rock-solid) you can offer the user to enter their OpenRouter API and use the free endpoint that way, or provide your own via cloud functions, at which point it becomes a service. However, this way everyone can run the proper 24B model; on macBooks with 32+ GB of RAM it runs fine, but on Windows, VRAM isn't super easy to come by.

17

Online

1.8k

Users

12.1k

Topics

105.1k

Posts