HISE Logo Forum
    • Categories
    • Register
    • Login

    Dynamic Oversampling up to 128x or more

    Scheduled Pinned Locked Moved General Questions
    40 Posts 14 Posters 2.6k 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.
    • F
      fastermaster
      last edited by

      thanks guys, I'm working on a distortion emulation, so avoiding aliasing is a must, I want to offer the option of 4x 8x and 16x. I'll just need to figure what's the best filter to use in this case.

      Did someone experimented with the filters? The reaper And aliasing seem to be quite good, I wonder what they're using.

      1 Reply Last reply Reply Quote 0
      • pluginboiP
        pluginboi
        last edited by

        I've been playing around with the filterHalfBandFIREquiripple in my hise projects and its really nice. You have to compensate for a but more latency compared to the current oversampling filter but this one is linear phase.

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

          @pluginboi That is good to know
          My knowledge of the topic stops there. But from what I know about filters, linear phase isn't better than conventional filters, they are just different tools. Since they cause pre-ringing as a result of phase compensation, they are generally bad on fast transient material because of the smoothing they create.

          I think having a filter selector in the oversample node would be great for selecting the one that better suits the needs.

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

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

            @ustk said in Dynamic Oversampling up to 128x or more:

            I think having a filter selector in the oversample node would be great for selecting the one that better suits the needs.

            @Christoph-Hart Do you think adding a selectable oversampling type could be implemented? I'm getting a lot of requests for this and figured I'd hit you before I attempt to hack something together.

            Dan Korneff - Producer / Mixer / Audio Nerd

            pluginboiP 1 Reply Last reply Reply Quote 0
            • clevername27C
              clevername27 @orange
              last edited by clevername27

              @orange How is oversampling useful in ScriptNode if other parts of your plugin do not?

              LindonL orangeO 2 Replies Last reply Reply Quote 0
              • LindonL
                Lindon @clevername27
                last edited by

                @clevername27 said in Dynamic Oversampling up to 128x or more:

                @orange How is oversampling useful in ScriptNode if other parts of your plugin do not?

                removes aliasing and some intermodulations...

                HISE Development for hire.
                www.channelrobot.com

                1 Reply Last reply Reply Quote 1
                • pluginboiP
                  pluginboi @Dan Korneff
                  last edited by

                  @Dan-Korneff if you want I have a source code tweak I can send you for a linear phase oversample mode in script node. I just don't have it built to be switchable between linear and minimum

                  Christoph HartC 1 Reply Last reply Reply Quote 1
                  • Christoph HartC
                    Christoph Hart @pluginboi
                    last edited by

                    Is there a use case for making this dynamically switchable? Otherwise I could make it a preprocessor that you can set in your extra definitions.

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

                      @Christoph-Hart For general applications, users are looking for linear phase filters, and for transient material, minimum phase is desirable. Having it be selectable would be super awesome if you're able.

                      Dan Korneff - Producer / Mixer / Audio Nerd

                      1 Reply Last reply Reply Quote 1
                      • orangeO
                        orange @clevername27
                        last edited by orange

                        @clevername27 If you use saturation or distortion (in some cases for the convolution too) in the plugin, you have to do oversampling in these parts, otherwise there will be Aliasing.

                        Apart from this, if there is no saturation or harmonic distortion in the other modules you use, you do not have to oversample; in fact, you should not do it so that you can ensure optimum CPU usage.

                        develop Branch / XCode 13.1
                        macOS Monterey / M1 Max

                        clevername27C 1 Reply Last reply Reply Quote 1
                        • clevername27C
                          clevername27 @orange
                          last edited by

                          @orange Thanks - makes sense.

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

                            @Christoph-Hart Just a friendly little bump to see if this is on your radar.

                            Dan Korneff - Producer / Mixer / Audio Nerd

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

                              @Christoph-Hart 200w.gif

                              Dan Korneff - Producer / Mixer / Audio Nerd

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

                                @Dan-Korneff What happens if you wrap a 16x OS node into another 16x node?

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

                                  @aaronventure Alright you get an error.

                                  But using Engine.setMinimumSampleRate(384000) along with the 16x oversampling node seems to work, though. That should give you 128x in non polyphonic scriptnode.

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

                                    @aaronventure I was asking for switchable linear/minimum phase in the oversampling node.
                                    I'll hack away at it this week.

                                    Dan Korneff - Producer / Mixer / Audio Nerd

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

                                      @Christoph-Hart Could you give me a hint on what you would do to achieve this?

                                      switchable linear/minimum phase in the oversampling node

                                      I don't want to fill you up with too many requests and would at least like to start with your suggested approach.

                                      Dan Korneff - Producer / Mixer / Audio Nerd

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

                                        @Dan-Korneff you could probably do this in Faust using si.rev

                                        see https://cycling74.com/forums/phase-linear-eq-for-maxmsp

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

                                          @aaronventure That sounds little more complicated than an adjustment to the existing node. Linear and minimum phase algorithms are already in the source code. I just need a button to switch between the two.

                                          Dan Korneff - Producer / Mixer / Audio Nerd

                                          1 Reply Last reply Reply Quote 1
                                          • U
                                            udalilprofile @orange
                                            last edited by

                                            This post is deleted!
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            22

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            103.1k

                                            Posts