Is this feasible? asking before starting learning HISE
-
Hello from Italy (pls pardon my poor english).
It has been more than 15 years from when i had the idea to "emulate" my loved Ensoniq SQ1 as a "free-time" project. I started by removing the ROMs, read them, send them to the MAME guys, in the hope to get something playable.
I still miss it, 'cause i don't want to make it a full developing work (i program for a living, i'm a bit tired after 10 hours of work).Now i learned aboug HISE, and i'd like to see if i can use it to finally build my synth. But before going deep in it, i'd like to ask to the experts if it is doable, or there's parts of it that are hard.
The SQ1 is a sample based synth, like the Korg M1 and so many other. (you can look at it on youtube).
Each Preset is made by three identical voices, and each voice has this structure:
So, one OSC, three "evolved" ADSR envelopes (you can set the Y values of the various "nodes", and there's two Decays), two configurable filters without resonance, only one LFO but a pretty flexible "modulation matrix".Some peculiar features are
- in the OSC, you can set from where you want your sample to start (it's a 0-99 value)
- one category of samples are (more or less) wavetables, not normal samples (and the previous value let you traverse the table)
- modulation source like keyboard trackin, random generator, external midi control ...
So, the question is: can it be done with HISE? what would be the hard part?
thanks.
-
@Parduz I can't tell you for sure, but I don't see why not. Even if something isn't as straightforward as connecting two nodes in ScriptNode, I'm sure there will be workarounds.
You're probably going to spend the most time doing the UI and getting it up to your standard, not setting up the dsp network.
When you dive into ScriptNode, you can start recreating the node layout according to your drawing.
Download the built exe. Read the ScriptNode docs. Start playing around. You can be messing around with nodes within minutes.
Check out the HISE examples repo and check out the Global Cables project for drag-and-drop modulator setup.
-
@aaronventure said in Is this feasible? asking before starting learning HISE:
@Parduz I can't tell you for sure, but I don't see why not. Even if something isn't as straightforward as connecting two nodes in ScriptNode, I'm sure there will be workarounds.
Thank you.
I waited to hear some other voice but i think it's time to reply :)You're probably going to spend the most time doing the UI and getting it up to your standard, not setting up the dsp network.
I could be.... but i think it will be a 50/50, i'm pretty lost in HISE, right now.
When you dive into ScriptNode, you can start recreating the node layout according to your drawing.
Download the built exe. Read the ScriptNode docs. Start playing around. You can be messing around with nodes within minutes.
Check out the HISE examples repo and check out the Global Cables project for drag-and-drop modulator setup.I've done everything, followed some video, read the docs (which has some "holes"), dragged stuffs around, crashed HISE but still i think i'm missing the whole picture.
Suppose that i want to do just a simple sampler with a custom AMP envelope like this:
(so, an envelope with 2 decays -like the AHDSR- but where you can set all the levels other than the S)I add the sampler in the container, but how do i create the custom envelope and add to it?
-
@Parduz the std AHDSR envelope has the following controls - that you can set:
so there is no "I" and no 2-stage D - just a 1 stage D but you also get H and to set the shape of the attack curve...I've never got the decay curve to have any effect....but essentially that replaces th 2-stage D in your example....
-
I add the sampler in the container, but how do i create the custom envelope and add to it?
In the Sampler select the Gain sub-pane (right at the top of the Sampler pane...
it shows you the Gain modules you have (so first time in it will show you a Default Envelope) - click the + button select Envelopes>AHDSR Envelope and you get an AHDSR Envelope added
- you can now remove the Default Envelope...
-
Thanks @Lindon
I was able to add the ready envelopes, but i don't need the AHDSR one, i need to develop and use that custom one (which allows to set -in time order- the Initial, Peak and Break levels, other than the Sustain one.
How do i add a custom Envelope to the Sampler? I thought it was the thing ScriptNode was for, but i've not seen how to create a custom node either.
-
@Parduz as I said - Initial is not possible with the std AHDSR envelope - Decay shape replaces Break and Attack Level = Peak.
If you want to build your own custom envelope in ScriptNode - then I think you are likely to be on your own.
More than interested in what your results are when its done.
To be honest I owned an ESQ1 for a lot of years and I dont recall this Initial value in the envelope generators....but my memory is leaky...and I cant see this param in the SQ1 manual either...
-
@Lindon said in Is this feasible? asking before starting learning HISE:
I dont recall this Initial value in the envelope generators
It is called "Attack Level" in the manual. I "renamed" it "initial" trying to avoid confusion with the "Attack" time. After all, it is the level at which the Attack section starts,
@Lindon said in Is this feasible? asking before starting learning HISE:
If you want to build your own custom envelope in ScriptNode - then I think you are likely to be on your own.
So, i think i should open a new topic "How to create a custom node... i can't find any help about how to do it.
EDIT
or maybe i'm looking in the wrong direction... can an envelope be scripted?
I just can't orient myself in HISE
. -
@Parduz said in Is this feasible? asking before starting learning HISE:
How to create a custom node... i can't find any help about how to do it.
If you want to make a custom node (c++) then this is the section of the docs you need - https://docs.hise.audio/scriptnode/manual/third_party.html
If you are wanting to make a scriptnode envelope using existing nodes then start here - https://docs.hise.audio/scriptnode/index.html