HISE Logo Forum
    • Categories
    • Register
    • Login
    1. HISE
    2. NEST.acoustics
    3. Topics
    N
    • Profile
    • Following 0
    • Followers 0
    • Topics 7
    • Posts 26
    • Groups 0

    Topics

    • N

      the limiter in scriptfx can't brickwall

      Watching Ignoring Scheduled Pinned Locked Moved ScriptNode
      3
      0 Votes
      3 Posts
      222 Views
      Dan KorneffD

      There are some helpful notes in the source code:

      /* REGARDING THE MAX PEAK: This method assumes that the only important * sample in a look-ahead buffer would be the highest peak. As such, * instead of storing all samples in a look-ahead buffer, it only stores * the max peak, and compares all incoming samples to that one. * The max peak has a hold time equal to what the look-ahead buffer * would have been, which is tracked by a timer (counter). When this * timer expires, the sample would have exited from the buffer. Therefore, * a new sample must be assigned to the max peak. We assume that the next * highest sample in our theoretical buffer is the current input sample. * In reality, we know this is probably NOT the case, and that there has * been another sample, slightly lower than the one before it, that has * passed the input. If we do not account for this possibility, our gain * reduction could be insufficient, resulting in an "over" at the output. * To remedy this, we simply apply a suitably long release stage in the * envelope follower. */ /* REGARDING THE ATTACK: This limiter achieves "look-ahead" detection * by allowing the envelope follower to attack the max peak, which is * held for the duration of the attack phase -- unless a new, higher * peak is detected. The output signal is buffered so that the gain * reduction is applied in advance of the "offending" sample. */ /* NOTE: a DC offset is not necessary for the envelope follower, * as neither the max peak nor envelope should fall below the * threshold (which is assumed to be around 1.0 linear). */ /* REGARDING THE GAIN REDUCTION: Due to the logarithmic nature * of the attack phase, the sidechain will never achieve "full" * attack. (Actually, it is only guaranteed to achieve 99% of * the input value over the given time constant.) As such, the * limiter cannot achieve "brick-wall" limiting. There are 2 * workarounds: * * 1) Set the threshold slightly lower than the desired threshold. * i.e. 0.0dB -> -0.1dB or even -0.5dB * * 2) Clip the output at the threshold, as such: * * if ( in1 > thresh_ ) in1 = thresh_; * else if ( in1 < -thresh_ ) in1 = -thresh_; * * if ( in2 > thresh_ ) in2 = thresh_; * else if ( in2 < -thresh_ ) in2 = -thresh_; * * (... or replace with your favorite branchless clipper ...) */ }
    • N

      Need someone to implement a design with Hise LAF - not sure where to look!

      Watching Ignoring Scheduled Pinned Locked Moved General Questions
      6
      0 Votes
      6 Posts
      512 Views
      d.healeyD

      @orange said in Need someone to implement a design with Hise LAF - not sure where to look!:

      Then this could be the topic of the next video :)

      It's in the queue

    • N

      framex_block - kills my signal flow when operating with four channels

      Watching Ignoring Scheduled Pinned Locked Moved ScriptNode
      5
      0 Votes
      5 Posts
      331 Views
      N

      @Christoph-Hart okay so here's a snippet of what I've noticed is my main problem - routing matrix inside a framex_block doesn't work. This snippet shows a waveform generator going to channel 3/4, then a scriptfx with a matrix inside a framex_block trying to route it to channels 1/2. If you drag the matrix out of the frame block it works fine, but inside the frame block it's like it doesn't exist - the signal doesn't get re-routed but does pass on through in its original channels.

      HiseSnippet 1430.3oc2WssbSaDFVxNJPBTFnCLkK0E8hPgwiOANY5EDeDbichvJMjvMLajVEuwR6pJsJAmNbeer5iPeD5iPeCZ+WsxwRNlPhKEZqyDO9+vt629edMBXV3vPVfh5p6N1GqndaMywT9vlCQDpR2VJp2QqOJjiCzkrZL1GEFhsUTUy+BAC0UVRI9ye77FHWD0BOkkhxdLhEtGwivmx0XysHttcP13cIdozt5lcsXzlLWVDfm7ZEU7QViPGg2FITKmlxKQgCUT+NshUK43rQMTMKb4p10dV4ZX6Cwkcp3XsdMa6JNkbrKuw5OUQc411DNKvji33PXSavrGaNjcJUd.6QBIG5hEDkTLgSVxVo4PhqswDiSnhhplwTSUdoo59Z8I1jy4O0jc2XA5SWQZilZtKCRktFPRMEjVRBo6oYZEP74SkHvysz5RAOnCB7MoghTWE0eUqICTfxK3gFg6D.Dmuf0dVwhOQG95QeuSD0hSXTcFcaFGuCcsGs5Ou5Jq99U0mUjiybkINl.lqKNXthEgCAW1BWiF4cHN3I5mfbivmqHb8yZSW9pYSsj25TJxncoD9N93D5NLWagsR76K5ATRLavu9wtsPbjvojvCzyGGvIB3n1BeBjFHcQqn0BGNhy7gDgK3+fHGlcjKhmMbRjnkH.rGY7gBGEMjvGmNQ7ZDiU7RiwtpP7dZFDt0v4iwbyAifk5eBLljY9UZscbvV7o.bIsN6unogEu1ogqljFBmo3vucBodm8KM2DveQaZvte.1GEf2kY3hFuVHxy2EO.v3SzOzkYMxjbF9hYH9RHzPnwZVCQTJ1MbQRjV9STwIkArHNgdTeDOf7NvuucjmITW2B2LAcPIUUQvPBcQAsHtvDSsiI9S3ShvRBZ0DgklQXYActDgkmQXEAc9DgUlHLUh61X9orfQwNxjeqndCoWyI.Z77NvPvUp65xNsIyymjDeCduXdFL2w9CYThkfkTiI2w5drH3PRfGz7ZWDwUjPXFEBkXr2gZBJG2wTM+d3fv3M9FZEK.+AIHayrAQK2AYAtjwFH9PQllnpEDViCJXcd3cFrlNBS15LiXwtNoIqzjCn1SXMDsXUympxkL3VPAot4jGT2v8DRsPtJ6IBdD2m38TZBkPVN3f7PeabbqRlawCScKxn0Ew9LaymKzeSMOYnaFbeWs.YbcgDoWDumuvOBRycoH8NZsgDTan4SbekDr9dsMJVnBa8F+viGrU2w0FTtbqsXzd+jS8NUOKZv39UpsUH8XyhU6MnWTsA88Fdfyq16fia2Yem5zZ8Kz5wOtYqVG5WcTiC21XzYFGC+e1wm8RiZ0eiQuBCFPLLGPpep2qnCdSudcOnPAmsOYeyMfBsHgm.FLHtp6GjnAiMxCEmS82tu3CjBuk1qQmfimLMNd+AwzNr.O8WfgfHQ2nRWxro+1Uc1T+q7ro6XwAHra.hF5yBwkRuyyHqbZYsv7HZV0krxnk350Atdoz6laNgY4zLMPzLaFPmYm5GW9Mg72edaJBJfahgai8NgVvkUX6RO7fQjaH90Da9vRoW3T1kSy9kn.avuXko0d9rcQV5p0EI6TNozeNMcW9Kv33eZFU5K3zbYFUYkIXzjHFwnM8DrKjZFiwuFxEcPQt7Ibyla0mQYS54M0qO.Ck8N5Hblfo4dgpy4vC6lx49aN.6hQgox291M6AMGPA8iqHuP1hq+qmlq+5gZR3pKJHn+e2ovy++5ovu5YeP8v+c6E+FMntbY8XWo9WFe4LCuqM2g2yMyv64trg2yO6v6etefff9C9.gIBm9.AOjU.6sVxWKIJWbyXNfEiFOk2JZ8Ez5kTNQNZ1T2fGzr4sVVY2pKrvxK5BqrnKr5htvmtnK7YK5BqsnKb8O9BEyBTOhy7jYUv.RFsimQUUUNaTbBlxeknBLGI

      I'm trying to put my entire scriptnode effect inside one big framex_block in an attempt to end up with a zero or very low latency plugin - truthfully I'm not sure that's even how latency works so maybe it's unnecessary to include the matrix inside the frame block. Perhaps it wouldn't hurt to keep the matrix out in front of the frame block.

    • N

      Global cables in hardcoded fx?

      Watching Ignoring Scheduled Pinned Locked Moved ScriptNode
      1
      0 Votes
      1 Posts
      142 Views
      No one has replied
    • N

      External sidechain?

      Watching Ignoring Scheduled Pinned Locked Moved General Questions
      21
      0 Votes
      21 Posts
      754 Views
      Dan KorneffD

      @Christoph-Hart Can we get the default name of the sidechain to be the name of our HISE project?
      Right now, an external sidechain is named "External Sidechain (+bus)" which can get confusing if you have 2 different plugins made with HISE on the same channel.

      HISE_SidechainName.png

    • N

      Envelope follower not polyphonic?

      Watching Ignoring Scheduled Pinned Locked Moved ScriptNode
      9
      0 Votes
      9 Posts
      353 Views
      N

      @Christoph-Hart Well I was using the global cables across two different sound generators/containers, not sure if it could survive that...

      And yes I did! I can get the oscillator node to track pitch and the granulator. But the file player won't change pitch for anything- not even if I change the root frequency. Also worth mentioning the stretch player makes total chaos when I try to play two notes at once, like the wildest glitched out frequency modulation you've ever heard haha!

    • N

      Keytracked filter frequency??

      Watching Ignoring Scheduled Pinned Locked Moved ScriptNode
      9
      0 Votes
      9 Posts
      352 Views
      N

      @Lindon dude i can't thank you enough - it's all so mysterious at first so this is a massive help to dip my toe in!!