For Those of Us Considering Jumping from Kontakt to HISE

Mike Greene

Senior Member
Moderator
A little background: HISE is an open source framework for creating sample libraries. It seems to have the usual mapping, scripting, and other sampler features we'd see in Kontakt or Falcon or Halion, although probably requiring more effort, since it's designed for developers rather than users, so you can customize it how you want. Here's their website:

I've toyed with the idea of creating my own player, especially for my wordbuilder instruments, since Kontakt has a few limitations that are problematic for me. Creating a player from scratch is a massive undertaking, but with HISE, the heavy lifting is already done. A finished library would be released in "my" platform (HISE is a development tool, so the end instrument is a Realitone plugin.), but unlike PLAY or SINE or Spitfire's new player, there's already a working framework and a number of released instruments, so there will be fewer surprises.

The two upsides that are of interest to me are that I can (presumably) do some things that Kontakt can't, and also that I can (again presumably) build in a better copy protection scheme. I suppose there's a third upside that I would eliminate license fees to NI, but that's not that much of a motivation for me, since I'll spend far more time (time equals money) learning a new platform than what I would save in license fees.

The three biggest downsides I foresee are the initial learning curve, the loss of sales to some customers who want to keep everything Kontakt, and more effort spent on maintenance as Mac or Windows introduce new operating systems. (I see on one HISE developer's site that his instruments are not Catalina compatible.)

I suspect a number of other Kontakt developers here may have different motivations from me, but have similar questions, so I'm starting this thread so the topic can be discussed. (I say "discussed," as opposed to "debated." Hint: If you're tempted to use words like "fanboy," you're probably debating, not discussing. The purpose here is not to convince anyone which platform is better, rather it is just to share information.)

A couple questions I'd like to start with:

1. With my upcoming wordbuilder instruments, I want to give the user the ability to type in words on their QWERTY keyboard. Kontakt doesn't (or at least hasn't) allowed me to do that. I assume with HISE, I could?

2. Regarding Catalina, is that resolved? How much work is involved when there is a new Mac or Windows OS?

3. Copy protection is a big motivation for me. I assume iLok is not an option, but can I write my own CP scripts? My theory is that my copy protection, as long as it is unique to Realitone, doesn't necessarily have to be very strong, since there's not as much motivation to crack a single company's CP. Kontak - big motivation. Realitone ... yawn.

<<EDIT - as of March 16, 2020 - Here are some other useful resources we learn about later in the thread:>>

HISE Manual

Staring at an interface and trying to figure out how toi get started is always tricky, so I made this "Getting Started" video: Quickstart Video

A really good video on scripting by David Healey: HISE Scripting 101 video

How to install HISE:
Installing HISE on Mac (Mojave)
Installing HISE on Windows

The Mac installation was pretty complicated (for me, at least), so here is where you can download an "already-built" version that works right away, no muss, no fuss. (I guess they call that a "single binary.") It's pretty old (November 2018) and I was advised against it since it's missing a lot of features, but it works, so I'm glad I downloaded it. My assumption is pkg is Mac (that worked for me) and exe is Windows:

HISE.2.0.0.pkg
HISE_2_0_0.exe
 
Last edited:

d.healey

Senior Member
The two upsides that are of interest to me are that I can (presumably) do some things that Kontakt can't,
HISE has many features that Kontakt lacks, but it also lacks some features that Kontakt has. HISE has no time/pitch stretching capabilities at the moment - but it's on the to-do list.

However, since it's a free software project you can add in any feature you want. If you're not a C++ programmer then you can hire someone else to add the necessary changes, or do what the rest of us do - nag Christoph (the HISE developer) to do it.

I suppose there's a third upside that I would eliminate license fees to NI, but that's not that much of a motivation for me, since I'll spend far more time (time equals money) learning a new platform than what I would save in license fees.
If you're releasing a proprietary HISE built plugin then there are still some licensing fees (probably quite reasonable though).

