HISE Logo Forum
    • Categories
    • Register
    • Login

    How to play a specified RR group based on the distance between two notes?

    Scheduled Pinned Locked Moved General Questions
    30 Posts 5 Posters 1.3k 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.
    • Christoph HartC
      Christoph Hart @d.healey
      last edited by

      @d-healey said in How to play a specified RR group based on the distance between two notes?:

      Have you seen the sampler UI with 127 groups

      Yeah I fixed that a few weeks ago:

      064042c7-4049-486e-8c38-f54fa205110e-image.png

      My idea is to only need 24 RR groups, and put the upward minor second --> octave in the first 12 groups, and the downward minor second --> octave in the last 12 groups.

      Do whatever floats your boat, but with my suggestion you get the most simple script because you don't need to do any calculations of which group to enable. And using 128 groups instead of 24 has no performance impact at all, it's just an index.

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

        @Christoph-Hart said in How to play a specified RR group based on the distance between two notes?:

        Yeah I fixed that a few weeks ago:

        It's better than it was, but it's not really any better for 127 groups (how do I view all the samples in groups 90-100 at the same time for example?). At least the indexes are correct now :)

        Guess which group I have selected here?

        e285c44c-77cf-45b9-90c5-2e1bea9aa422-image.png

        Yep, number 99 :)

        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 hmm ok, I just tried to "unglitch" the UI. What would be your suggestion for a proper solution? Maybe once the RR group count exceeds the number that can be shown properly, make a popup button with a bigger UI element that shows every group? Any ideas of how this should look?

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

            @Christoph-Hart said in How to play a specified RR group based on the distance between two notes?:

            What would be your suggestion for a proper solution?

            I think we should do what Kontak does (but better), have a table view. Additional features such as renaming and colour coding groups would be nice, also if we could see with a little indicator of which group is triggering (Kontakt shows a speaker icon). But just a simple table with multi-select would suffice.

            Maybe this discussion could be separated into another thread as I've derailed this one?

            8261abdd-e0c6-4f70-afe0-2c81867c8373-image.png

            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 yeah I‘ll definitely don‘t want to add the ability to name groups or other organisational tools as this will encourage the wrong usage of tucking too much into a single sampler.

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

                @Christoph-Hart said in How to play a specified RR group based on the distance between two notes?:

                this will encourage the wrong usage of tucking too much into a single sampler

                What would be your approach for an instrument that has a lot of articulations and a modulation chain that is the same for all the articulations. In this scenario is there an advantage to using 1 sampler per articulation?

                My thought is that I would use a single sampler and separate the articulations into groups (with or without round robin), and switch the active group(s) for the desired articulation. In this scenario it would be helpful to label the groups so I know which one contains which articulation.

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

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

                  @d-healey Using one Sampler for each articulation feels clearer and safer

                  //I am a new student at HISE._
                  //Windows11 & MacOS Ventura 13.6.7_

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

                    @CatABC But you'd have so much duplication. Imagine there are 10 articulations, and they all need the same modulation and effects.

                    With one sampler per articulation everything would be repeated 10x. It seems to add unnecessary complexity and performance overhead.

                    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 yes I'm not arguing that there is a use case where it might make sense. My argument is that I don't want to incentivize people to cram everything in a single sampler by giving them the impression that this is a recommended workflow by adding convenience tools for this. Because then the next thing people will ask is how to make a FX chain per group or limit certain modulators to a range of RR groups and BAM we're back in Kontaktland.

                      If you realize as a power user that this is the best architecture for your project, then there's nothing against it, but then you have to live with the mild inconvenience of going a little path outside the recommended path.

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

                        @Christoph-Hart said in How to play a specified RR group based on the distance between two notes?:

                        the next thing people will ask is how to make a FX chain per group or limit certain modulators to a range of RR groups

                        Pretty sure I already asked for this too :beaming_face_with_smiling_eyes:

                        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

                          I rest my case your honor.

                          1 Reply Last reply Reply Quote 1
                          • A
                            aaronventure
                            last edited by

                            I think it's better to use one sample per one velocity for dealing with true legato, that way everything is in one group instead of having to deal with 127 groups, managing them an populating them.

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

                              @aaronventure ah so just use setVelocity(targetNoteNumber) instead of setActiveGroup()? Yeah that could work and I also don't need to think about a solution for the UI problem of RR groups, so I guess everybody's happy now :)

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

                                @Christoph-Hart said in How to play a specified RR group based on the distance between two notes?:

                                ah so just use setVelocity(targetNoteNumber)

                                This affects all velocity modulators further down the line - unless you use a global velocity modulator.

                                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 If you put the script in the sampler it shouldn't affect its sibling samplers. If it's a global script, then sure.

                                  1 Reply Last reply Reply Quote 1
                                  • CatABCC
                                    CatABC @Christoph Hart
                                    last edited by

                                    @Christoph-Hart
                                    When I press the key I get an error like this, what should I do?
                                    5502f434-fd55-48e9-a697-b041981ed765-image.png

                                    //I am a new student at HISE._
                                    //Windows11 & MacOS Ventura 13.6.7_

                                    A 1 Reply Last reply Reply Quote 0
                                    • A
                                      aaronventure @CatABC
                                      last edited by aaronventure

                                      @CatABC you haven't declared activeGroup.

                                      Unlike the interface script where you can basically declare variables and constants wherever, with realtime, you should declare them in the on init part so that the note on function just needs to read them (as they would get destroyed after the function execution).

                                      declare activeGroup in the on init part of your realtime script. Use reg, as it's faster than var.

                                      reg activeGroup = -1;
                                      
                                      CatABCC 1 Reply Last reply Reply Quote 0
                                      • CatABCC
                                        CatABC @aaronventure
                                        last edited by

                                        @aaronventure Thank you very much, I solved this problem, but I have a new problem, how to play the correct RR group according to the interval?

                                        //I am a new student at HISE._
                                        //Windows11 & MacOS Ventura 13.6.7_

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

                                          @Christoph-Hart
                                          Hi,Christoph, Thank you for providing me with the method,I tried using the script, but it seems like there is no way to change the group I want to play based on the interval? For example, I press C2-D2 and it plays RR48, I press C-D#2 and it still plays RR48,How can I improve this?And when my melody goes down, the descending legato should be played, which will overlap with the ascending legato RR group. This is a headache for me. Please help me.

                                          //I am a new student at HISE._
                                          //Windows11 & MacOS Ventura 13.6.7_

                                          CatABCC 1 Reply Last reply Reply Quote 0
                                          • CatABCC
                                            CatABC @CatABC
                                            last edited by

                                            @CatABC
                                            I think I found the answer, thanks a lot to everyone who helped me,I love you all💗 💗 💗

                                            //I am a new student at HISE._
                                            //Windows11 & MacOS Ventura 13.6.7_

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

                                            53

                                            Online

                                            1.7k

                                            Users

                                            11.7k

                                            Topics

                                            101.9k

                                            Posts