Forum

    • Register
    • Login
    • Search
    • Categories

    Reverse Sampler Behavior – Identical sample maps in two samplers will both be reversed

    General Questions
    5
    29
    419
    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.
    • Casey Kolb
      Casey Kolb last edited by

      Hello all,

      Currently, I have 8 samplers which can be tweaked individually in the interface (i.e. you can pitch one sampler up, filter another, pan another, etc). This makes working with the same sample map across multiple samplers really effective because each sampler is completely encapsulated and you can do a lot with just a single sample map.

      However, if I reverse one sampler and the same sample map is loaded in another sampler, it will reverse the buffer for BOTH samplers. in other words, I can't have the same sample map playing in reverse on one sampler, and forward in another.

      Other than duplicating the samples and manually reversing them, are there any other solutions? Is this expected behavior or a bug? Would really prefer not to double the size of my sample folder for this, but the reverse is really important.

      Thanks!

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

        What about making two sample maps with the same samples? I think HISE is smart enough not to duplicate the samples when converting to HLAC (but I could be wrong).

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

        1 Reply Last reply Reply Quote 0
        • Casey Kolb
          Casey Kolb last edited by

          I toyed with that idea too but didn't have much luck. Let me give it another whirl!

          1 Reply Last reply Reply Quote 0
          • Casey Kolb
            Casey Kolb last edited by Casey Kolb

            Victory! You do have to convert to HLAC for it to work, but that seemed to do the trick. I hadn't converted the sample map before.

            UrsBollhalder 1 Reply Last reply Reply Quote 0
            • Casey Kolb
              Casey Kolb last edited by

              This post is deleted!
              1 Reply Last reply Reply Quote 0
              • Casey Kolb
                Casey Kolb last edited by

                This post is deleted!
                1 Reply Last reply Reply Quote 0
                • UrsBollhalder
                  UrsBollhalder @Casey Kolb last edited by UrsBollhalder

                  @Casey-Kolb So you now have 2 samplemaps? One normal and one reverse or do you use the same samplemap and set the playback mode of one samper to reverse? I am trying to setup something like this with no luck at all. Reversing the playback mode in sampler 1 play the sample samples back in reverse as well in sampler 2!

                  www.ursbollhalder.com
                  www.Instagram.com/urs_bollhalder_composer

                  Casey Kolb 1 Reply Last reply Reply Quote 0
                  • Casey Kolb
                    Casey Kolb @UrsBollhalder last edited by

                    @UrsBollhalder Oh yes, I struggled with this for months and I'm trying to remember exactly what fixed it. I think I had to use the function Engine.setAllowDuplicateSamples(false)

                    I also think my sample maps needed to be in SaveMode="2", which I believe is the monolith?

                    Give that a whirl and let me know if you have any luck.

                    UrsBollhalder 1 Reply Last reply Reply Quote 1
                    • UrsBollhalder
                      UrsBollhalder @Casey Kolb last edited by

                      @Casey-Kolb Holy cow. So it’s not an easy fix after all. I’ll give it a try with this idea. Thanks a lot. I was starting to loose it over this! 🙏

                      www.ursbollhalder.com
                      www.Instagram.com/urs_bollhalder_composer

                      1 Reply Last reply Reply Quote 1
                      • Lindon
                        Lindon last edited by Lindon

                        Ok reviving this because I cant get it to work and its important:

                        • I have 4 samplers, all loaded with the same sound....

                        when I play them they are fine, but (as per Casey's experience) when I reverse one - then they all reverse:

                        I have done the following:

                        1. included Engine.setAllowDuplicateSamples(false);
                        2. made sure every one of my sample maps is converted to ch1 file
                        3. made sure my sample maps all have SaveMode ="2"
                        4. even re-run the Tools>Convert all Samples to Monolith + Smaple Map (though this took less than a second - so i suspect its not done anything..)
                        • Any one have ANY idea how to get this to work?

                        Please please please don't say I have to make a seperate sample map for each sampler, so 4 x the sample maps...

                        And not unusually -- answering my own question: yes... you poor fool, that's exactly what you have to do......

                        HISE Development for hire.
                        www.channelrobot.com

                        d.healey 1 Reply Last reply Reply Quote 3
                        • d.healey
                          d.healey @Lindon last edited by

                          @Lindon From what I can see this doesn't really solve the problem because it creates duplicate samples. So if you have 100mb of samples and you want to use them both reversed and forward you end up with 200mb of samples. Or am I doing it wrong too?

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

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

                            Unfortunately there is no simple solution because it would interfere with the sample monolith management, but you can use a hidden secret sample map property that makes it reference another .ch1 file than the one that it naturally expects.

                            https://github.com/christophhart/HISE/blob/e4b8330a3c6b19b333b3544e9f4f599f3ce9726d/hi_sampler/sampler/ModulatorSamplerData.cpp#L158

                            If you use this property (in the root XML element next to SaveMode et al), it will use this .ch1 file. So all you need to do is to duplicate the XMLs, manually add this property, rename the .xml (and it's ID) to something else and done.

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

                              @Christoph-Hart Thank you, I'll give this a try.

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

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

                                @Christoph-Hart Does it handle multi-mic samples with ch1, ch2, ch3, etc?

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

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

                                  Yes. The line of code that I‘ve linked to simply replaces the ID of the samplemap with the string of the property. The rest is the same.

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

                                    @Christoph-Hart Thanks that worked perfectly. Now I have a new problem, I want my staccato samples to double as release samples, so I duplicate the staccato sample map, rename it, and shift the start position of all the samples. But now both sample maps are triggering the samples from the same start position - depending on which one I load second.

                                    I've added Engine.setAllowDuplicateSamples(false); to my script. The sample maps have SaveMode=2.

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

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

                                      I just tested in a separate test project and Engine.setAllowDuplicateSamples(false); works as expected. The only difference I can think of is in my main project the samples are part of an expansion where as in my test project they're just in the base samples folder. Does Engine.setAllowDuplicateSamples(false); work with expansions?

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

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

                                        I've added an expansion to my test project now and I'm getting the same issue as with my main project. So I suspect that it's an expansion related issue. @Christoph-Hart I can send you the test project if it helps.

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

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

                                          @Christoph-Hart Bump bump

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

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

                                            Here's a test project to demo the issue. test.zip

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

                                            d.healey 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            9
                                            Online

                                            1.1k
                                            Users

                                            6.8k
                                            Topics

                                            62.1k
                                            Posts