The three biggest downsides I foresee are the initial learning curve, the loss of sales to some customers who want to keep everything Kontakt, and more effort spent on maintenance as Mac or Windows introduce new operating systems. (I see on one HISE developer's site that his instruments are not Catalina compatible.)
I have tutorials on my YouTube channel that will help to get you started. A customer got back to me and said they are running one of my plugins on Catalina (even though I haven't notarized it). Plugins made with HISE are compatible with Catalina but you're supposed to code-sign and notarize them which I haven't got around to doing yet.

A couple questions I'd like to start with:

1. With my upcoming wordbuilder instruments, I want to give the user the ability to type in words on their QWERTY keyboard. Kontakt doesn't (or at least hasn't) allowed me to do that. I assume with HISE, I could?

2. Regarding Catalina, is that resolved? How much work is involved when there is a new Mac or Windows OS?

3. Copy protection is a big motivation for me. I assume iLok is not an option, but can I write my own CP scripts? My theory is that my copy protection, as long as it is unique to Realitone, doesn't necessarily have to be very strong, since there's not as much motivation to crack a single company's CP. Kontak - big motivation. Realitone ... yawn.
1: Yes

2: Windows updates shouldn't cause any issues because it doesn't require code-signing. MacOS - only Apple knows how they intend to screw up existing software, but for Catalina you need to have an Apple developer ID to code-sign and notarize plugins. There is some info about this on the HISE forum with a link to a tutorial at KVR.

3: iLok might be an option but you'd have to do some C++ work. HISE has a simple serial key system as well as a more robust server/client system (as used by PercX).

4: (You didn't ask this but you'll want to know). Since Pro-Tools doesn't support VST or AU plugins you'll also need to compile AAX plugins. This requires an AVID developer account and their SDK.

5: (You didn't ask this either). To build Windows plugins you need a Windows machine, Mac plugins require a Mac machine etc. I've found it best to use a Mac (Mini) and triple boot it with MacOS, Windows, and GNU/Linux so I can build for all three platforms on one system. I also use automated build scripts to build each plugin format and standalone program with one command. This is more advanced stuff that you'll want to look into later on if you get going with HISE.
 

P.N.

Senior Member
I got a question too.

I see that HISE supports vector graphics.
Does it support 3D meshes and some sort of realtime 3D lighting?
Or anything else for that matter. (any type of image post processing)
 

d.healey

Senior Member
I see that HISE supports vector graphics.
Does it support 3D meshes and some sort of realtime 3D lighting?
Or anything else for that matter. (any type of image post processing)
No 3D rendering. It support rLottie vector animations.

Can someone give us some names of devs/libraries that use HISE? Do we all have some and not even know it?
There are a few others (can't remember their names) active on the HISE forum. I also know of a couple of larger devs that are working on unannounced (secret) HISE projects.
 

Nick Batzdorf

Moderator
Moderator
Being a Realitone fanboy, I just looked at the HISE site.

For the Mac version it lists compatibility with OS X 10.7 to 10.12, and Catalina is macOS - not OS X anymore :) - 10.15.

Is that real or just that they haven't updated the site?
 

robgb

I was young once
HISE has many features that Kontakt lacks, but it also lacks some features that Kontakt has. HISE has no time/pitch stretching capabilities at the moment - but it's on the to-do list.
I've gotta be honest. I played around with HISE but can't for the life of me figure out how to make it work on my computer. It's been awhile since I tried, but apparently I have to download some source code libraries or something along those lines to get it to compile anything? I can't really remember. I just remember thinking it was hurting my head, so I did something uncharacteristic of me and gave up...
 

ProfoundSilence

Senior Member
I had a hise library and didn't know it. (hexeract)

+1 for promoting alternatives that are a bit more flexible than a proprietary engine for small devs.

I'm excited for SINE but it doesn't help sample developers as a whole, and you cant just up and make a library on your own for the spitfire player for instance- so alternatives for sample developers to make sample libraries.
 
Last edited:

d.healey

Senior Member
I've gotta be honest. I played around with HISE but can't for the life of me figure out how to make it work on my computer. It's been awhile since I tried, but apparently I have to download some source code libraries or something along those lines to get it to compile anything? I can't really remember. I just remember thinking it was hurting my head, so I did something uncharacteristic of me and gave up...
HISE requires a bit of technical skill and initial setup. I have tutorials on YouTube showing the setup on all operating systems.
 

Lindon

VST/AU Developer
I got a question too.

I see that HISE supports vector graphics.
Does it support 3D meshes and some sort of realtime 3D lighting?
Or anything else for that matter. (any type of image post processing)
So in the "anything else" bucket:

- support for TrueType fonts
- script nodes - essentially (and I'm simplifying here) - a system not unlike Max or Reaktor (with all the associated screen-jumble) - that allows you to define and connect (with cables) nodes to make your own processing units - Here's an example from one of the "ScriptNode Experts" @ustk - its a formant processor...I think....so yeah all the power and all the ugliness...

NOTE: You dont have this unless you add it...so you are not natively wading thru this stuff...
yikes.jpg
- "real" oscillators - so we can all make a subtractive synth in Kontakt (just load up a wav file that is a single cycle from some osc.) but there are the anti-aliasing issues - HISE has built-in a synth - with all the usual subtractive synth candidates (Sine, Saw, Pulse, etc. etc.) and some FM capability
- Additive synthesis - you can use the sine wave generator to "do" additive synthesis - Sampleson are probably the experts on this...
- expansion system - allowing you to define new graphics(UI) and sample content and ship it as an expansion for your existing instrument - PercX uses this..
- unison - built in for all sound sources..
There's a lot more but that will do for now on the up side...

Downside:
- the FX are not as extensive as Kontakt - there's no flanger for a start - and the only meaningful distortion is the polyphonic waveshaper - there's no bit reduction either. Kontakt had a set of fairly ordinary FX for a long while - but now it's starting to gain the very very acceptable FX from NI stable of stand alone FX plug-ins so the quality is really very good. You may be waiting a fair while for similar FX to arrive in HISE - Christoph said the script node system was a response to "can I have XYZ audio FX please" - so I think he would point you at ScriptNode and say build your own...

- no "use your own samples" - recently added to Kontakt - on the to-do list at HISE

- Theres no bus system - building send structures for Send FX is still something that mystifies me - the tree structure of HISE is massively powerful but its here that HISE is harder to work with than Kontakt - though there is an outstanding request (from me) for a bus send/recieve FX which Christoph has said is a good idea so it will show up at some point (I have my fingers crossed)

- there's no wait() statement - In kontakt if you want to wait a fixed amount of time you just say wait(1000) and you get it given - HISE doesn't support this (real-time like environments really shouldnt) so you have to set up and use a timer(with its own independent function) - nice thing about HISE is you don't have just one timer (on listener to you KSP people) you can have as many as you want all running at different speeds - tho' Christoph has said anything past about 16 timers might start to affect performance - so more power - less ease of use

- the sample offset start is limited. You want to start your sample playback in Kontakt at 12 seconds into your 30 second wav file? - no problem - HISE? ...no dice its a very short offset capability - so stuff like the granular system I wrote in Kontakt wont work in HISE - I'll have to think of another approach - current favourite goes like this "Christoph? Pretty Please? Can you add a granular processor? Pleeeeeeease...."

Fire away with specific questions .....
 

Lindon

VST/AU Developer
2: Windows updates shouldn't cause any issues because it doesn't require code-signing. MacOS - only Apple knows how they intend to screw up existing software, but for Catalina you need to have an Apple developer ID to code-sign and notarize plugins. There is some info about this on the HISE forum with a link to a tutorial at KVR.
Just a quick clarification here: if you are building plug-ins (VST/AU) on MacOS they will need to be codesigned - they do not and should not be notarized....

If you are building a stand-alone app for MacOS or iOS (yes you can build apps for your iPad..) then they will need to be codesigned AND be Hardened runtime enabled. They will also need to be notarized.

If you are building an installer (with something like Whitebox Pacakages) then this will need to be noterized too...

Theres a fairly techy-savy thread here at KVR Audio about this process...

 

EvilDragon

KSP Wizard
so we can all make a subtractive synth in Kontakt (just load up a wav file that is a single cycle from some osc.) but there are the anti-aliasing issues
Just FYI, there's the wavetable oscillator as well which is much better suited for this express purpose.


(Also BTW thanks for the pros/cons breakdown from your side! Is it still the case that you cannot dynamically load/unload FX from script like you can in Kontakt?)
 

Lindon

VST/AU Developer
Just FYI, there's the wavetable oscillator as well which is much better suited for this express purpose.


(Also BTW thanks for the pros/cons breakdown from your side! Is it still the case that you cannot dynamically load/unload FX from script like you can in Kontakt?)
I'm working hard not to be on "a side" Mario...

Oh yeah - forgot the wavetable oscillator in Kontakt - there's one in HISE too...this doesn't get around the anti-aliasing issue tho right? its still a sample being run thru not a calculated shape..

..and for dynamic load/unload of effects - in HISE there's an Effect called "Effect Slot" which allows you to select(load) any effect you want - but I've never used it so I cant comment on its viability, also there's no arbitary limit on effects either (no 8 slots and thats your lot - tho I cant imagine anyone really needing more) - you can have 20-30 fx if you want in HISE - it would grind to a halt at some stage tho...

A couple of other things that occurred to me whilst out chipping render off my house this morning(it was boring and I had to think about something)....


real-time envelope displays: - you can display your AHDSR envelope along with a set of controls - move a control the envelope redraws:
simpleEnve.png

-- see that little black dot (you can have any colour you want)?- thats me playing a note and HISE showing me the position as the envelope executes...

User drawn LFOs:

userdrawnlfo.png
LFO's can be any classic shape you want - but they can also be "user drawn" - above is a slightly mad example - user can define as many nodes as the like and define the curve between nodes... oh you can have LFOs behave as "one shot" - so in effect these are tempo controlled multi-point envelopes.

Real-time filter displays:

1583927464989.png

Select a filter type, and set its controls and the user can see whats going on..These will "move" if you add (say) an LFO to them.


EQ displays
eqdisplay.png

This isnt a very clear example - as the eq display itself is placed behind the controls - so you dont have to have it like this - but you get a mutli-band eq (as many bands as you like not just 3 or 4 - tho its 4 here in this example) - and a display window that shows you the eq curve that changes as you change eq settings...

I'm trying to think of something negative about the UI in HISE - so I come off as more balanced, but I cant think of anything right now...sorry.
 

EvilDragon

KSP Wizard
I'm working hard not to be on "a side" Mario...
I didn't mean THAT side (your vs my team). I meant from your POV as developer on both platforms.

Oh yeah - forgot the wavetable oscillator in Kontakt - there's one in HISE too...this doesn't get around the anti-aliasing issue tho right? its still a sample being run thru not a calculated shape..
It is cleaner than if you'd just stretch one zone of a sample across the keyboard. It works in a different way than pure sample playback, and also has 4 different interpolation quality levels.

I'm trying to think of something negative about the UI in HISE - so I come off as more balanced, but I cant think of anything right now...sorry.
Maybe that all that realtime UI refreshing is also a CPU drain? :) (Unless it's GPU accellerated of course, but this also has its tradeoffs.)
 
Last edited:

Lindon

VST/AU Developer
I didn't mean THAT side (your vs my team). I meant from your POV as developer on both platforms.
OH OK - sorry.

It is cleaner than if you'd just stretch one zone of a sample across the keyboard. It works in a different way than pure sample playback, and also has 4 different interpolation quality levels.
OK maybe that's not such a big deal then, but HISE isnt doing any interpolation - its doing straight calculation.....

Maybe that all that realtime UI refreshing is also a CPU drain? :) (Unless it's GPU accellerated of course, but this also has its tradeoffs.)
I think Dave got this one...but I'm actually really surprised how little CPU is getting used in my HISE products...

Oh and one more of these real time displays:

You get an Analyser FX: so you can show your end users any or all of: Oscilloscope, Goniometer(you know the thing that shows you the stereo spread) and Spectral Analyser
 

EvilDragon

KSP Wizard
OK maybe that's not such a big deal then, but HISE isnt doing any interpolation - its doing straight calculation.....
With wavetables you always have to interpolate. All you have is a single cycle waveform at a static pitch, and it has to work across the whole keyboard. Interpolation is calculation too ;)
 

Lindon

VST/AU Developer
With wavetables you always have to interpolate. All you have is a single cycle waveform at a static pitch, and it has to work across the whole keyboard. Interpolation is calculation too ;)
No I think you misunderstand me - yes, sure, HISE I'm sure is doing interpolation just like Kontakt in its wavetable synth - but... HISE *also* has a "classic" synth inside - that is doing the "straight" audio rate calculation for each note played - no interpolation, no attempt to deal with anti-aliasing in any way - its a straight mathematical calculation - no wave data of any kind...like say U-He are doing in one of their analog style synths... (NOT saying HISE's synth is in the same ball-park as U-He products - tho some time this year I hope to prove it can be just as good as....)