Forum
    • Categories
    • Register
    • Login

    Check Latency broken on latest develop build?

    Scheduled Pinned Locked Moved Bug Reports
    22 Posts 7 Posters 518 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • dannytaurusD
      dannytaurus @Christoph Hart
      last edited by

      @Christoph-Hart This commit mentions latency fix:

      https://github.com/christophhart/HISE/commit/a6c5d9dd7028f16a68983fd8425e9d580e4702db

      Is the check supposed to work for all plunges types, meaning instruments?

      I just tried in an instrument plugin and it shows the instruction window:

      CleanShot 2026-07-03 at 11.21.14@2x.png

      and when I hit OK it doesn't do anything else until I hit a key. Then it shows me what seems to be the number of samples since I hit OK (I waited about 10 seconds to press a note)

      CleanShot 2026-07-03 at 11.21.35@2x.png

      Meat Beats: https://meatbeats.com
      Klippr Video: https://klippr.video

      David HealeyD 1 Reply Last reply Reply Quote 0
      • David HealeyD
        David Healey @dannytaurus
        last edited by

        @dannytaurus Isn't this the sort of thing that could be "embedded" in the plugin automatically at export so we don't have to do it manually - or is there some other benefit to doing it manually?

        Free HISE Bootcamp Full Course for beginners.
        YouTube Channel - HISE tutorials
        My Patreon - More HISE tutorials

        dannytaurusD 1 Reply Last reply Reply Quote 0
        • dannytaurusD
          dannytaurus @David Healey
          last edited by dannytaurus

          @David-Healey The latency can vary depending on what the plugin is doing at runtime.

          Someone did some experiments where they measured several different latency times from different script nodes (or modes of one node, I don't recall exactly) and set the host latency to the largest measurement, then added fixed delay compensation to the other modes. That way, the latency was ALWAYS the same, highest number.

          If you could do all that at runtime, that would be cool.

          Meat Beats: https://meatbeats.com
          Klippr Video: https://klippr.video

          David HealeyD 1 Reply Last reply Reply Quote 0
          • David HealeyD
            David Healey @dannytaurus
            last edited by

            @dannytaurus said in Check Latency broken on latest develop build?:

            If you could do all that at runtime, that would be coo

            Was that person doing it at run time or before export?

            Free HISE Bootcamp Full Course for beginners.
            YouTube Channel - HISE tutorials
            My Patreon - More HISE tutorials

            dannytaurusD 2 Replies Last reply Reply Quote 0
            • dannytaurusD
              dannytaurus @David Healey
              last edited by

              @David-Healey Before export, in HISE.

              Meat Beats: https://meatbeats.com
              Klippr Video: https://klippr.video

              David HealeyD 1 Reply Last reply Reply Quote 0
              • dannytaurusD
                dannytaurus @David Healey
                last edited by dannytaurus

                @David-Healey Pretty sure this was the post:

                https://forum.hise.audio/topic/14160/latency-compensation-not-being-triggered-in-daw?_=1783073938002

                It was a pitch shift node, which has larger latency the more you shift.

                Meat Beats: https://meatbeats.com
                Klippr Video: https://klippr.video

                1 Reply Last reply Reply Quote 0
                • David HealeyD
                  David Healey @dannytaurus
                  last edited by

                  @dannytaurus said in Check Latency broken on latest develop build?:

                  @David-Healey Before export, in HISE.

                  So it doesn't need to be realtime?

                  When you click export HISE could run through all of the latencies, find the highest and embed the setLatencySamples call into on init. Would this achieve the same thing?

                  Free HISE Bootcamp Full Course for beginners.
                  YouTube Channel - HISE tutorials
                  My Patreon - More HISE tutorials

                  ustkU dannytaurusD 2 Replies Last reply Reply Quote 0
                  • ustkU
                    ustk
                    last edited by

                    Don't rely on a single-sample impulse unless you're dealing with a very basic processing chain, especially if there's a non-minimum-phase EQ involved. An impulse measures both the plugin's algorithmic latency and the filter's frequency-dependent group delay. The latter isn't processing latency, it's just how the filter behaves.

                    A more reliable approach is to record a sine wave (or another suitable signal, noise, etc...) and compute the cross-correlation between the bypassed and processed signals (that's what my app Align-IT is all about). It could be implemented in Hise as this would be much more reliable with noise (but not random because it obviously needs to be the same fro dry/wet buffers for a correlation to exist)

                    Every time I tested the latency check in HISE (which is actually how I measured it before the feature was implemented), it failed as soon as a non-minimum-phase EQ was in the chain.

                    You can reproduce this in any DAW: send both an impulse and a sine through the plugin, record the outputs, and compare the measured delay. You'll see the difference.

                    Also keep in mind that with non-minimum-phase EQs, the apparent delay depends on frequency. There's no single latency value that applies to every signal. But noise is the closest we can get (in fact it would be even better with a weighted noise but that's going too far)

                    Hise made me an F5 dude, any other app just suffers...

                    1 Reply Last reply Reply Quote 2
                    • ustkU
                      ustk @David Healey
                      last edited by

                      @David-Healey Keep in mind that algorithm delay changes with samplerate (so if you have adjustable oversampling nodes or fix buffer nodes it multiplies the number of different latencies by the same factor). All those cases needs to be computed and stored in the script.

                      Hise made me an F5 dude, any other app just suffers...

                      1 Reply Last reply Reply Quote 1
                      • ustkU
                        ustk
                        last edited by

                        With an error of 3 samples at 48khz and you are already comb filtering at 16khz. Using an impulse to measure some signal chain can easily throw a result that is off by 20-30 samples, so as low as 1-2khz... that is more than a muffled sound 😸

                        Hise made me an F5 dude, any other app just suffers...

                        LindonL dannytaurusD 2 Replies Last reply Reply Quote 1
                        • LindonL
                          Lindon @ustk
                          last edited by

                          hmm, bummer I think...

                          I have a very big multiFX (over 50 different FX) product that can have up to any of the 50 in 6 different slots in a chain, I need to assess the latency for each FX - yes there's a fair few EQ's in there too...

                          I was hoping(ha ha ha) for a simple(ish)way to assess the latency -

                          HISE Development for hire.
                          www.channelrobot.com

                          1 Reply Last reply Reply Quote 0
                          • dannytaurusD
                            dannytaurus @ustk
                            last edited by

                            @ustk said in Check Latency broken on latest develop build?:

                            With an error of 3 samples at 48khz and you are already comb filtering at 16khz.

                            Wow, I never thought of it like that! 😮

                            Meat Beats: https://meatbeats.com
                            Klippr Video: https://klippr.video

                            1 Reply Last reply Reply Quote 0
                            • dannytaurusD
                              dannytaurus @David Healey
                              last edited by

                              @David-Healey I defer to @ustk's vastly more detailed knowledge here 😂

                              Meat Beats: https://meatbeats.com
                              Klippr Video: https://klippr.video

                              ustkU 1 Reply Last reply Reply Quote 0
                              • ustkU
                                ustk @dannytaurus
                                last edited by ustk

                                @dannytaurus That being said, it only matters in a parallel track mixing context (but nowadays it's still very frequent, we parallel this and that everywhere...), but you don't mind such a small latency for instruments...

                                Hise made me an F5 dude, any other app just suffers...

                                1 Reply Last reply Reply Quote 1
                                • First post
                                  Last post

                                17

                                Online

                                2.4k

                                Users

                                13.8k

                                Topics

                                120.4k

                                Posts