HISE Logo Forum
    • Categories
    • Register
    • Login

    Timestretching/Pitchshifting

    Scheduled Pinned Locked Moved General Questions
    125 Posts 14 Posters 11.5k 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.
    • d.healeyD
      d.healey @BWSounds
      last edited by

      @BWSounds

      This would be the scripting for it

      const var Sampler1 = Synth.getSampler("Sampler1");
      
      inline function onKnob1Control(component, value)
      {
      	Sampler1.setAttribute(Sampler1.Timestretching, value);
      };
      
      Content.getComponent("Knob1").setControlCallback(onKnob1Control);
      

      But it returns an error that implies the attribute hasn't been setup in the HISE source. I'll take a look and see if it's a simple fix I can do.

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

      B 1 Reply Last reply Reply Quote 0
      • B
        BWSounds @d.healey
        last edited by BWSounds

        @d-healey
        Ahh ok makes sense now, thank you sir!

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

          Oh actually I think you're meant to do it through the JSON thingy - https://forum.hise.audio/topic/7303/timestretching-pitchshifting/77?_=1692482537361

          But then I guess it shouldn't show up as an option in the parameter ID dropdown

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

          B 1 Reply Last reply Reply Quote 0
          • B
            BWSounds @d.healey
            last edited by

            @d-healey
            I can script the ratio but the timestretch mode still does nothing.

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

              You have to use the names of the modes not a number.

              I took this from the docs - https://docs.hise.audio/hise-modules/sound-generators/list/streamingsampler.html#timestretching

              HiseSnippet 1325.3ocyX8+aSbCE2WacGIvPCDSZ+xjNEseHHwpRfBLooIBMsEUAkF0qflDBgbuyI0q9rOY6qqYS7+z9SX+Iw+AaO66tbNgnRZFvH+PUdO+9xG+7yedNcfRFS0ZoBEz3nwYTTv0vQiElS5eBgIP6sMJ3awFVJUaTTS7I6KSnGABnsFmQzZZBJHX0mXMMnwZH2m28nsHbhHlVqBgdojESeFKkYp0Nn2SYb9tDHhPBp0uYu8hkh9RtLGf0p3NnLR7ojQzmSrlsBFEr9NILiTEYHFpFrYKYx3nSj+tnv9Wxzri4TqPWTDDnB0n9mv3ICp1xZDJ.Ont.rZQA3V38YIrI5qKDeiagvZO7qAAqbQPp6k.RAdPZsBHcCbTrhkYpWwhmqh2SXnpgDnT6CkBaQqzdEbeIXgvrQJ4T5tJPXhGsePmN2ID9ys+4lMgxs1DdFQEFQRy3TU2veIz0FrwHpoTW6VUK1x5CSvYBZ3vbQrgIEgRwSExi6ZynRxaGKSyjBH22AhKOmd6l+YyFbYLgGJO92rguLX1LbTcC1AY1noaConz7TnkSCN7pVayzDnFlz5NgsbMTPwVYrR1.7RhhQDEhTH4.9iAaeMDHHiaX6bgn3h1qbPBVoYiIvPOWX.dBH4sfkUkR.t8q1asa41ysts06xcdeBmeLzu1d5BBDEuR0ykF5Ah1thRy21Lb1kFNbtqUFK6gw7V1he0E4XaQd5wTk+Qh0PnOa5l20Wrl23hRhmgRwdBl4fLZo7tRdhsoz982uUGUVSsM8kHDL03Z4udYKeDmkPUHFDjuB6JnHG38IWPuXusIFRUXfHBYIipLL6lIXa5YPuRwMoF3so5SMxLmskGi.o2GLomCbEAWM.gFa+xtPR0lw1Rx5NCPorjDNcfTyrkbe1PsglEw9CvTLt6Fc.KE9fOkbds3U5oyGNjctikaHimBsirr8RAxOTvMwuPSCSnCI4bSn9THNvUvSoIGIc1idehCfxRljyIlo4wrD1kKXAqO4gkfP.ahw9agKA4VmKjbaQg3MvCXESalCFWYNXDN6+TfwxQBeMdmgCowlZ.tFd2ecY4+W7z+8Eo+l3HfUh.MNiJoqbXnIth75iwz3rEdZ7.EkKIIE8zUl8281B5bopo09W8bo5woxbwT4pD4GRynDikZ1+NvgG9DkLOaVud2ibMEGo.1UnT3uvABJTqM96w9JoVOD1NtXo8WZPtZjsVUq4P5YTkdZcOOOENuEBJWauxGX4Yz1QNFV79D3d449V6xRmiHtyX3xnSt6Lx2cF46Mi7lyHe+YjevLxOrVtnftOIy1YXehzLT5WYwnzg.Lf.aYOK2hMZRvKzLM8gmoSp4Nb48frHpw.GYZOamyKeV+S0iwVawtL9AlV8kO85TucrQEFiX1SucDmAWaAMVLdSXLnaLRk1ooP1WJjYmHEr3ouj.M8iFQU9XetanGaLvczZM2p2gTNkn8tk+C8dF77QhZ569WpZwk+czy8756vEvMzx6E9e4b6yZa1ENhb0EZD4Gc7t7iK+rV5td4fyP2ue3K7y4qgcT8g1Iy+eA0Ck4V56podXXzXD7bfXp+.xUrCcKj6Xks.JhJRbB+C7obwtUSSsK1sZQTbUnf8V42cOpOXUpv8q9ru7iCyo49szdOW9yBJSIwJ4ahK9wJVrdEmF.kB2+bhF38sxgS9UJXbG2a9SXuIN1dQ3G6hPy2m6tD9bukvmMWBet+R3yCVBed3R3yOcg9XelviyMxzBRRPwfcJZrB1YRi0pn+E7KkaDE
              

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

              B 1 Reply Last reply Reply Quote 1
              • B
                BWSounds @d.healey
                last edited by

                @d-healey
                got it, I have something like that earlier but I had numbers instead of the actual names... I appreciate your help

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

                  @BWSounds Yeah I tried numbers first as well :)

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

                  1 Reply Last reply Reply Quote 1
                  • L
                    Lumi283 @d.healey
                    last edited by

                    @d-healey I tried, but it's not working... I tried with Tonality = 0.01, it changes the pitch but impossible to define which one.

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

                      @Lumi283 I just looked at the docs and I don't think the tonality parameter does what you want - https://docs.hise.audio/hise-modules/sound-generators/list/streamingsampler.html#timestretching

                      Looks like you can just use any standard pitch modulator as long as timestretching is enabled for the sampler

                      If the timestretching is enabled, any pitch modulation (using the modulation or root note detune) will not change the pitch using resampling but with the pitch transposition of the timestretch algorithm which retains the duration of the sample.

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

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

                        @Christoph-Hart Did you say there was a way to get a stretch ratio below 50%?

                        Oh never mind, I can just set it in the function and it works.

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

                        CasmatC 1 Reply Last reply Reply Quote 0
                        • CasmatC
                          Casmat @d.healey
                          last edited by

                          @d-healey Can't get timestretch working properly on my end, I have three samplers and setting 2x timevariant timestretch to all three causes a lot of audio issues and clips, keeping only one sampler activated works better, but theres still audio issues, doesnt seem to be really cpu since my task manager cpu chart shows some resources left... the video shows the issues:

                          timestretchissue.mp4

                          In the vid, the first part is showing the timestretch enabled on all three samplers with half and double speed stretches. Then I turn off the first two samplers so that only one is on half speed stretching and it still makes some audio issues. Any ideas?

                          i make music

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

                            @Casmat I can't assess what's going on behind the scenes in that video. Make a test project, add 3 samples, load some samples, play around with the settings in the sampler module UI. See what result you get. If it works without issue then the problem is caused by something else in your main project.

                            Are you using IPP?

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

                            CasmatC 1 Reply Last reply Reply Quote 0
                            • CasmatC
                              Casmat @d.healey
                              last edited by

                              @d-healey yup, test project does the same, ipp is enabled and just recompiled today..

                              i make music

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

                                @Casmat Send me the test project (with some of the samples you're using if possible)

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

                                CasmatC 1 Reply Last reply Reply Quote 0
                                • CasmatC
                                  Casmat @d.healey
                                  last edited by

                                  @d-healey https://we.tl/t-bDHJ1vv0Jg Try pressing down chords of 3/4/5

                                  i make music

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

                                    @Casmat you can‘t play 10 voices of timestretched sounds. One voice is about 10-15% depending on your system.

                                    CasmatC d.healeyD 2 Replies Last reply Reply Quote 1
                                    • d.healeyD
                                      d.healey
                                      last edited by

                                      I'm not noticing an issue

                                      https://filedn.eu/larUQgXOwVjQdvpPaD96lHH/2023-08-28 12-09-59.mkv

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

                                      1 Reply Last reply Reply Quote 0
                                      • CasmatC
                                        Casmat @Christoph Hart
                                        last edited by

                                        @Christoph-Hart @d-healey so i guess its time to get a new computer:grinning_face_with_sweat:

                                        i make music

                                        1 Reply Last reply Reply Quote 0
                                        • d.healeyD
                                          d.healey @Christoph Hart
                                          last edited by

                                          @Christoph-Hart Do you think there is anything that can be done to improve the CPU usage, especially when in low latency mode? At the moment I think the applications for the time stretching in virtual instruments are quite limited because of these two factors.

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

                                          Christoph HartC 1 Reply Last reply Reply Quote 0
                                          • Christoph HartC
                                            Christoph Hart @d.healey
                                            last edited by

                                            @d-healey no it‘s a pretty complex algorithm. For me it‘s about as performant as the complex pro algorithm in Ableton.

                                            You might add a HQ button that toggles the low latency that people can use when exporting to bring down the spikes a bit.

                                            d.healeyD 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            11

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.4k

                                            Posts