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.
    • LindonL
      Lindon @Christoph Hart
      last edited by

      @Christoph-Hart said in Timestretching/Pitchshifting:

      no, the idea is that the tempo_sync mode will sync each sample to the BPM regardless of its source BPM, but this mode isn't working correctly yet. I'm totally undecided how to address the issue of detecting the bar length and getting the right multiplier so if anyone has ideas how to do this, let me know.

      Yep - you could do it like Kontakt(yew did I just say that?) - have a scripted call that lets the programmer/developer tell the process exactly how long in bars/beats each loop is and what tempo it is

      HISE Development for hire.
      www.channelrobot.com

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

        @Lindon Why not just make a new sample property called NumQuarters that will be used to calculate the original BPM of the sample?

        This will override the NumQuarters that you can set with the timestretch properties, which will override the default fallback behaviour of guessing how fast it is using the current tempo.

        LindonL 1 Reply Last reply Reply Quote 1
        • LindonL
          Lindon @Christoph Hart
          last edited by Lindon

          @Christoph-Hart said in Timestretching/Pitchshifting:

          @Lindon Why not just make a new sample property called NumQuarters that will be used to calculate the original BPM of the sample?

          This will override the NumQuarters that you can set with the timestretch properties, which will override the default fallback behaviour of guessing how fast it is using the current tempo.

          yep that works too...the only (slight) wrinkle is dealing with odd time signatures.. 6/8 for example - but even then all the developer need know is the number of bars and they can * 4 to get NumQuarters

          HISE Development for hire.
          www.channelrobot.com

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

            @Lindon said in Timestretching/Pitchshifting:

            6/8

            => 3 Quarters.

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

              Alright, I've implemented the NumQuarters property. If this is non-zero, it will use the length of the sample with this information to calculate the source BPM, which should let you use different BPM values for every sample.

              I've also fixed something in the engine and now it should play multiple voices with the correct time ratio in sync mode.

              d.healeyD LindonL 2 Replies Last reply Reply Quote 3
              • d.healeyD
                d.healey @Christoph Hart
                last edited by

                @Christoph-Hart Nice!

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

                1 Reply Last reply Reply Quote 0
                • modularsamplesM
                  modularsamples
                  last edited by

                  In sampler it seems monophonic samples aren't summed when the stretch modes are enabled, everything comes out the left speaker.

                  1 Reply Last reply Reply Quote 0
                  • B
                    BWSounds @Christoph Hart
                    last edited by

                    @Christoph-Hart said in Timestretching/Pitchshifting:

                    I'm thinking about adding this to the AudioLooper too (it's pretty obvious that this might be useful there). Is anybody using the tempo synced mode in a real project? It previously changed the pitch to match the tempo but I guess that is so totally useless that I can replace the functionality and enable timestretching by default when the tempo syncing is activated.

                    is this a thing yet?
                    For some reason I cant build from the "feature_timestretch" commits...i'll figure out why on my own...
                    just asking

                    1 Reply Last reply Reply Quote 0
                    • LindonL
                      Lindon @Christoph Hart
                      last edited by

                      @Christoph-Hart said in Timestretching/Pitchshifting:

                      Alright, I've implemented the NumQuarters property. If this is non-zero, it will use the length of the sample with this information to calculate the source BPM, which should let you use different BPM values for every sample.

                      I've also fixed something in the engine and now it should play multiple voices with the correct time ratio in sync mode.

                      Nice, but I still worry about doing this calc for those 13/7 time signatures, and you know there will be some...

                      HISE Development for hire.
                      www.channelrobot.com

                      ulrikU 1 Reply Last reply Reply Quote 0
                      • ulrikU
                        ulrik @Lindon
                        last edited by

                        @Lindon said in Timestretching/Pitchshifting:

                        Nice, but I still worry about doing this calc for those 13/7 time signatures, and you know there will be some...

                        Hehe...

                        Hise Develop branch
                        MacOs 15.3.1, Xcode 16.2
                        http://musikboden.se

                        1 Reply Last reply Reply Quote -1
                        • J
                          johnmike
                          last edited by

                          for some reason when I have loops in multiple different samplers with tempo sync turned on they won't sync together...seem to work fine when in the same sampler...but if I want to put like a group of kick loops in one sampler and then a group of snares in a different sampler...tempo sync falls apart...something im missing?

                          1 Reply Last reply Reply Quote 0
                          • J
                            johnmike
                            last edited by

                            anything here? anybody have any solve for time sync'ing multiple samplers? or do I need to just keep everything in one sampler? which will suck for what I would like to do as far as controlling the volumes/sends for each group of loops that are in a sampler of it's own...unless there is a way to group samples inside of one sampler and control the volumes on those groups?

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

                              @johnmike said in Timestretching/Pitchshifting:

                              control the volumes on those groups

                              65256ab6-41a5-4037-aa40-0cedd0ebf647-image.png

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

                              J 2 Replies Last reply Reply Quote 0
                              • J
                                johnmike @d.healey
                                last edited by

                                @d-healey interesting...will try this

                                1 Reply Last reply Reply Quote 0
                                • J
                                  johnmike @d.healey
                                  last edited by

                                  @d-healey can I assign an interface slider to those round robin groups tho? I also would love to be able to send the groups to effects buses as well tho...individually...and multi-outs was my end goal as well...which is why I had multiple samplers setup for proper routing of volumes, FX, and outs

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

                                    @johnmike I've never used it, but I don't see why you could use a slider to control that value.

                                    Groups can't be routed though (at least not yet, it's on my wishlist), so you're not going to be able to send each set of samples to different effects.

                                    I think you're better off nagging Christoph to solve the bug with multiple samplers going out of sync. Perhaps provide a snippet or demo project that demonstrates the problem.

                                    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

                                      Have you supplied a valid NumQuarters property to each sampler?

                                      J 4 Replies Last reply Reply Quote 0
                                      • J
                                        johnmike @Christoph Hart
                                        last edited by

                                        @Christoph-Hart I've tried them at different values...same results...ive changed all of the numquaters to 0 ive tried 2,4,8 etc etc...if all the samples are in the same sampler and the numquarters are set to 0 everything plays and syncs fine...but when I mix multiple samplers it falls apart...working on a video now

                                        1 Reply Last reply Reply Quote 0
                                        • J
                                          johnmike @Christoph Hart
                                          last edited by

                                          @Christoph-Hart here's a vid with time stretching the loops all in 1 sampler...numquarters at 0
                                          https://www.dropbox.com/scl/fi/55825x1sgxeqm743uvjqm/Timestrectching-1.mov?rlkey=gucjhshwrifahs630dda12zmv&dl=0

                                          1 Reply Last reply Reply Quote 0
                                          • J
                                            johnmike @Christoph Hart
                                            last edited by johnmike

                                            @Christoph-Hart and here's a vid with the kicks moved to a different sampler...numQ's at 0,4,8 just playing around with it...but as you can see they slowly drift out of time with the click...

                                            Dropbox - File Deleted - Simplify your life

                                            favicon

                                            (www.dropbox.com)

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

                                            10

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.4k

                                            Posts