HISE Logo Forum
    • Categories
    • Register
    • Login

    Scriptnode "oversample" node starting at 4x crashes in PC

    Scheduled Pinned Locked Moved Bug Reports
    51 Posts 10 Posters 3.9k 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.
    • lalalandsynthL
      lalalandsynth @Christoph Hart
      last edited by lalalandsynth

      @Christoph-Hart I am trying to make this work , do I understand correctly that I should create a MyChain in one of the Oversamplers and it would be moved around according to the combobox ?

      If so , its not working for me, the Mychain appears in unused nodes.

      HiseSnippet 1513.3ocyXs0aaaCElJIpsVqdXCXOr8FmeYNqooVYYYAnqas4VQ1ZRMpS6JPWQAsDiMQjHEjnisWQ+Ou+AamCIkkbs2PP.5VMhSDO7b46bkToatJhWTnxIdMNaZFm3ca+dSk5g6OjIjjiOf38o9mvJz7bpkzdSyXEE7Xhm2pOFI30XMh4ye9y6wRXxHdEIB4EJQD+IhTgthZ2G9qhjjiXw7yDo03d6GdbjRtuJQMBvyp9cHYrnKXC3mxP1Vwm3ciCiEZUdOMSyK.d1SEOs2P0Xok+WHJD8S33hPROPQVxj8GJRh6V5qEDh2Zcq77Usd9W3ehHVLidUD3yLaPqjndLvak4gzZyAov5PpSMHcjJIFU.xxhviTCcqYQG.BU7nDlddjgo.2FB07YmikZtrPnmVOE8+Jb+b+tBczvki2UVBdgD0GZ75R9M8O77y4Q5Jvtl+Qu75loCWJTVZgn2hwt.+dQ4hLMXeDH21sjdzKCmCPVxjUZbCe58tG8rgb5.kJlpR9FZJafHhVjwSRZF.cUEZ5krbZbQF8AzCkCDR9lQ4bvSNnH6TtdrJ+h1sfsas98aFzLvnOQAMhkjPg+JRyT4ZlTSKTT8PlF9EmFoR6q5qlPGKP6.BctHmSEZqf8g12lAfR2rfqORkOlkGuuRpyUIEmo5xxg9ZXxRQ6yYIE7YF9wbq1yUJMUph4aV2EPpmBDA+.07.t1f6PGvqXTcInZVZVB7Gf4W85R8uuwuAGIkWiIikJniJDxAzeomMB1L3bUdaAH9V2mJn+3Cng6fO7s.g0aF71lAT3ScKsY1nhgsQjYCusaAHRCEU77Mq3qE8NfVtCs0jVaXe3kzm1q05nO7NGLOUM1FoGyoCYWxwXRJUHoL3m7b1zMvchfUBHHhdDpeCWVXqPlqisJDCp+QwwVMpUlncgXfjkPivF.magoMHKwk51kQ8MncPL5zQ+QZZeSEoyryDqrNssNeDelWUUWgELz97Err0iAFRAfGC9oZjzfSa5wl+.WFDkImhEffmMwrooZTHMCVLHaHGpEgPznBfYijYInIfFxR2rpZwZcaM0hYNytPpp0ISMSHbEayof9fzX0MDt1jECE5PuwdpIsaU9THnfvN3WT5n9XbpcKH4kVfpdqI+tba36tv2vclLyDBYBfA54ijQFWCOhzoPWyTaLLnjfg2.fRBDvqmnKampUIfQkwPyrkmDEzrRUPK4yKv1p5kLuxnu6F9ZWRuYPCw4sMDo+DTK.qAK0vYJFjqvDmc3fKeBYAGGFJ0JpblzUS0.JQZ.+3J8mqnFmBMW+LXIKqUkePfA5ekvLCvrPNG1+epKnwh0oJ5W+fxXfod0NMwjjbg48cizZuXFX86OK8jkyy.2Clukvl11ZzmANxFz9Pf9hdh+fudvaCZD7t.ZMgLGBrGxQaHLIk7jhEYCMrMiKGk1mmWltKYbgKHcyq1YTJ4wRg9oYbGay4CkjgqiUCkUTmApJRK4H2moFogIqmvz4hIDO+SGk1CtmWDeem2Bz7VgfhZV2AWi2.nGWFaV7WvG2lg3ZO2lgkaRbce3opNHAvQ6tOh8zxxDGQ.Gg9I9yxiDSfrTsD2IhlCncOCOgmF66CSHPpvDGh2sNhEAg6ocY5g38aduIFlyuuAJQHAb322UeBDGmir2pnZKuAr0+AHlhNEd+W2y+lHFMmu2F.G1J3mA0Y3soOon98o8VExAY7bsfi4.T4lK+5.Ohta4GtCd1CYNO4q7W1oVvToOvtg8lfKG1jpKL3H5bga5u6hdvWtTOX2ORcfsupNv1ej5.acUcfs93wAlawyO9.llUN5.TcM487NfeI7dr1qm2v+.dwEZUlgW2AuPa9UbPCN7yK.r3zxGRYFZXWq4x.36bu0jfsmDr6j.rm6+jgmornb0ahbWOGBD2xPAlfJMu9cC+Sv0zpQk9c1rCIEd032DEguuzcCIjkKyVWCY9tqgLaeMj46uFxry0Ple3ZHyt+qxf+WIdzHsJ09tz.gtGZJh87NTxfi4MukH4uA.DUBWA
      

      https://lalalandaudio.com/

      https://lalalandsynth.com/

      https://www.facebook.com/lalalandsynth

      https://www.facebook.com/lalalandsynth

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

        @dustbro Did you get this switching working ?

        https://lalalandaudio.com/

        https://lalalandsynth.com/

        https://www.facebook.com/lalalandsynth

        https://www.facebook.com/lalalandsynth

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

          @lalalandsynth only with the example posted. I'm just starting to get my feet wet with scriptnode.

          Dan Korneff - Producer / Mixer / Audio Nerd

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

            @dustbro Yes, I was trying the example and could not get it to work , did yours look like my snippet ?

            https://lalalandaudio.com/

            https://lalalandsynth.com/

            https://www.facebook.com/lalalandsynth

            https://www.facebook.com/lalalandsynth

            1 Reply Last reply Reply Quote 0
            • T
              tomekslesicki
              last edited by

              @Christoph-Hart +100 for an oversample button on the built-in convolution reverb without having to go to scriptnode!

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

                @tomekslesicki or better yet, on the main container so all modules are affected.

                Dan Korneff - Producer / Mixer / Audio Nerd

                T 1 Reply Last reply Reply Quote 1
                • T
                  tomekslesicki @Dan Korneff
                  last edited by

                  @dustbro Well, now that would be something!

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

                    I like the idea of a global oversampler because it might address other issues as well, however it should make sure that it doesn't use absurdely high samplerates. Running an entire plugin with 16x oversampling in 96k would be total overkill.

                    What if we add a "HQ Mode", that just ensures that the internal samplerate is above a certain value? If you run HISE with 44,1k or 48k, it'll use a 2x oversampler, but if you run it in 88,2kHz or 96kHz it won't do anything?

                    Then all you need would be an API call like

                    Engine.setLowestSamplerate(44100.0 * 2); // or whatever
                    

                    and it figures out the oversampling factor required to ensure this minimum samplerate.

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

                      If you're feeling out the room, I'd vote for something closer to the "overkill" method ☠

                      Have you seen this video:
                      https://youtu.be/-jCwIsT0X8M?list=WL

                      Even with an increased sample rate, there are instances (such as multiple levels of saturation) that would still require oversampling (sometimes up to 4X) to reduce aliasing. And at lower sample rates, this would put you into the 8X oversampling realm.

                      We are at your mercy with the implementation, and anything is definitely better than nothing. If you're leaning towards a single "HQ" style, I'd only request that it functions at higher sample rates as well.

                      Dan Korneff - Producer / Mixer / Audio Nerd

                      1 Reply Last reply Reply Quote 0
                      • T
                        tomekslesicki
                        last edited by

                        I think this idea is very nice, @Christoph-Hart , it would make the system more adaptable I think and would allow the users to fit the performance to the specs of their rig, too.

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

                          Alright, good things take their time, but Engine.setMinimumSampleRate() has just arrived :)

                          Dan KorneffD 2 Replies Last reply Reply Quote 3
                          • Dan KorneffD
                            Dan Korneff
                            last edited by

                            giphy.gif

                            Dan Korneff - Producer / Mixer / Audio Nerd

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

                              @Christoph-Hart holy crap! YA YAYAYAYYA!!!

                              Dan Korneff - Producer / Mixer / Audio Nerd

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

                                @Christoph-Hart said in Scriptnode "oversample" node starting at 4x crashes in PC:

                                Engine.setMinimumSampleRate()

                                Any tips on implementation yet?

                                Dan Korneff - Producer / Mixer / Audio Nerd

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

                                  You could add a HQ button somewhere and do

                                  if(value)
                                      Engine.setMinimumSampleRate(100000);
                                  else
                                      Engine.setMinimumSampleRate(40000);
                                  

                                  in its callback. 100.000 will ensure that it's always 4x oversampled for lower samplerates and 40000 that it's never oversampled in non-HQ mode (using 48000 would cause oversampling in 44,1kHz).

                                  It will fade out all voices and then reinitiliase the processing chain with the new samplerate .

                                  NatanN 1 Reply Last reply Reply Quote 3
                                  • T
                                    tomekslesicki
                                    last edited by

                                    @Christoph-Hart said in Scriptnode "oversample" node starting at 4x crashes in PC:

                                    if(value)
                                    Engine.setMinimumSampleRate(100000);
                                    else
                                    Engine.setMinimumSampleRate(40000);

                                    This is awesome! Is it just me or is the higher sample rate causing a volume boost? I think it was raised somewhere earlier on the forum.

                                    Dan KorneffD 1 Reply Last reply Reply Quote 0
                                    • d.healeyD
                                      d.healey
                                      last edited by

                                      What is oversampling?

                                      Libre Wave - Freedom respecting instruments and effects
                                      My Patreon - HISE tutorials
                                      YouTube Channel - Public HISE tutorials

                                      orangeO 1 Reply Last reply Reply Quote 0
                                      • orangeO
                                        orange @d.healey
                                        last edited by

                                        @d-healey said in Scriptnode "oversample" node starting at 4x crashes in PC:

                                        What is oversampling?

                                        You can think oversampling as resolution of Total Harmonic Distortion. You can prevent aliasing problem with higher oversampling rates. 7 - 8 years earlier nobody was giving a f..k to the aliasing, even didn't aware of the aliasing. But nowadays everybody is a gearslut, and everybody wants higher oversampling rates, even they don't hear any difference between x1 and x16 oversampling rates :)

                                        For the aliasing; you can watch this video: https://www.youtube.com/watch?v=Ic4bVbXfdW4

                                        develop Branch / XCode 13.1
                                        macOS Monterey / M1 Max

                                        d.healeyD 1 Reply Last reply Reply Quote 1
                                        • d.healeyD
                                          d.healey @orange
                                          last edited by

                                          @orange So I only need to use this in my plugin if I'm making an effect plugin that will do some heavy processessing of the incoming audio?

                                          Libre Wave - Freedom respecting instruments and effects
                                          My Patreon - HISE tutorials
                                          YouTube Channel - Public HISE tutorials

                                          Dan KorneffD ustkU 2 Replies Last reply Reply Quote 1
                                          • Dan KorneffD
                                            Dan Korneff @d.healey
                                            last edited by

                                            @d-healey I believe this will also affect sounds generated within HISE.

                                            Dan Korneff - Producer / Mixer / Audio Nerd

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

                                            15

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.8k

                                            Posts