Scriptnode envelope ?

  • What I need to achieve somehow is an envelope that modulates a filter in the correct way.

    The correct way is : Envelope is added to the cutoff value (Done manually to demonstrate)

    Right ADSR.gif

    The current way is : Envelope always starts at zero and goes up to the Cutoff value.

    Wrong ADSR.gif

    I am wondering if I can build an envelope in scriptnode that would follow the offset of the cutoff value?
    Or somehow add offset to the envelope value
    I really need this solved as its a very basic modulation function.

    It would be helpful if one could access the adsr or any modulator output in script , assign it to a knob or something then make it control what is needed , adding offsets, inverting , etc. Its possible with the gain reduction in the compressor so why not the modulators ?

    Apart from that the moduation system needs an overhaul 🙂

  • Works for me


  • How is this different ?


  • @d-healey The filter display fooled me there for a second , thought this was a solution but it behaves just the same.

  • Bipolar Modulation works correctly when set to negative.

    FROM freq to zero .
    Bipolar Negative.gif

    BUT, when set to Positive , I dont even know what it is doing but it is not going positive from the set cutoff value, which it should.
    Bipolar Positive.gif

    So this is a problem , just wondering if it can be solved somehow with scriptnode.

  • What happens if you leave the frequency knob at 20khz but you use the table envelopes points to set the frequency range?

  • @d-healey That does not seem to work either ....should it ?

  • Seems to work for me, or I'm misunderstanding what you want
    Peek 2020-08-20 16-04.gif

  • @d-healey Yes, that seems to work somewhat . But I cannot see how I can have a user set a filter freq on a synth and the envelope being positive from that set value...which is the correct operation?

    I think this should work something like this, for modulating parameters .

  • @lalalandsynth said in Scriptnode envelope ?:

    I cannot see how I can have a user set a filter freq on a synth

    You always throw a spanner in the works 😛 I didn't know the user needed to set the value.

    You could use a knob to set the table point but table points go from 0 to 1 so I don't know what the formula is to convert that to a frequency value. I think some googling will help you with the calculation, or maybe @Christoph-Hart knows.

    HiseSnippet 1303.3oc2XEsaaTDEcV6LErKIPipBk2VEQkbDkH6RRADfhSbhqrZShSrSg2plr63jQY1YV1c1PLUU7DR7mvKH9FJeC7CvmP+Cf6L6ZuqaWRcWR.RWYY44N26bOycNyYl0cCjNzvPY.xpR+g9Tj06f6MTnNt0wDl.0YSj0b3sIgJZfcroMF5SBCotHKqx2WavpxLHyyyWaCBmHbnolPnGIYNzGx7XpTqca9.Fm2l3R6y7x38JM63HEsjbYDfmx35HehyIjin6PztUBirt1VtLkLnmhnngHqY1P5Nr2wxuSD6+iXgrC4TciFndv.Eatsj6pQr92nVGy3tcGMuCQHKb2zpP43pvMwaybYismVMdOSG1oQjsdXU57fWiBBOqLvalX3cCbOm.luJsGM1tNti.VnFPfkfrvJ1WToeyB2RBdHTK6QNg1N.ZLNhZ2qd86XuZ85K8EyVc1pvBQnx9TRfceB.4sDmR4ReZC6ux1vOV9HpxzyXHTaQSa6wttX7HwDblfZOHR3nXRgsT7.g7vFZjDH40bjd9RAfo6.YiGQWZ1pOY1pUlLqKGNJaRlPUC.Z7GSDvuVdUctdpIeilh..aMZrqsnImKtjdfRxbKBmeHvupMIfzCTFrtiTQ2UTaopOoZkpOsp8K10fA41WxfwoA41sl2GbdAVSD4cHMXTMYji.AXRF10lNFlSbMIiiRQGASsqOMocJGrQNbPTRQUyFSPH3pxvEmKgK1iyboAHFLHuE1TQQFvmUM.cPmMIJxngAFQHK9z.ESOYr1jdJnVDSwqf2jFdhR5a7MYcDYU8UlzyFmvmseygoY+flgpg5Ry0LNh7XttZBUHSW5S86OVKLZv.1Y5ZwsQCXbuPEjpNdfPDxZd7AgTaW5.RDWYGdBHK.z6Snt8kFEJOoK30B3cjAdDN66otcoAN.z0Qid4cxfdhzMhSTSJxnUVS5PCtr6l06XE.nGlU480P4odtJO4tpOkv8F3tLkyw4i2R4fWX8+xFuI53yh2Zv.piJEryfa+MEUztXPYtXnbcbOPGzHdZ.xBl11eM4Tp88oBZftn13u67U6e7W94o87U+o970ccTP56GPDg9xvIF3dTOVeXSWXVi.2uc.8a2WuJm0dKIIH2td9ZsgIYtwzinhBLzk08jQB0DzixE5fzI20jw+bNUcl+CNz+heq2+bkhxSGbeE2KoxHL1i44mdvsAiyCJ4F4xwGmOAJ2VJj9GKELmrLf8ofn6QGQCxh8bmPqqTvo3oVtYy8obJIKa9Ca9PfERB11HNWnZQiouVbdqW2BGCWa8NS62LT3K+FjBeAuVdB8edbWIeXLYtMiC2r1.nJ33FMNmWdBgzhjQTgSZU7m98l6kkBLI8cwl6EA2vHSU+Y7lav7kbRPNqHm8kWbr8YlRZyB3wSpKKtdAWvpFi52EOw6Yjv0eg2i4xSsx9W+A2WVsZklwNYfg45x5KVl3VFi2Fe2UVd7ym2B95zcguF7QiMd5tnKtU8RS4p96mnwc0Rh6V3QU3qXJyZcjqN38CvIRT1ZogqN3dN7d+O.r6KiTLwQaS.4F3ETw6D40CtLuCE.pPP4PhvVkzWHOtccc63ayKbMM9S3IoyF51VIc1XTm+qjCOhSf7wNw+SBZsk21XAl2Bye0WE71511i+KDv35KWW+J6rG63nOh+ig5S9wb2BDymTfXVo.wrZAh4dEHlOs.w7YmaL5W.Z8HkzKl+CF5tU7wPVaIzmIY1Jf9K.ZRv8AC

  • @d-healey hhehe 😉

    On a regular synth , the envelope on the filter will add to the cutoff position , unless of course its inverted where it will subtract from the cutoff.

    As it stands it seems not possible to make the standard behaviour which rules out a lot of synth emulations, so i was hoping that until this is fixed i could hack it somehow with scriptnode.

  • Also, lots of clicks and pops when holding one note and playing another fast.

    HiseSnippet 974.3oc2X0ybaaCFFTRHWU+voIwM0ciCMS9RNwDGk1IKaYoXe1xV1Tw1a9PHgDQCHfJInS0VG5P+KzsdWW5T+Oz+A8tNz09SvasaM.jTlj17jYniSpCG7422W7B9fG7vGBp9dbKruO2CnUevjwXf1GCMmvDNscPDFXi0.ZyA6g7EXO8nTqNYLx2GaCzzp9TUBs50.gWmr7pHJhYgSRA.6yIV3sHtDQR19s1jPocQ13AD2TidoVaXwYs4TdfDOUgM.iQVu.MBuMRMrJPf1M5XSDbOSARf8AZ0VkaOwzg+RVz32m3SdNEqBL.lxIJJcWN0VgX0+CZ6Pn18mtt8A.MX+DVnZDKLOrGwlbZ9D13SCKnmzQZ9PqxrfmQIgm14g2mA2BOBI3GPDN6gEdjQivdg3ag3J5uTVR+zZFYwY0r3rZwv44wFnMmIvLgZSMAj0h.ojp31ATIXxveJQSbABOqdZC0j4SDSRKpdMH0F4RpF4A7BB2aA6SDVN4i2J4fW490UMdi0.eBryvgXKQBXqA6dXY0ikCJyEAkOBZRX3PeiPfb2vX8CPGi0eJlg8TjpwLrN9ihZcLtvVG6XIj29AdHl+XtelI1D6RFvYJFII4y7wc8ve6dpc4z4ayQd4V5jk6JWj41iIRD3EJWVwkGvDYjGUKkGQ1mZRM9bLLp8NvO6M+idWdmhpECtWfka8oXzj3Nlh6vNFS4xLJLda3Z3gn.pXZ1rh7dbFerCmQrRq.RLrSg8bWPqHDxW.ljY9V6goXTZ07W1ZKoJD4I4IbI4BihyEyZ+ZAXDb0UOYp+9gCe02ib3K4INhk+2F1mSmDIl6Rnh3iaTGFELKyc.PYRFfYVIr3O9ms1MN36m+29qkyJemu0tAHZJV+e+mQ+9pjwbJxqP6HkWsWqfxl6BOcQcUo0K4F1GFg5aBGfd9YrqtUTN8KoaE.bwtU+8ur8udF2pe9mtyOzJZPgvXMj.AzdL7QMeP1qi2Yy8ae3hq6rtySZKi+lcj+Y3hpResJd3Nf3YN07bO3CWJt8lhlMaGNOm1W779FTnTofBkOO1V75kq3BvoL70Lybk0y0G79EvXWMckax0GbOGb2+G.183ABBaTOjzg56jeF+1Atlxy+agk.kwvT4MBpUQcF9n3Fp3nO.fYGF7exq3hFpXs3hFSK9V4d3hr73GI+9EgGmp7V9fvLx0MK7G9nNrmJV2.bLhFHS.gMdPCfq7f6GYYoNUv8k7S987vRzyiJQOKUhddbI5oYI54IknmuZl8n9loUBDb2H8uLQ+NQuFRqCS8NovGE.uBPaTVDM

  • The whole HISE modulation system is unipolar like this and it drives me insane. Very unusual behavior for sure.

    The only hacky workaround I can think of (other than overhauling to scriptnode) is to set the backend value of the filter to the top value of the modulation range you want, but set the knob in the interface the middle of the modulation range.

    Fortunately, you can achieve pretty much all of the same results with this unipolar system, but it's very unintuitive.

  • @d-healey

    So basically , a knob on the synth to control freq on the filter like normal , ie. knob set to freq in properties.
    This knob is also converted to 0-1 and hooked up to the table where it tracks the freq set with the Freq slider.

    Then when the envelope to filter is engaged , the envelope is already set to the correct freq and when you move the freq/cutoff point you are really moving the table value , disengage and it controls filter like normal

    Bunch of hoops , but possible ..However!

    You cannot set the amount , the filter now always opens fully. (When the attack portion is over)

    You should be able to add envelope to the set cutoff point , in the amount you want.
    Basic synthesis 😛

  • @Lunacy-Audio said in Scriptnode envelope ?:

    Fortunately, you can achieve pretty much all of the same results with this unipolar system, but it's very unintuitive.

    Can you expand a bit on this as yes , its driving me insane as well.
    If I can somehow achieve a positive envelope (and preferably inverted as well) from the cutoff point , with amount setting, then please tell me how 🙂

  • @lalalandsynth Yes, totally agree.

    I'm not using envelopes but I'm using LFOs all over the engine I'm building, so I'm not sure if the behavior is slightly different, but it's definitely unipolar in the same way.

    An example to achieve the same behavior with a filter in bipolar vs unipolar:

    Bipolar –

    1. Set knob value to 50%.
    2. Set modulation intensity to 50%.
    3. Knob will modulate from 25% to 75%.

    HISE Unipolar –

    1. Set knob value to 75%.
    2. Set modulation intensity to 50%.
    3. Knob will modulate from 25 to 75%.

    Obviously that's a pretty stupid example haha, but you can achieve mostly the same results with either. The latter is just more confusing.

  • For something like a macro control, it typically works as a positive unipolar modulation (i.e. starts at 50% and adds the modulation intensity) which I think is what you're referring to.

    A good reference point: Serum treats macro modulators this way, but treats LFOs as bipolar sources. I'm sure you already know all this though.

  • Yes, I am referring to how almost all analog synths work when you add an envelope to the filter ...hehehe 🙂
    Everything would be so much simpler if HISE would just stick to how this works normally.

    Now obviously this might be fixed (I certainly hope so ) but I was hoping I could do it via scriptnode as it appears to me that the envelope system is unworkable as it stands.

  • Normal Bipolar LFO to filter behaviour, and in fact it does the same for Pitch .
    As you can hear , it adds and subtracts from the set cutoff point.

    Normal Positive going envelope FROM cutoff point, only adding to it ! Unless you swicth the invert button in which case it will subtract from the cutoff point.

    Another example

  • 100%. I'm with you haha

Log in to reply