HISE Logo Forum
    • Categories
    • Register
    • Login

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

    Scheduled Pinned Locked Moved General Questions
    29 Posts 5 Posters 1.7k 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.
    • Casey KolbC
      Casey Kolb @A Former User
      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.

      Casey Kolb
      Founder & CEO of Lunacy Audio
      Composer | Producer | Software Developer

      ? 1 Reply Last reply Reply Quote 0
      • ?
        A Former User @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! 🙏

        1 Reply Last reply Reply Quote 1
        • LindonL
          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.healeyD 1 Reply Last reply Reply Quote 3
          • d.healeyD
            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 HartC
              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.

              Link Preview Image
              HISE/hi_sampler/sampler/ModulatorSamplerData.cpp at e4b8330a3c6b19b333b3544e9f4f599f3ce9726d · christophhart/HISE

              The open source framework for sample based instruments - HISE/hi_sampler/sampler/ModulatorSamplerData.cpp at e4b8330a3c6b19b333b3544e9f4f599f3ce9726d · christophhart/HISE

              favicon

              GitHub (github.com)

              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.healeyD 2 Replies Last reply Reply Quote 0
              • d.healeyD
                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.healeyD
                  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 HartC
                    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.healeyD
                      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.healeyD
                        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.healeyD
                          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.healeyD 1 Reply Last reply Reply Quote 0
                          • d.healeyD
                            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.healeyD
                              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.healeyD 1 Reply Last reply Reply Quote 0
                              • d.healeyD
                                d.healey @d.healey
                                last edited by

                                @Christoph-Hart I've been playing around with the shared monolith reference and it works well until I try to use two samples maps with different numbers of round robins.

                                Here's a project demonstrating the issue:
                                https://www.dropbox.com/s/77oloqbssef2bt1/Shared Samples Test.zip?dl=0

                                Any ideas?

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

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

                                  @d-healey Major bump on this. I'm realizing that this reverse issue is broken for expansions.

                                  @Christoph-Hart Do we know if there's a solution? Engine.setAllowDuplicateSamples(false);

                                  Casey Kolb
                                  Founder & CEO of Lunacy Audio
                                  Composer | Producer | Software Developer

                                  d.healeyD 2 Replies Last reply Reply Quote 0
                                  • d.healeyD
                                    d.healey @Casey Kolb
                                    last edited by d.healey

                                    @casey-kolb Should work with expansions, Christoph did some trouble shooting on this with me. When I'm back at my computer I'll check if there is any special requirement for this. But note that it doesn't work if the sample maps have different numbers of RR groups.

                                    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 @Casey Kolb
                                      last edited by

                                      @casey-kolb Ah I think you might need to use Expansion.setAllowDuplicateSamples(false); Let me know if it works for you.

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

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

                                        @d-healey said in Reverse Sampler Behavior – Identical sample maps in two samplers will both be reversed:

                                        Ah I think you might need to use Expansion.setAllowDuplicateSamples(false);

                                        Yup that's the case - I remember we discussed whether this is necessary, and came to the conclusion that it's better if you have to decide this per expansion (since there might be applications where expansions can be used in a very wide context).

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

                                          @christoph-hart Any ideas about the shared monolith reference not working with different amount of RR groups?

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

                                          Casey KolbC 1 Reply Last reply Reply Quote 2
                                          • Casey KolbC
                                            Casey Kolb @Christoph Hart
                                            last edited by

                                            @christoph-hart Got it. Will test this right away!

                                            Casey Kolb
                                            Founder & CEO of Lunacy Audio
                                            Composer | Producer | Software Developer

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

                                            20

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            103.2k

                                            Posts