HISE Logo Forum
    • Categories
    • Register
    • Login

    HISE FX and delay compensation

    Scheduled Pinned Locked Moved General Questions
    51 Posts 9 Posters 3.0k 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.
    • Dan KorneffD
      Dan Korneff @ustk
      last edited by

      @ustk said in HISE FX and delay compensation:

      report the biggest latency, and then compensate IN the plugin

      Not a bad idea!

      Dan Korneff - Producer / Mixer / Audio Nerd

      1 Reply Last reply Reply Quote 0
      • lalalandsynthL
        lalalandsynth
        last edited by

        Just to be clear , does the plugin not normally compensate for latency unless I do something specific to make it do that ?

        https://lalalandaudio.com/

        https://lalalandsynth.com/

        https://www.facebook.com/lalalandsynth

        https://www.facebook.com/lalalandsynth

        Dan KorneffD ustkU 2 Replies Last reply Reply Quote 0
        • Dan KorneffD
          Dan Korneff @lalalandsynth
          last edited by

          @lalalandsynth said in HISE FX and delay compensation:

          Just to be clear , does the plugin not normally compensate for latency unless I do something specific to make it do that ?

          It does not automatically compensate for latency.

          Dan Korneff - Producer / Mixer / Audio Nerd

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

            @lalalandsynth I don't think any plugin can compensate its own latency, it's the DAW's job. Plugins can only tell the DAW how much it needs

            Can't help pressing F5 in the forum...

            lalalandsynthL 1 Reply Last reply Reply Quote 0
            • lalalandsynthL
              lalalandsynth @ustk
              last edited by

              @ustk yes, that is what i meant does it report the latency without doing anything specific to make that happen? :)

              https://lalalandaudio.com/

              https://lalalandsynth.com/

              https://www.facebook.com/lalalandsynth

              https://www.facebook.com/lalalandsynth

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

                @lalalandsynth Yes the report is automatic. you can also set your own with Engine.setLatencySamples(int latency)

                Can't help pressing F5 in the forum...

                Dan KorneffD 1 Reply Last reply Reply Quote 1
                • Dan KorneffD
                  Dan Korneff @ustk
                  last edited by

                  @ustk said in HISE FX and delay compensation:

                  the report is automatic

                  If I don't set the compensation, my plugins always report a latency of 0. I don't think that's correct, right?

                  Dan Korneff - Producer / Mixer / Audio Nerd

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

                    @dustbro I might have wrong… I'll test that tomorrow

                    Can't help pressing F5 in the forum...

                    1 Reply Last reply Reply Quote 0
                    • UD AUDIOU
                      UD AUDIO
                      last edited by UD AUDIO

                      This post is deleted!
                      1 Reply Last reply Reply Quote 0
                      • Dan KorneffD
                        Dan Korneff
                        last edited by Dan Korneff

                        I could use some suggestions on how to improve my approach to handling latency in my projects. I've currently been manually measuring latency and compensating for it based on which DSP nodes and oversampling are active. While this works well for static latency, I’m running into a challenge when I need to dynamically update the latency.
                        Right now, I’m using:
                        prepareToPlay() to get the initial latency with Engine.getLatencySamples()
                        processBlock() to set latency using setLatencySamples()
                        This works well for static latencies, but now that I’m introducing multiple oversampling filters, I need to adjust latency dynamically, depending on whether the user selects Linear-Phase or Minimum-Phase filtering. Since Linear-Phase filtering can add up to ~120 samples, I don’t want to set a fixed latency that high, as it would negatively impact real-time usage.
                        I need a way to recalculate latency when the processing mode changes. For example, when switching between oversampling filters. The goal is to update latency based on active DSP modules.
                        @Christoph-Hart or anyone else have suggestions on how to dynamically recalculate the latency?

                        Dan Korneff - Producer / Mixer / Audio Nerd

                        A 1 Reply Last reply Reply Quote 0
                        • A
                          aaronventure @Dan Korneff
                          last edited by

                          @Dan-Korneff can you measure the latency of your modules, put it in consts and make the call to set the new latency to report whenever the user changes any of the controls that affect it?

                          Christoph HartC Dan KorneffD 2 Replies Last reply Reply Quote 0
                          • Christoph HartC
                            Christoph Hart @aaronventure
                            last edited by

                            I would not trust every host to support dynamic latency so I‘d definitely check this thoroughly.

                            1 Reply Last reply Reply Quote 1
                            • Dan KorneffD
                              Dan Korneff @aaronventure
                              last edited by

                              @aaronventure said in HISE FX and delay compensation:

                              @Dan-Korneff can you measure the latency of your modules, put it in consts and make the call to set the new latency to report whenever the user changes any of the controls that affect it?

                              That's definitely plan B. I guess I need to use a global variable to get this data into scriptFX?

                              Dan Korneff - Producer / Mixer / Audio Nerd

                              A 1 Reply Last reply Reply Quote 0
                              • A
                                aaronventure @Dan Korneff
                                last edited by

                                @Dan-Korneff why do you need to get it into script fx in the first place?

                                Dan KorneffD 1 Reply Last reply Reply Quote 0
                                • Dan KorneffD
                                  Dan Korneff @aaronventure
                                  last edited by

                                  @aaronventure scriptFX is the only place you can access the processBlock to call Engine.setLatencySamples()

                                  Dan Korneff - Producer / Mixer / Audio Nerd

                                  Christoph HartC A 2 Replies Last reply Reply Quote 0
                                  • Christoph HartC
                                    Christoph Hart @Dan Korneff
                                    last edited by Christoph Hart

                                    @Dan-Korneff Why do you need to access processBlock?

                                    If you need the sample rate / block size for the calculation, attach a broadcaster to the processing specs.

                                    Dan KorneffD 1 Reply Last reply Reply Quote 0
                                    • A
                                      aaronventure @Dan Korneff
                                      last edited by

                                      @Dan-Korneff I'm calling it from a control callback where sample offset is adjusted and it works just fine (in Reaper).

                                      Dan KorneffD 1 Reply Last reply Reply Quote 0
                                      • Dan KorneffD
                                        Dan Korneff @Christoph Hart
                                        last edited by

                                        @Christoph-Hart I was just following your Latency Test repo

                                        Screenshot 2025-01-31 082335.png

                                        Dan Korneff - Producer / Mixer / Audio Nerd

                                        1 Reply Last reply Reply Quote 0
                                        • Dan KorneffD
                                          Dan Korneff @aaronventure
                                          last edited by

                                          @aaronventure Damn... Just tested and it works like you said. Happy days!

                                          Dan Korneff - Producer / Mixer / Audio Nerd

                                          Christoph HartC 1 Reply Last reply Reply Quote 0
                                          • Christoph HartC
                                            Christoph Hart @Dan Korneff
                                            last edited by

                                            @Dan-Korneff ah the example might precede the broadcaster addition, so that‘s kind of outdated as a best practice but if it works…

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

                                            35

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            103.0k

                                            Posts