Changing Hise Legato To only 2 Octaves???
-
@lalalandsynth what do you mean?
if several pressed always the highest note is sounding or? -
@ulrik Thank you Ulrik, let me Check and See if I Can Do The Changes
-
@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
-
@natan Hi mate , yes doing great , took a bit of a break , working on hardware these days .
-
@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! -
@ulrik demonstration :)
https://youtu.be/6B14tqEW0Uc -
@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(); }
-
@natan What have you tried?
-
@ulrik I Just Placed The If Statement Before The
if (Synth.isLegatoInterval())
It shows Some Errors aboutMessage.getNotenumber
-
@natan what if you combine all the if statements?
if (Synth.... && Message.getN... > 47 && Message.get....), have you tried that? -
@natan I see the code is misspelled, my bad, it should be Message.getNoteNumber()
-
@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
-
@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
-
@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
-
@ulrik Definitely will be trying this ! :)
-
@ulrik said in Changing Hise Legato To only 2 Octaves???:
@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
:( That Makes Things worst,
Can't useMessage.makeArtificial();
Inside The If Statement :( -
@ulrik I Just need this to Work Inside The Range.
and Other notes work as Normal.Also i Noticed If i Held a Note inside The range, and By Pressing Another Note Outside The range, It Still Does The Legato, I Just Dont Want That
-
@natan Why not? Show what you've tried
-
@lalalandsynth updated the legato script so when switching note priority while pressing more than 1 note, it will update sounding note to the relevant priority.
HiseSnippet 2101.3oc6Y8uaibaDdks2lH051j1fh9mLBAERI9jkrud4GNNm+cNiXemfk6kBXbHfdWJsDlhTYWJqS3fd25iPeTxaP6Lj6pcWq0xJNNWaBpfgsWxYH+32v4iyR0NT4whhTgNkJe93ALmR+N2Nik5f8CnboywG3T5CcOg0ipUjNdg7AZxHxy38BNQMpcHWEx0ic1a7.ZTDy2oTok+ZzsRkWww74Gd5dTAU5wRaxw4kJtG6DdetNs0167Mbg3HpO6bd+LV+3cN1SI2WITCAHtraSmATuqn8XOmhlsjqSoeyg9bsJrilpYQNkVYOk+3NApQRq8ujGwuTvvGZ4zAFHayGoD9HhwVc1OfK7amPEQNNkbamRLKaIlOv8TtOeZ6oDz6Y5fj5QV9nzR4g2x4fWqrvqYF3MKjbxfnUrHBlXk+PADaxgFLDD2AWIyglikZlLBiYYBQu0g3661lq8BJFiKU.Fg.xOGXLNvtp6gc6x7zo.bE2i9G+7GE+81o+251gKYljNyj+mMOS9V50LxWyjrPj7ZMmjr+0hljMXgSxdgmFl9yCoxnApnbCbGVe94JIxBoM92iXGEx99yvnY112WQCKrqe3oGAKxB8oCUOLzrsX29pgRctsAKOuj8V2yj8U9etj8RklMU58csBvo8f34ccEF04b3vZnyR8+StPfMRStlFRP45NivDOx1j8UXVltQOldeU+AP7TpqUM0jp02Z0JqVIj0iDvD9OWAqGvsKd0V1FGHniYllgVezm+4aUwzbefaNgCS31jCk8fHbCuPFvEmF2ds5aUIwlFcgMi0.eg1foZ80K2cnzCi6QD3zFu.l2Uj.3nFFLd+UhPMB+GDMDILuFO.3WPGbo.yfRFNBX0IFiP7Vq9pUdypUJKTdTAQ.Hs0FeJrpJC+zUERpIIbY5hFrtLZdYI4KAqepwCI4KHUqhNMw5XHC1yJIBnoIqVYJzRP+7w1yrVMK3v.UyEBZeEX6SM1eaPKvBsXltMUxDjP0PM.lHfc2euUqjF8aDwzsgc75yrVTKAt05ECPbC0HX5zA7HbSz2x80A0vMMltBxz0yXv5Sm12kZIz6Hx5jMSZJxjuf6updBMRWcMRUHfg+A4lp3ltx8L6W1E1xTs4q2byiLeLaSKa5MB2IiJX0r+IpArTB1ULHfNsE52OjtFoYiMqWOcHg0nDTGNCNAfJ6IX0tXSxmXP4GOcM7RpXHDbVCVXeL3eq0L8+HxSRZ4yd0ZjGOWvDv0r3Y0OjNZWAumj4eN605Z1k+E2XxfQ7h4hhMLnH4om.1W0CRiCY9IzxDaVb9.6opgQr8oBwkPkToQV10fu+zhtvO7tD6H0vSv8th4OcSJ5303B.b9TpNnAb3ROVMy+1UnTgw98ZXiwHXEsIrNatFYCyHW1LcQITfYbxzgW.NV9VTLI6R+loaJYJYfZfgJQMuDAv0r.rdk2XWHSyzZHXxd5.HMqUcX4.SajUHMFIPCuoL7qxdzHFo4Wf+qYDxHS9gaml4dwMG4G05U0MN8FyuSDmnFkz451VVGLkOz.kXdQ2tGvLS6diODYzi8qMUxc5lnTfAzbqlMquU1IlY8Cla63R8Ml9BYMXmOhp0HO4wP3Iwqoi+zHj0n3wIwrbGZfVXaeh42WBGTbksgoLYqaiIughdQbm8TgYL8+B7kY1uaFK1r4xYFatKVai4vZ4Nqo.ZK4DqYM9sOwEik6j4lZ27ntXiJj6l.b2D6A24kJiUHlJVVf5Q8sxnsDi8XUzSgpzf2TsQe5UrcC07tbONUXXxXgTIdRXhY.kg9+7g8ujEZrxpBYYFdj8svw2NJ7ZbXLJq.5Wecxf32DmXkkxnOkY8jd.hQuBofXWsBMXL8lZXOPQabsN2PsTlOJOaPFsHe7MW3UJ2pn7AnTG6BzpFjaIlQbQhUPkA6YyKRBOvw0pPlYoWSGhG+X6OyLNY579qFhKQOHGysQNl6K++LWrLREyRH8PZ3cuzPUzQvHUGJOuZUn17zdGLLJ.6wTyBlryDQLaJcwXIiPQBcT2.rBFyJEAVPgaxMUq510HWkUpAEhF1ucHCecxugMNpVcH8nYbkOKftUF.Ex5qtlk.oerwVvszX5OMotrpZ3RXgpsBSCLFZ4RxUrwoaTQByNJa+fkALcvuysuyVE1hUD1sTC1bp9xvV2V0TFFJyKfiLTJ6D60CC+rf7RAUasnEacq0ZMmprLuOzsWzDtkM2s.LyVnoNu8CqN5cxTEVd0BWc0sWbUV8vanq8fnsOi3RFqlQ2yb0T2T3KtzMAJWgReUlTI6aHhWNZw8j7FiRiVW1WWDMzozJ4u9O2E61I8r2EWFCUxikb8KFvj21cV5DeAd3cud7ATMEuyv31.6Fvf5MQHT5.10bOl8FDK6d.K5JsZfw13W50oz6niuF736WDuaHGtO9UAkpo575z6g8i1Yb1GFg2NvzF9mWtSf4NARM4q1AJfVMJoLZ.V+A2cEBRZC+B3K2H2UxVNAic38GHXGJulI.R2fw+HvxcoCE5jVye28mpjpAAJI2K6EaeFSGx60iElE6Etf1UqAJKskOXmyXBFM6kz+Q6bBWxng.OwtmbQqezWOcgwq+hqEtDLmh7K2uTpk+08WJk8Zd6cJE1DB44tPsbcTCC8XvrKA0.TKqzRnpi84l3y1uLHou4g+M7ItyV3ykh6rURmuUli9TuP024YUow8ouqoEXcKMecwkcOEelzxwnbC941rQSG7fmuyyCo3GAhsE6yF2Ce17d3yiuG972tG97j6gOe58vmOat9fewP6NTq5aS4fFZen43rRkNTRgculc5N+Gx+YKiB
-
This works !! wow , awesome !
In terms of analog synth synth behaviour , one would need a way to not retrigger the envelope , or have a choice of whether to do that or not..