HISE Logo Forum
    • Categories
    • Register
    • Login

    Changing Hise Legato To only 2 Octaves???

    Scheduled Pinned Locked Moved Scripting
    52 Posts 4 Posters 2.4k 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.
    • ulrikU
      ulrik @ulrik
      last edited by

      @Natan this script deals with held notes as well

      HiseSnippet 1108.3oc2W0saaaCElxNZn1aYacnXXWpArKrAbBr1x5VQPVShiSgwxOFwYYCnnnfU5XahPQpIQ4Mih7.s2l8nz2fsCojrjRbBRMPKVmg8E77G+NeGdNjdXjzChikQDqFmOODHVeh8n4B0zdSoLAYvADqOy9HXBUIcF4EwBUj8mGRiiAehkU8moMxpwZDym27z8obpvCJDQHWHYdvQr.lpP5vc+YFmeH0GNmETx5s1cfmTzSxkIHfpa2kDR8tjNANgpMqlMw5i56yTxnQJpBhIVqsuze9nox+PjZ+ErX1q3fdgKYDFnTwGJ49ZDqkR5Mkw8Glm3wDhk8vBZndJM7H6iY9rExKniO2nvovix7gUspvqdE34VFdcKAuaBIRIDsVJhvMV5mvwJQEznKAYJXRQEzLPn.QLSMubI58NDen8Plxa5xwXskfQrf7t.iYE10s6OdL3oJ.3Z1G9au6qheZ51+w1iXBvzhY17uzr14Woy.mmABHRSdt2QS1eeeaxBu2MYm5ovs+7HpHNTFWIvif.14RglEJD9KwvgQvueltZVVdOIMZopdySODSxk5yHpJIxbrXu.YhPU4XP86pY2cEa1W6+bM6VV2rU5g1oiaKznwyCr4lYwUvQ1b4Z+Uc6HXhCLCDpA9N63rwSdx1q2TKiSiUmHUPlPiro.2WKKFE97Wr83DgmtL3HEZomJZ0d8lud8lMNF2dbD7lAzKg8hTrwLOFk2pMFZTKarSKyo4MYwo2Sn6nilos.CPCcDLFkCqu1.g1nzWi+Zj5K02+BIOI.zGWyMsiia2NNa31sa6s0lt.vaFlDOsUdNYTdE9SuSKKb4IvDP0OMxsZ2wQGZDGa+V6UWiOWYx9BtdYlqsqDyWxDsjSRBdEDYr5pqS9iGmy9Zp6VbzYmcVTXWP0oohHMH6OOGKY.0vUE7XDDHmAkYxrhUgIbPLQM04mvzNujUjzK3srSLtcJNU87qGiMbeQGmGukg.0goDybmNkWdwu.OFtIJLmnqFvLQWoKTMQOuQJeKT50KF8jBUjjy05ZhaayqZ5TRsdv5x0j4XKgIvcbv9gDXggXWd0QG12uIa3ba71RUICkhABl5zPPbay6H8RcRO2dvATEUOuISFZWHfszZHXc.LCuDIc5SC6Cf3KUxvODdHRkwmMxw3HVPHG5KlAbLIMX7KvrZLMgqxkV8d1ikBY3Tof4U9Rny.UDaxDHpL1WZBsmRguVsPxi18LfCzxWn9M6dDdQHMB4IXE4B225qRVZ85qrSgqi9LryGtOfr9+ue.4YxDESL4XJdH7Ow4D3fpQ3617.b2EBbdHJypltKOccW85zGtI7MK9G7SlRW8ZqLkt4JeurGATuH4K8RmJpOm9.iDLuEl+ZWC6i0qcbIlIkne1c2rKI.e80K87zT7F3vsk6y2tB97cqfOasB978qfOOdE74GVAe9w6zG8Ce2KQICRa4PAC6at9vxpufhmdMmzI+KG5iZZA
      

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

      NatanN lalalandsynthL 2 Replies Last reply Reply Quote 1
      • NatanN
        Natan @ulrik
        last edited by

        @ulrik Thank you So Much Ulrik, It is A Very Nice Legato Script

        But The Question Is How To Make It Limited To Only 2 Octaves?

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

          @ulrik Anyone made a legato script with selectable hi-last-low note priority ?

          https://lalalandaudio.com/

          https://lalalandsynth.com/

          https://www.facebook.com/lalalandsynth

          https://www.facebook.com/lalalandsynth

          NatanN ulrikU 2 Replies Last reply Reply Quote 0
          • NatanN
            Natan @lalalandsynth
            last edited by

            @lalalandsynth Lala How are You Man, You Doing Good?
            It was so Long I Did'nt See You round :)

            Looks Like We Are On Some Train With Legato And Spicific Notes :)

            lalalandsynthL 1 Reply Last reply Reply Quote 1
            • ulrikU
              ulrik @Natan
              last edited by ulrik

              @natan

              if (Message.getNoteNumber() > 47 && Message.getNoteNumber() < 73) ==> then apply the legato script?
              

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

              NatanN lalalandsynthL 2 Replies Last reply Reply Quote 1
              • ulrikU
                ulrik @lalalandsynth
                last edited by

                @lalalandsynth what do you mean?
                if several pressed always the highest note is sounding or?

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

                1 Reply Last reply Reply Quote 0
                • NatanN
                  Natan @ulrik
                  last edited by

                  @ulrik Thank you Ulrik, let me Check and See if I Can Do The Changes

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

                    @ulrik On a classic monosynth - it might have low note priority , so if you play C1 , you cannot play any notes above that , but you could play B0 and it would overtake the C1 , opposite for High note priority.

                    And yes, by the same token if you play several notes at the same time , say a chord , only the highest note would play.

                    Essential for modeling analog synth behaviour.

                    I guess the tricky part is that it has to remember note 1 when note 2 is played.
                    On on analog monosynth you could hold C1 , also play B0 - that now plays and when you let go of C1 would play again.
                    Without retriggering the ADSR/VCA.

                    Last note priority , would allow either way .

                    Sorry if I am explaining something that is already clear :P

                    https://lalalandaudio.com/

                    https://lalalandsynth.com/

                    https://www.facebook.com/lalalandsynth

                    https://www.facebook.com/lalalandsynth

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

                      @natan Hi mate , yes doing great , took a bit of a break , working on hardware these days .

                      https://lalalandaudio.com/

                      https://lalalandsynth.com/

                      https://www.facebook.com/lalalandsynth

                      https://www.facebook.com/lalalandsynth

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

                        @lalalandsynth Ok, I think I understand.
                        The legato script above remember all pressed notes so I think it would be doable to have a "LowNote/HighNote priority switch, try it!

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

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

                          @ulrik demonstration :)
                          https://youtu.be/6B14tqEW0Uc

                          https://lalalandaudio.com/

                          https://lalalandsynth.com/

                          https://www.facebook.com/lalalandsynth

                          https://www.facebook.com/lalalandsynth

                          ulrikU 1 Reply Last reply Reply Quote 1
                          • NatanN
                            Natan
                            last edited by

                            @ulrik
                            Ulrik
                            Can You Help Here:
                            Where I supposed To Place the Extra Range Code:

                            if (Message.getNotenumber() > 47 && Message.getNoteNumber() < 73) ==> then apply the legato script?
                            
                            
                            function onNoteOn()
                            {
                            	Message.makeArtificial();
                            
                            	if (Synth.isLegatoInterval())
                            	{
                            		if (eventId != -99)
                            		{
                            			Synth.addVolumeFade(eventId, 10, -100);
                            			heldNotes.push(lastNote);
                            		}
                            		
                            		Synth.addVolumeFade(Message.getEventId(), 0, -99);
                            		Synth.addVolumeFade(Message.getEventId(), 0, 0);
                            	}
                            
                            	eventId = Message.getEventId();
                            	lastNote = Message.getNoteNumber();
                            }
                            
                            ulrikU 1 Reply Last reply Reply Quote 0
                            • ulrikU
                              ulrik @Natan
                              last edited by

                              @natan What have you tried?

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

                              NatanN 1 Reply Last reply Reply Quote 1
                              • NatanN
                                Natan @ulrik
                                last edited by

                                @ulrik I Just Placed The If Statement Before The if (Synth.isLegatoInterval())
                                It shows Some Errors about Message.getNotenumber

                                ulrikU 2 Replies Last reply Reply Quote 0
                                • ulrikU
                                  ulrik @Natan
                                  last edited by ulrik

                                  @natan what if you combine all the if statements?
                                  if (Synth.... && Message.getN... > 47 && Message.get....), have you tried that?

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

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

                                    @natan I see the code is misspelled, my bad, it should be Message.getNoteNumber()

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

                                    NatanN 1 Reply Last reply Reply Quote 1
                                    • NatanN
                                      Natan @ulrik
                                      last edited by

                                      @ulrik said in Changing Hise Legato To only 2 Octaves???:

                                      Message.getNoteNumber()

                                      Thank you So Much Ulrik, works Like A Charm Now
                                      Just A Small bug:

                                      If I play notes Outside the If statement, Notes Gets Stocked :(
                                      Take a Look:

                                      HiseSnippet 1157.3oc4W09aaSDF2toFsDn.CMg3iGRnoDozJaVYkoRYsMMcJh9RTSofzzzzM6mjbp12YrOGHB0+G4Ok8c9.7bmsicZcqRiXCIvpMQ2umW7umWtm6R+HgKDGKhLLqe9zPvv7irFLkKG2YLkwM5cfg4mXcDLhJEjAtQrPow9SCowwfmgoYsWnTxr9pF5m2978o9TtKT.YXbgf4BGwBXxBz969CLe+Codv4rfRZu4t8bE7NBeQBRnZV1FgT2KoifSnJ0Vwxv7C55wjhnARpDhMLWceg2zAiE+JOU+KXwr23CpENFCPGkBenv2SwXEpQmwLeu94AdrggoU+hzPszzvirNl4wlgWjN9Ts.RgEkyGlqbWzyoL8rWX5YThcqlxNjDBuDerpLGyTkiLALAeNl0iKAdLSNsb45eU59Pq9Lo63p46JUvWrP8tluYE+0r5NbH3JKH6pVG9yueqzebJU9PqALNn2RpIxmqWS9I5Df7BfCQpjpycro7OVzMkgK7lxSck3q+7HJONTDOmiG.AryEbUFo.7GigCife4LUUtLdGAMpRQu84GhAYk1LfJShzsK6EHR3x4ZOpsv0j6wvgUeWMbn1h0xTAkLu4VrGZkNdtPhhOOvxWO6dNdjMGek+rlUDLh.S.trmGYGx5O6YauVCElOMVdhPBYfZrwfumBKFAe4q1dXB2UUFHBtB8TdyVq032WqQ8iwWONxdi.5kvdQR1PlKi52rE555q0.+fMjzT2PuAKN8nE0l8nIJkd7iI41OBzT3jjf2.QMaQ9dxlaQtC4eGYqmPPNTWQBB9feoeW4A3WpClVHpRCsJ3W0SoB0y6BgeR.n1.jaRahicax5N11s1Vo5rTvFgIwialmkzBuB+W41pbWIJ2M0yMa0lnbMxmsu2VYqs4Jcxrn5Uk5J8JUKukTGp0UWubNbXd8TkBusb9N6LqUIOymEJ7Tmr+zbtjQTctpHOFAAhIP4LYVQqPEefORNFK+15RmpNTDzyxaY8fNsK5Se408w5NupM4oapSfJ2TJybmFkWdw+.+X3lrPuGYdGlAckpP0.s7Fg7sjRudwnifKiD99JYMvWaiqZPJIVMptZIYF1jqcbaBt8JAloHN2X9gQMVrYk3IA34xxRJJ383L4ogvr0okhbDaiYcTkgJhqxn5voB0Jfp3PyNobRcPSuCnRpZ.YFFpWHfyfTQn4AvD7Tuzwk0sN.huTJBeOd6p+Yl2WOmiCXAg9PW9DvGCRMG+LLpFRS7k4nyewfiEbQ3XAm4V9Tyy.YDazHHpL2qLf1SJwqiWf7ncOC7AZ4a.7U6dDdxMMBySvRlKbt2m8UY85KrRoKQ0SQ9uwshq8+yaEelHQx3iNlhMp+F9q0vYkCvKi5BHS3bbjLhYthZRP5Za05zaix8zK9K7ISniZsYlPmbguWdGAT2HwqcSGoo5kefFAiat922V25X0ZhigdXMZmk8F1FA3UJesqqJcuNlep1ludIr4IKgMatD17MKgMOcIrYqkvlu8NsQca98RjhfzshHP+t5iXLM6xoXmrtq23uItlshA
                                      
                                      ulrikU 1 Reply Last reply Reply Quote 0
                                      • ulrikU
                                        ulrik @lalalandsynth
                                        last edited by

                                        @lalalandsynth I got carried away in this, low-high-last note priority thing :)

                                        try this

                                        HiseSnippet 1994.3oc6Y0uaibaDeWausYUqaZJBJ5exJDTHk5SVx95kObbN+cNiXemfk6kBXbHfdWJsDlhTgKk0IT3Wi97zGg9nj2f1YH2U6JKcxNNWBRBpf.r1gyP9a9MePtzs0pHVZpR64Gd93ALO+eaPmwRSx9ITtz63C77+yAmv5QMJRmHMefgLh7LdujSTiZq4JM2L1auwCnoorXOe+k+BzL+vU7re91mtGUPkQrBQdduTwiXmv6yMERauyWxEhinwry48Ko8i243HkbekPMDf3xAM8FPith1i8bJp1RAd9+pCi4FktigZXod9qrmJdbmD0HoS+WxS4WJX3Cs75.SjS7QJQLhXTp29IbQb6bpH0yyOncAwrriXd+fS4w7IxKHneuc.RgEk4C+klFdKOE7ZUFdMKAuYgjWIDshCQvBqhGJfXyTnACAYCvUxoPywRCSlhwrRgnezg36EzlahRlOFWZNXDBH+Pfwr.6pAG1sKKxT.vUBN5e7CeT724V9eSPGtjYK5rK9ez9L4qnWyHeASxzH40ZAEY+m6aQ1f6cQ1KhLvxetlJSGnRmZh6v5yOWIQVnP3eOkcjl8MmgQyxx2WQ0ycnu8oGAN4bsoC0LTaSK1suZnzLUZvxKpXu0CrXekexUr66Oaoz6E3Z.WLBhm2IPX6NOENbJ5sz+5cCf.apgbMUSv10cFgEdjsI6qvpLSidLy9p9Cf3ozTqZgJUqu0pUVshl0ijvDwOWA9CX1EuZKmvAB5XlULH8QexmrUEq39.2bBGVvsIGJ6AQ3FQZFvEmlIuV8spjqSitPxXMvVPFrTqudX2gxHLtmRfcahRXQWQRfsZXv78WHB0H7GHZHRXcsV.veNCvkBrBJe5HfVmXUBwas5qV4etZkPgJhJHB.os13i.uJD91UoI0jDtrvoAsCQ0CkjOCz9oVKjjOkTsJZzMNC0LHmURDfnaVsxDnki9Eism4zZVvgApl2Kn84ftO0p+aBZINnkwzsoRlfnUCM.XRA1c+8VsRQzuQJyzFx3Mm4znVNbq0KCfXB0HX4LI7TLI5q3wljZXRicnjRC8LF3elhwtzHgQGQVmrYtnTa8BleU8DZpo5ZjpP.C+CxMUwjtvd17kcgTlpMe8ladj8iMMMzNZJlIicvp49SZCvUR1ULHgNQB8aFRWizrwl0qWLkfOJgtCmA6.Pk8DrZWrI4uZQ4GNwGdIULDBNqAN1GB12ZM63Oh7jbIe7qVi73EBlDtgkspwZ5ncE7dRV74rWap4b+Kt0hAy3EKDEaXQQ9SOAzuZDTFqYw4zxMtp3oCrmpFlx1mJDWBmjpHxxtFr86WzE9x6RbyTiHAO5JV7jjTzvqQG.L9TpIoAr4ROVM6O6JTJclcuFRLFAdzlfe1bMxF1YNztbo4TfcdJMPTBNWwNTbSYW+1kaJYAYf8.0JQsn7Ffq4.XFIr95fBoJAqw.MTJTrn2LKmlMUSX04rL02pDHv52WHyq1OEZmCGosQe5Urc0FdWdDmJvdkgYLtDKYxUCXcz9mOr+kLsUKGuaOBQCdp6353wnzWiSiMD.T05qSFjcjcRpEZfP2OH0J4OEYZ0AEPKyMkHfpSaiLTXDMkQZ9o3OCcqMNxK518.lc2g8FeHFQONt1jV9Sl5h8OfvbqlMQuHzkjvbFANraRowwYzET1Ig78m7XHyHyfIy7jbCTiroHSmo1qRJcBuD1W5J2OcNXnyAcalLkK1x4hHEKwVskvtc.KCENIJB00JMy550LZLkwMdoU7lIq6uXHt7s5lh41XJl6y9+LmyMPm.9NYi7FvgzLv1sovLUG1GuZUXS7hQGLLMAGw1bCK1YhTlqjd9XoTihb5ntEXyYNqLOvBc3t41cq5101tpbqFrQzv9s0L7bmeIabZs5P4Qy5NrcO5aUBPZVe00rbH8cM1BlUDS+90pqbWMzErs71tHbbQAlELYOSxiZ8psvx.qhNtjbEabQhJRXtYY62ZU.Sl76L8EW46JA1oyBRgQEla4e4FjV1x0+b6aelaGCU5j5HCUvNYV81getm7hcMuSlISqEwMVUdyryFErSdSxsm4X+H+L8qKLSJzDi29saez6joxV36hpln1B3pLclse3s5q8Vo29LMWJo0L88ruC6sa7kczMA1tBa8U4lJkOJIdKJyej7iVJs85xOWYthvqzO88DDb+tFiH2KsWRQk7XI27hAL4a5xM7xdSe7RZN9.pghWtPlLPuAL37lHD7OfcMOh4tpgvfCXoWYTCr5lc5XO+esI69xxtHB7kH83w3cFWzS060EWXyGry3xOLBeMhIB92WtSh8kGJT4y2AN.sZT9wnAX8tAva7QJD7yfaAcp6tILGic38GHXGJulI.R2hw+.vxcoCElboSeIempjpAIJIOp7MfcFyn485wzkw9bcncMFfxJj796bFSvnkuMuOXmSf2NhpAdh8.4hVemuGq4Fu9SAN3RvZJxOeu85k+k8sW6tOndvKsq4Pcd.bVtNpg5HFr5Rna.1KyeIrqi64l3ytaMVFae3+BexFrE9re1fsxG7Gk0nOMRq95HWWZLO8crR.+VZ++JEFbJ9LokmsyMXWPyFM8vMd95nHjheDzrc91rwCvlMe.173GfM+sGfMO4AXyG8.r4iWnM3MHu6PipuqjCDz9P61Y99GJoP1qMS26+we6NjC
                                        

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

                                        lalalandsynthL 1 Reply Last reply Reply Quote 2
                                        • ulrikU
                                          ulrik @Natan
                                          last edited by

                                          @natan Yeah, you have to fix that, maybe you should treat the keys outside as real note on & offs, and have the

                                          Message.makeArtificial();
                                          

                                          inside if statement? I don't know, you try and let us know what you've tried and how it goes.

                                          And consider also the note off callback, it must be treated the same way I guess

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

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

                                            @ulrik Definitely will be trying this ! :)

                                            https://lalalandaudio.com/

                                            https://lalalandsynth.com/

                                            https://www.facebook.com/lalalandsynth

                                            https://www.facebook.com/lalalandsynth

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

                                            44

                                            Online

                                            1.7k

                                            Users

                                            11.7k

                                            Topics

                                            101.9k

                                            Posts