HISE v1.0.0 - open source sampler platform released


#1

Hi everybody,

after three years of working on my JUCE based sampler platform, I finally decided to call it 1.0.

http://hise.audio

It contains pretty much everything you need to create sample based instruments and has a compile exporter that launches the OS compilers to create native plugins / standalone for Windows / OSX / iOS (VST / AU / AAX) - actually it launches the Projucer which creates the IDE projects and then it launches the OS compilers :slight_smile:

Some of the main features:

  • disk streaming sampler with multi mic support
  • lossless audio codec with ~45% file size and (almost) no performance overhead compared to uncompressed samples
  • additional synthesis modules, effects & modulator architecture
  • realtime safe Javascript engine with user interface designer (inspired by the old Introjucer GUI designer)
  • some neat IDE features including Live variable watch, REPL, breakpoints
  • customizable workspace & responsive layout system
  • project management system with emphasis on compatibility with Git

Check out the GitHub page for a full feature list:

It’s licensed under the terms of the GPL v3 (and any instrument you’ll create will inherit this license), but I’ll offer a premium model for commercial projects. More information about this is available on request.

Feel free to download the current version and give me some feedback (as with a complex project like this, chances are great that you run into some issues, so let me know if you find anything weird.)

Best,
Christoph


#2

I noticed you say tested with Ableton etc, did you need anybody to test with Bitwig? I use Ableton and Bitwig.

Side note, very interesting project, do you have plans to export for Android (for future)?


#3

Hi Christoph,

quite impressive. From what I can tell from the videos (and watching you play Tetris) this looks like a versatile bit of software. And hopefully a viable business. I thought for quite some time, that there’s the need for some healthy competition in this area. Glad you beat me to it :slight_smile:

Greeting from and to Berlin
– Ben


#4

absolutely awesome work, congratulations on the release and best of luck with the product !


#5

Congratulations, Christoph!


#6

Thanks so much for opening the source


#7

Interesting! But why does it use a manual copy of JUCE (instead of a submodule), and a dated version - 4.3.0?


#8

Thanks for all the kind words.

@TeotiGraphix, yes, if you could test it in Bitwig, it would be great (from what I’ve heard this host is a little bit special since it runs all plugins in a dedicated process). I am regularly testing on Cubase, Logic, FL Studio, ProTools Ableton and REAPER and the infamous JUCE plugin host :slight_smile:

No plans for Android though - this platform still doesn’t seem to be a viable option for audio software from what I’ve heard, but I am definitely not an expert in this area. iOS is supported though and works great - I am using a custom app build with HISE on an iPod touch 6G on a live gig to avoid carrying around a laptop on stage and I am pretty satisfied with its stability.

@pixelpacker if you’re interested, we can meet up and talk about ways of cooperation - this project is getting ridiculously ambitious for a single developer and our geographical proximity might be of some advantage here :slight_smile:

@jrlanglois: this is a classic case of “never change a running system”. 4.3.0 is working perfectly fine for me and I have been following the commits in the JUCE repo since then and there was nothing really mission critical in order to justify the version bump (the thing that brought me to 4.3.0 was AUv3) - but if I may have overlooked something (like eg. a juce_dsp_module), I’ll be happy to take the leap.

RE submodules: I have also made some minor changes to the JUCE codebase rather trivial stuff that is rather specific to my use case. Plus people can just download my repo and use the source code for exporting instruments (you can’t download submodules along with some other workflow quirks that I was too impatient to figure out).


#9

awesome work!!! :sunglasses:


#10

Yes, I actually chimed in on that thread.

It’s interesting that Caustic’s DSP has been around since 2010 (Honeycomb) but I guess a lot of developers are just trying to port their unaltered code and DSP to Android.

A lot of the perceived problems with Android come from live playing(latency), so sequencer like apps are completely possible, I can attest to this. I have a sampler drum machine that is pretty popular using Caustic’s sound engine and basically has hardly any crashes, only on really low end devices.

Anyway, so I would need to build this to test in my DAW?


#11

I guess a lot of developers are just trying to port their unaltered code and DSP to Android.

Well, thanks to the awesomeness of JUCE I hardly had to change any DSP internals (except for modifying inner loops that use Intel SSE intrinsics) to make it work on iOS - I just needed to trim some fat to make it faster, but that’s about it. Having to rewrite the DSP stuff for Android really makes no sense for me.

A lot of the perceived problems with Android come from live playing(latency), so sequencer like apps are completely possible

Well if there is one thing where mobile music apps have a real advantage over laptops is their ability to take them on stage and play live without having a big glowing apple staring at the audience so this is quite a show-stopper - literally :slight_smile:

Anyway, so I would need to build this to test in my DAW?

I have uploaded installers for OSX and Windows so you should be able to start using it right away.


#12

Don’t have any memory allocation in the audio thread issue with your script ?


#13

As long as you’re not using Strings in the critical callbacks or deep clone objects, you’ll be fine. I rewrote the Javascript Engine to remove any allocation in order to make it suitable for using it in the audio thread along with other improvements - actually it became a weird mix of Javascript and C++ :slight_smile:

I did a talk on the last ADC about this very subject so if you can cope with my crappy spoken english you might be able to extract some information out of this:


#14

Yes, I know. :slight_smile:

This will be the last time I bring up Android on JUCe forums for a while. hehe


#15

I see. not ideal but it works.


#16

Downloaded, looks very interesting , thanks.


#17

Is there a way to zoom properly into the waveform for looping ?
Also , is there a way to snap to zero crossing ?


#18

Yes, there are zoom buttons on the Sample Editor. But snap to zero isn’t implemented yet - to be honest whenever I use looped samples, I have already loop points in the sample metadata so this area is a bit underdeveloped.


#19

I see , so it can import markers?

Btw: wow , love the interface editor ! Wish it were this nice in Juce .
#1.is there no send back,bring forward when placing items in the interface editor?
#2 .Can I change the red line on top of the keyboard ?
#3. Can I make a second gui window ?

I just registered on the forum , will post my questions there


#20

.is there no send back,bring forward when placing items in the interface editor?

I’ve made some experiments with z-order stuff, but I ended up just using the declaration order as z-order (anything else was rather bug prone). Just swap the UI widget definition in the code.

Can I change the red line on top of the keyboard ?

Yes. In fact, I recently added the possibility to switch the entire skin and use 100% customised graphics, but I’ll add a property to set the colour of the red line.

Can I make a second gui window ?

I added floating windows (Tools -> Add floating window) which can be populated with any panel a few weeks ago. There’s now also a shortcut command which just opens the plugin preview in a new window (Tools -> Add interface preview). You’ll have to build HISE from the latest source though for these features (I’ll roll out 1.1 in a few days with Javascript call stacks, jump to definition and many other additions)