HISE Logo Forum
    • Categories
    • Register
    • Login

    Legato/Monophonic on one sampler only?

    Scheduled Pinned Locked Moved General Questions
    14 Posts 4 Posters 545 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.
    • lalalandsynthL
      lalalandsynth
      last edited by lalalandsynth

      I am using 8 samplers , on only one of them I want monophonic/legato behaviour.
      How can I achieve that ? When I use the Legato with retrigger script in the midi processor for that particular sampler , the other poly phonic samplers will affect it.

      That is , if I play and hold a note on the monophonic sampler , triggering a note on the polyphonic sampler will mute/stop it.

      Whereas I only want the monophonic behaviour contained to that specific
      sampler.

      Please tell me this is possible somehow .... :P
      @d-healey Can I somehow use your mono mode script to achieve this ?
      I have it , just not sure how to use it.

      When I think about it ...this is probably impossible.
      Unless I could somehow have it internally on a different "Midi Channel"as there is no way to differentiate between notes going to the monophonic part and the polyphonic part .

      https://lalalandaudio.com/

      https://lalalandsynth.com/

      https://www.facebook.com/lalalandsynth

      https://www.facebook.com/lalalandsynth

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

        Yeah I think you'd need to use channel filtering.

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

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

          I'm currently building an engine with 8 samplers and they all handle MIDI input independently without any issues. They can all be independently monophonic / legato or polyphonic etc. Are you sure you're using the encapsulated MIDI modules for each sampler? Also, are you using any global variables?

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

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

            The problem is that I essentially need this for one instrument on one channel.
            I guess I will have to live with reducing the voices and no retriggering for that part of the instrument as its impossible for HISE to know which notes belong to the monophonic and which belong to the poly because they overlap.

            Its a string machine with a bass section , and the bass section is monophonic on the original.

            https://lalalandaudio.com/

            https://lalalandsynth.com/

            https://www.facebook.com/lalalandsynth

            https://www.facebook.com/lalalandsynth

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

              @Lunacy-Audio How are you achieving this? If you play a note it will be picked up by all MIDI processors in all samplers, unless you're using channel filtering or something similar, or is there something obvious I'm missing?

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

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

                @d-healey said in Legato/Monophonic on one sampler only?:

                @Lunacy-Audio How are you achieving this? If you play a note it will be picked up by all MIDI processors in all samplers, unless you're using channel filtering or something similar, or is there something obvious I'm missing?

                yep as David says - channel filtering is your friend: use: Message.setChannel()

                e.g.

                Message.setChannel(16)

                in your "master" note on - for all note you want to send to your bass section

                and in the bass sections note on ignore all notes other than those on channel 16...

                HISE Development for hire.
                www.channelrobot.com

                lalalandsynthL 1 Reply Last reply Reply Quote 1
                • lalalandsynthL
                  lalalandsynth @Lindon
                  last edited by

                  @Lindon Not sure I fully understand , wouldnt that mean that the bass section would only respond to Ch16 from an external controller? Or can I somehow split into channels internally and yet have it respond to only one externally ?

                  If so , could you provide a snippet ?

                  https://lalalandaudio.com/

                  https://lalalandsynth.com/

                  https://www.facebook.com/lalalandsynth

                  https://www.facebook.com/lalalandsynth

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

                    @lalalandsynth

                    HiseSnippet 1259.3oc6Z0saaaCEVJNZH1ooXcKaXWxUrKrA5Br7ZyFVVQ90tHX0IFwos6hATvJQYSDIRMIpzETzGo8trGg8Hz2fsCkrhnhUcRTcRSyrtI47G4GO77COAoW.2hDFxCzzqd3I9DM86Xz+DlX31CwTl1t6noeWit3PAI.kvZqS7wggDaMc8JOQxPu57Zweua8svtXlEIikl1y4TKxSodTQF2da7qTW2NXaxgTOEse3F6ZwYayc4Q.dpXzTyGacDd.YOrTs4Lzz+r11TAOnu.KHgZ5yuE29j9C4ulkn+yogzW4RjDlZ8gEJgcGtqsDwxeWa6gTW6dom6PMXQ6k4Epj3EV1nK0ldJ+LuwmGK.kYgp+PetIAOyRBOcE3MeB7tmQeq.puHShDaKZrKCtnbvvUfJrRzUateW2XaNnASrhG9HRm.f3TKpuZylO.8nlMarlSDyRP4LDmsGWP1mUuQs2TqJ0odWXyf6iUFPDRI6E48JRP8FneAsZyFKUCAeuI4GxuTsCIBvAxXD25lq1XsX4us1aqgN6F43bMrSRWP.20UtbxM6LhkgjEKYjg0YwX4AniwtQjSUDtaxe4u3E6x2J4FQQQNaWFUruOYDsZ3Q5MRpzS433nxJ6LpxM9nUfZYrFO5SaTDC7aOa2cvBrLfbDOPOeRffJOs56PNFxzSBOqZrCI7HA2Gx0GK1Exf31QtXQ9zJYsjQB.2ct3WYLJKjJNQsVykHWqYg4ZlEcZufv8dF8nBqgEi24J.ufW6pFuipbsjQaGGhkHCryaz42JaYpxAkEdOsRtSb8GfhDXNMZj3egajnW4pnwgwsjFGe4HtYnyrvFH+ktA581b.oVyNsJbCz29Xj4pnwKYCQBgbWxJ9ATln986CAEH5.FGHGfXvJCav8ar1303iUhz9Xn.TcQ.TA97anTB3co.piykCoeZ2QZ7tPlS2tPmSglYcjl0Q5xBk6l.kEMjouwckhAxWGSidA9XB5IDnsjzoNoVS+8zu0z9VBX6OL.yB84g4V39DO5gblzijw7YgvK2I+wAxaYU9aywAEJ5cq2ANjEZSerHJHNbYSOdDSjK7nRo5IkOqQQ+BZPM+Gg9mS+TuO7JEUtXv8bZwWMEi8od9tj1riItP4vXL9EP8OGbjqHka9f7tbF2eHmQsTi.NfHBnCFPBTwdgGnMEBXR8LNKuwADWBVMZ9613oPTHN.7SjR5KLu39hIce8MFIvEIyLQ2NpvW4+mU3OfGIfmg0ECAp+I7d78h75CEVsHidfGrQF5yIKNlP2TRmTYkYGS7uv2HglRZ8QBMSEdsrGWtYmZMa1oaxyN0ZpM6zikCmb9iNge8OO1nSHujELdvjpSdpjkN++hbWIfzw4CGkWWyNU6SjYmlMuzr4klBPY4z4kjiFkMuzWES6vC7toLtjo5JeFYsTksCQDwxqdBqbZIOdcfimhdKrQJyVpL6gY4VLfN2J0U9XgTx+Y81LLbgzm.mF68CsfCqz2olNzKxMj7BpsXnopgYraox9ZX5LiYSm8wZ5rVylNa1zY2l5mL4LTnV4Mfa5aKCSdcrGdXq.9KsRd8oL8dgXNfukE++pQUitRZjoV76pA6LZtRSMOnIwKsrjQfeObGTrMsJgM+PIr4gkvlGUBaVsD17ikvleZh1H6OuYjf6kjiAL50NdZ.c8j2lDmto8eLDJr9O
                    

                    HISE Development for hire.
                    www.channelrobot.com

                    lalalandsynthL 1 Reply Last reply Reply Quote 1
                    • lalalandsynthL
                      lalalandsynth @Lindon
                      last edited by lalalandsynth

                      @Lindon cool, that works well for splitting like this <60 but in my case the poly section overlaps the Bass section.

                      Its a drawbar system where you can pull down the Bass drawbar and it plays on the same keys as the polysection.

                      I am not sure that is possible.

                      https://lalalandaudio.com/

                      https://lalalandsynth.com/

                      https://www.facebook.com/lalalandsynth

                      https://www.facebook.com/lalalandsynth

                      lalalandsynthL 1 Reply Last reply Reply Quote 0
                      • lalalandsynthL
                        lalalandsynth @lalalandsynth
                        last edited by lalalandsynth

                        @lalalandsynth Actually , the issue is the following.

                        The keyboard is split in the middle.
                        Bass can play lower half , poly section is split into two parts , upper and lower.

                        Everything actually works fine with the monophonic bass and the poly section on top when playing the lower half.

                        But when I play the upper half , the Monophonic bass gets Cut off as it has no notes to play on that half and the upper half is affecting the Legato mono behaviour.

                        So maybe its a matter of restricting the RANGE of the bass section so its not affected by the upper half notes playing ?

                        https://lalalandaudio.com/

                        https://lalalandsynth.com/

                        https://www.facebook.com/lalalandsynth

                        https://www.facebook.com/lalalandsynth

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

                          @lalalandsynth Use a note filter.

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

                          1 Reply Last reply Reply Quote 1
                          • lalalandsynthL
                            lalalandsynth
                            last edited by

                            Indeed , that seems to have solved it !!

                            I might just have overcomplicated the problem a tad :P

                            https://lalalandaudio.com/

                            https://lalalandsynth.com/

                            https://www.facebook.com/lalalandsynth

                            https://www.facebook.com/lalalandsynth

                            lalalandsynthL 1 Reply Last reply Reply Quote 0
                            • lalalandsynthL
                              lalalandsynth @lalalandsynth
                              last edited by lalalandsynth

                              @lalalandsynth

                              @d-healey ...strange , I am using your note filter script but it just stopped working after I saved ?
                              And going back to an older save < i cannot get it to work ...hmm.
                              must be doing something wrong

                              Could have sworn it worked there for a moment.!
                              Using this in the OnInit in a midi script processor.
                              does not seem to work even when testing a fresh project ?

                              Content.setWidth(500);
                              
                              const var knbLow = Content.addKnob("knbLow", 0, 0);
                              knbLow.set("text", "Low Note");
                              knbLow.setRange(0, 127, 1);
                              
                              const var knbHigh = Content.addKnob("knbHigh", 150, 0);
                              knbHigh.set("text", "High Note");
                              knbHigh.setRange(0, 127, 1);
                              knbHigh.set("defaultValue", 127);function onNoteOn()
                              {
                                  local n = Message.getNoteNumber();
                                  local t = Message.getTransposeAmount();
                              
                              	if (n < knbLow.getValue() + t || n > knbHigh.getValue() + t)
                                      Message.ignoreEvent(true);
                              }
                               function onNoteOff()
                              {
                                  local n = Message.getNoteNumber();
                                  local t = Message.getTransposeAmount();
                              
                                  if (n < knbLow.getValue() + t || n > knbHigh.getValue() + t)
                                      Message.ignoreEvent(true);
                              }
                               function onController()
                              {
                              
                              }
                               function onTimer()
                              {
                              
                              }
                               function onControl(number, value)
                              {
                              
                              }
                              
                              

                              here is a snippet , I dont understand , it worked for a moment ?

                              HiseSnippet 2194.3oc6a0saaajElzxrIVsdQS2t.8hcAHb2Kjw10fjCkn7ltaj+OFwNQPJ06dQ.BXnFIMHTbHHobh21Bzmh9bzGgdY6aSdC18L7GygzS7pP3vjsQBFFbNyLbNemuyblybrb+.pCNLjFHIu1iuvGKI+IJCuvKZ5dSsIdRGuOHWwkNw1SEIs6E91gg3QRxxMNh0s7ZqJE+4U2aWaWaOGbtHIoynDG7IjYjnbo868.hq6g1ivOlLiazl8N1g5sG0kNGTkFJZR91NO2dB9g1rgshhj7GcvHRDMXXjcDNTRd0coitX3T5K7RF+YjPxybwrF5RCgWTh3CotiXZLSpzdSIti5mA4PII4a0O2.zHw.74JmRFQtTdtg3Si6PMeF71C4UtN0SmW8zVX0ShS6VMQ6.kfNZtqcTQMiQGocPndEzri8hvdgjnK3oq2op6cT5ShblJVeWQf9BD0aa8Mk7WW4fwiwNQ4J6pJG9upWl9OknJelxvn.r8Lh2jg1y7cwAw5yGqbBa6XebfyMwFRoEdCY+.rK0dzPx+laX+bucmCFrfhR+odwK0Nyny8JrVo.Y.1GaGA7O2btcuACNJfN2u7rd08h8Vdb.DP.rE7c7HOLX34WAo8BnggiA3D+tB46p+7fILaUtjA3ywAgEk8v4y.x2yC6BSVQVFD8MgXFYSbN0NJf7R9QGuJZO1NlvgnTws0K01nTaTo1lkZ2tT6NkZak2NwfdpseYWC4UK5kdqWuWJe3R3M02FvN2H2kL4xUIQRtqrVt8NVm3hGKHX6G81JXaiECbBToUtpJ8GTNAOABX8OIQSGfABexjzsdeQZOpu.5R8x9zKpaMtgzMo8nrHgQBiqdGkgNAD+n7dXJ3uOUZtYqntkzqzJ+RCk0atdSXCdXj541ApO26YmPeg5eWMcM2xdznG3QeVqMR5YiuRUC9Yy6tdyDAaEhiZsQD9kQPWavl6CoQ3MJNfA1dSvsfIpaXA+h0YoE89jISeMqJqK3cq2lagYxJtxwu.9kNaHBV6BufQ3w1yciNy1cNFdQlVad2wy8bXmFoR8XuwG40Zy0a9sq2TE93RcrcU8.c8TvtB4kr0DbDaTP3hmgCZwd+4iKp33fPWdg9zvz.hsRLDqQFq1xS8qSM9rAFqMs1T8u.ugu66fk6ejYjJ06lIqF6S15Pl3QCvGbNXGaEELGyVjuGFVYTMd7aWXwFdsiLlCT.00koxwf6Jifc51qsyzo2xKF0eE3cB5C2XE3Yz7aatVyuWr4UPe7JnftS0tW+DKoZYC7Jg4atXQabR1vwMPp2wdjnG4iSCemgzqHY7XdQ43hWZLbDLrbQWW3N4URGNLzn3nc+tz3ZCcIifXwDHX1sURbtjhMH7GIKs.ydMkTuuRS+GNtmz2b791Q1fZHmpQfV5iChHL6q793ygLaRBBulx93vmGQ8iU4Y9TOl9Keq+2J8KYoVvVvKxdHLB6WLIpWcuY144Z7yOsGKlGvvJYQaYH8xE81K.ViW0erRq5GqbYjVI9Pm4Vti5Ue2Vowhkxsfy6k6ekK79oJCIrzaNv6bHAWPBSG+LfZiQYlzhGjdJ0i5Ok5QbJlNYV1Bb5tP.sSTDjMatjOu2.rK1NjiH9y8Ng3gsCJlk7ajsPewsEWGe8EJIpqJaas5uMtkYiO3uk40Y5fnHwY7qBqdPz6477mnDeoHU1cXeWopCnyif6llc+PEH8ogvEmcv7WkbE1YSIs0xB.OD6MJtw+A9j1od18NYcpm0ojS1qBvV5ywGTI2.6wt6UbwSbgaz5x6RGBWOmoRvcEeiqwvtforPoYVVigk0Xfy0ndpwf9680XP6seMFLdOtFCFBqwvu1PQcYQFVVjgkEYXYQFDWjA8OTKxvQKKxvxhLHpHCFKKxvxhLrrHCKKxvuMJxve7ZKxvcxuI4dXWWp1MQoF7qwRM3urTC2zkZPV4CnJJ7+YeEwdGjODplyG5reRX9PW8L6k4CsLenk4CsLenEHenvXRcV7oPLKGHqTlAL3cJwoOELavNFV3Ek6BQ.RlIbs3ATVRAqpXXIcB8A3KRe99j7mOgdFSEXVs6SheTQQGjmtTom.RbS+9T+0JG+2dRb5Wf2V.XDUO01YJD56IrzwTiyG6IWldVR6mt+WZr0KrOWZ+49tDGfIY78ITp+AYlB1hvDj3AKeKlJnqIkLlQLAcauc21YFENng1NGZvyWBsX40AzPu4PqiVmBPqiExT.zL5vwZc3XsNuoP6tUBZUgzzrJhLMKCQjVWNRqKGo0sdPVE3r1aWhyZaZIhy3PlAGxLpGjcPE3rN5Fk3r1h3LSsbjYpkirX40.xpx9LK8hHaaMMQdibHCwgLjVsDB4vpDcrqQwnicPHjHRyfizL3HMiZBZUf0rLJyZs0EsSiKvuAWfeisqE+wCqRzQqxwPZKJtuoNGooyQZ50CxpxNs3H27bFR3NMN2QDm6HpdbGOpR6zPkBOZpIjzL4HMSNRyrlfVkNSCUDZc05Jh037GQb9in5we7HiafLrzrDk7nIhizPbjFpdPVk1oUJ5nkkn.+HN2QDm6HpdbG24KqThHkHMSSgIhvkVrIWZwlcpInUAVSuTNVVZcEk8HhyeDw4OhpG+wcpBo0ocoyzzDlHRaNRqMGo0tdPVUhN1t7NssEtSiCYHNjgpGjsaktk11EQF7QDmwU0.StpFXZUOHqJblUoCqszEdKMNNyfiyLZWKgP1qR0CQynT8P1VX8P3HMDGogrpIncSblV6Nhxdzf6LMCtyzLLqE+w8pRzQToni5VhtKCh6HMD2QZn5oRO6UoaoUpROf+X8TY0Y1NAzm5j70nhUe0aGKAzRuXSvZJmxZqpm8smRQQaKMoYjQjm5v9+aV4uBbf34XTg4fpvbLqvbZWg4zoBywpByo60NG1eZyclGQmk7G1ADz+fjhgKeoKlbCo+Kz2oIp.
                              

                              https://lalalandaudio.com/

                              https://lalalandsynth.com/

                              https://www.facebook.com/lalalandsynth

                              https://www.facebook.com/lalalandsynth

                              1 Reply Last reply Reply Quote 0
                              • lalalandsynthL
                                lalalandsynth
                                last edited by

                                I just did a simple version.

                                 function onNoteOn()
                                {
                                	if(Message.getNoteNumber() > 47)
                                	    
                                    {
                                        Message.ignoreEvent(true);
                                    }
                                }
                                

                                https://lalalandaudio.com/

                                https://lalalandsynth.com/

                                https://www.facebook.com/lalalandsynth

                                https://www.facebook.com/lalalandsynth

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

                                29

                                Online

                                1.7k

                                Users

                                11.8k

                                Topics

                                102.7k

                                Posts