Video Tutorials

  • Tutorial 3: Using Multiple Dynamic Layers - Velocity mapping, Round Robin, and CC Crossfading

  • Excellent! You really got a profound understanding of the HISE concept over the time 🙂

    I have only a few remarks:

    1:27: use Velocity Spread and Custom to map them automatically
    2:51: you can use the auto select feature (the mouse arrow icon on the sample editor) to select the currently played sample. I am using this feature to tune the samples (it actually feels like tuning a real instrument this way)

    Also, there is another solution to both having dynamic XF as well as Round Robins which doesn't involve using multiple samplers: You can use the velocity layers as dummy RR groups:

    /** Velocity 2 Round Robin script
    *   Cycle through velocity layers in case you can't use RR logic
    reg rrIndex = 0;
    reg rrVelocityValues = [10, 60, 100];
    function onNoteOn()
        rrIndex = (rrIndex + 1) % rrVelocityValues.length;
    function onNoteOff() {}
    function onController() {}
    function onTimer() {}
    function onControl(number, value) {}

    In most scenarios you are not using the velocity information for dynamic crossfades so this might work (Although if you need it for something else like modulation the sample start you'll have to hack around a bit by eg. putting the real velocity into an array modulator before changing it).

    Also I was thinking about optimizing the XFade performance by checking if the Fade value is zero each buffer and skipping rendering of the silent channel to save CPU cycles (it still has seek & stream the samples to stay in sync)

  • BTW, would you agree if I put up these videos on the main website (under something like Video Tutorials)? You'll get credited of course, but I think these videos will help people learn HISE much more easily.

  • Oh yeah that would be great 🙂

  • There you go:

    Thanks again for doing this!

  • Dave, let me add my thanks too. Well done.

  • BTW before you tackle multimic handling, I would like to improve the workflow of merging as the current one is a little bit too hacky (and fails pretty quickly if the file name scheme isn't perfect). If you have any suggestions, let me know - I think you used that feature more often than me by now 🙂

  • I've not yet found any problems with the multi-mic handling, except for the ones you already helped me solve, I think it's quite straightforward. The only related area where I've found limitations is with some of the effects not being multi-channel too.

  • Just a quick update. I've been busy for the past few months with decorating a house, building Kontakt libraries and doing other bits and bobs and haven't had chance to make any more videos. However I'm finishing off my first major HISE project and will be finished decorating next week so should have some free time. I have a lot of tutorial videos planned...

  • Awesome. Do you have an idea what topic you'll cover next?

  • Probably some scripting basics, like callbacks.

  • Great idea. If you do this, make sure that you recommend the new control callback way with passing inline functions in setCustomControlCallback because this is really a better programming style than the old big switch statement in the onControl callback (it will stick around but can be considered a bit deprecated).

  • I do like the on control callback because it keeps everything in one place but I can see the new system being useful for larger scripts. I shall include both in the video 🙂

  • A quick little video showing how editing the user preset xml files in a text editor can be a time saver.

  • I've just updated the (quite out of date) video tutorials page with some of my more recent videos.

  • @d-healey You rock David 👏

  • I just thought someone hacked the website but then I remembered I gave you write access to the docs repo 😉

  • @d-healey sudo chmod 777

  • @hisefilo What's that in reference to?

  • @d-healey LOL you have permission to write on Hise website

Log in to reply