truncate a note (addVolumeFade) *after* the note has ended
-
@d-healey said in truncate a note (addVolumeFade) *after* the note has ended:
HiseSnippet 1186.3oc2W0raaaDDdojXPESaPSQPQOxlCAxEtNh1xJVvvHx+HmJjHaASG2dKXM4PoElbWVxkpQsn26s9vzWf9HzGk7FzNKojHUsrqpZRARzAAsyO67syry2rpejvAhiEQDMiyGGBDsOV2dLWN7vgTFmz8Hh18z6QikPjYlnCFGRiiAWhlV4moDnUsBI8yad5ATeJ2AxEQHWHXNvKXALYtz9seNy2+XpKbNKnf0MZ20QvOT3KRP7TVuNIj5bEc.bBUYVIcx2PiGRz9J8s2bKmFtOwcyM2tUSGZSnkG0yyZK2FMZtSKqsZQarSSn91Ds6zwkIEQ1RpDhIZUNP3N1dn3G3YA3BVL6RePsvhXiQNS7wBeW0QTIkb3Plua+oIpXBQSuedZqbVZ6A58XtrYxySeeZpBybOJl.0JMO7JOG7rJBu5Ef2BfjVAHUICR2W21IhEJy0nvyc06xwpoGEqSEgRlsDseW+PAZ.WtQ.8J33HbwLGp0rd80MwuVaWuDtijI3lB9IBIbJu1ZF+jQUie1v7uqxyag5TgIR36CQKTs5pQzs4XMdRvkPz5lin9IvLCwi+74T8aNmVrj6jcpKXnf2kyjmFB7a5h.YRpB+0K6dDURUEhIxP6BgHISAAsifQXaPVYop9QP7URQH1HbsZFdaQ3l3SkyeER0nMQAlClqtoJN7XlbbwFw2Z2qVVHde89LoyvEiwRK.iXl5cAFmzM9I5c77.GYN.qne728to0qX3uWV3uqtMiCo7noA+ySWa9szQf4y.NDoRdV2BU5errTogKMU5oNRL7mGQ4wgh341XaHfctfqxB4BeYL17Ce+YppYQ4GJnQKT0ad5w3gbg9XSkIQoWK1OPjvkycMn7swPashLzUdOlg1POPvEXqzBInKcdI8HXfoONTVQuZtm4WasqgRDLB4c55pjzp0tFFO9weo4U7Kmd6v.uQDKKJAsbJYO0084bwk0d3TcObcSKjrGo5MJ3wFwf7LJe.TC0scc03.qabX.yyrVZSvFr38QpPOlCi52Qgx8Q6GA0lf30VynZ0LKQbbgvOI.TQbp90KB5MF.xKTT90Vac7nqFFYXTM+r2Cyj3aFRGekG0ZnUUKjylZEtYJImjNKQYzsL.a4OOlO5Q2TDL2auY0t7iMOKNGLtS1NLam18C4olYCKQTglJS6Ht2jNBaelKDQXtp1gYzaoXtH4wJM1UYaPHx2oHhtyxD2Wi4CMCLbiU+PEW7Awg1reDJR+EPe8rk+xu098fo6ywIUcJFsYAg9PG9HvGykoX7yvjmGMwWNU57Cu5g7UgCEblSwhyYfLhMX.DUD6K7.suThOzOWxCZeF3CzBSoZ+qseANcgFkRKtZ4Bq+07yKrd8E5Yv0LkA8+RcqxxU2t8QcuUdgV4Oreg1YhDIiOnGEuPp5kQtXa7gQN.FcNG7U7cZkTLSYqqOsM2F3toK9S7yDkVp0ZSTZMU4+KwHf5DIdkSFmo5N6GkJAO27z+gbU7upiqMstNSY.9DmW43L+VcMG2bUcbqU0wFqpiaupN1bUc7Iqpi67O6n5En6mHEAYslDRu9cRmroo0gSwa4ocDj+BcDS33A
Nope, that behaves exactly the same as all the others, press a note, release that note, press another note - and you can still hear the first note playing...... we never see "fading a note" in this snippet UNLESS both notes are held at the same time (classic mono processing), but that's not what we want here....
HiseSnippet 1213.3oc2WssaaaDDcojXPESqQSQPQdj0ODHU35H56BFFw2jSERjsfoiSeKXE4PoElbWFxkpQsIu2+h9Qzef9IzOk7GzNKotPUK6pplTfDAHAsyNCmyNWNyx1QBGHNVDQzLtXPHPz9bc6AbYui5QYbRyiIZKo2hFKgHyLQGNHjFGCtDMshOQIPqbIR5m283Co9TtCLQDgbof4.OiEvjSj1d+mx78Og5BWvBxo8F62zQvOR3KRP7TTuFIj5bEsKbJUoVAcx2Si6Qz9V80753rl21quiUcq5auQcKqM2oyF0Vywcy5qu9Vq65s1Nzs1AM5NMbYRQjsjJgXhVoCEtCr6I9QdlCtjEy53CpEVDazyYhOQ36pNhJoji5w7caOJPESHZ5smD1JlE1tudKlKar7IguuLcCyIVjO.pUXZ3UbJ3YkGd0xAuY.IsbPpTFjtmtsSDKTNYGEdtqdSNlM8nXdJOTxzkn865GIPE3xUCnWAmDgKFaPkspUaES7mp65kvcjLA2TvOUHgy3UpZ7yFkMdqg4eeKOuYtmxMQBeeHZlaqJMhtMCqvSB5.QqX1m5m.iUDO9SGS0u4XZ9TtS1oNmhBdSNSdVHvuoBAxvPE9um27XpjpRDCkg5EBQRlBBZGC8w1frzRY8ig3qjhPrQ3Z4LrZQ3l3SkSWBoZzFtAFClJuoRN7XlbP9Fw2a0UyKDumdalzo2rwXgYfQLR8g.iC6F+B8FddfibB.KoexO7go0Ku6WJy82U2lwgTdzTm+0oqMeAsOX9DfCQpfm0sPk9GyKUZ3bSkdliDc+EQTdbnHdpGrMDvtPvUQgIBedL17Cu5bU1Lu7iDznYt06d7I3gbl1XSkIQokEGDHR3xoJCJdaLzVKHCcoOhYnMzCDbA1JMSB5BuofdDz0zGGJqnWM2y76r10PIB5i7NMcURpWeWCiG8nuw7JdmQUGFXEQrLuDTyQj8TW2mxEcpr7n8VdESKjrGo5MxYwpwf7bJuKTA2ayZpwAV23v.lmYkzlfUYwGfTgdLGF0ugBkGf52GpLDwUqZTF0ublxHTtT3mD.JmNRkUxi6U6BxKUr9UptBd5UyiPqwiRrvGVMLhwkUV1i5x3cMolbDRKqz3s32IwnVXDGuaQ5XtInqhRwbw1QZgdTI4zzYNJktkAcy+417gO7l7f4d6MNGWcbrgm4mCGzH6IL9Is6mxSWyFphnBUUl14rzvNGaelKDQXtp1lwzfoXNOIyBMdVoaPHxKpHrty732WiwCMCzcCT+Q4W7hyg1reBxSSFPe83k+xus+GA2BXJtqxivnMKHzGZv6C9XrLEieEF77nI9xQRmdHWKjWKrmfybxmbNGjQrtcgn7XelGnCjR7EBlH496eN3CzbSydyut+yvoPznT5yEKVX8ulGel4qGnmAWyTl1+K4sRyWd61GI9d4lbE+z9lbmKRj3LiVTrfT0Kibw13Enb.z6bN3q36zJnXlxVWaTatMvcSW7m3mgaZoVqMbSqQa9+hOBnNQhW5jwYppY+rTI34lm9lzkwWoGWaZcclx.7pPuzwY5G00LbsE0v0WTC2XQMbyE0vsVTC2dQMbm+YCU2T8fDoHHq0jPZ0tQ5jMMsFbJVkm1QP9K.SRR6yB
-
@Lindon I get it, yeah that's tricky. I shall play around with it.
-
@Lindon Think I found a solution. The problem with noteOffByEventId is it's tied to the event and makes it inactive.
So instead I'm using
Synth.addNoteOff
which is not tied to a specific event.HiseSnippet 1211.3oc2W0raaaDDdojYPESqQSQPPOxlSREJNh1xJ1HnHx+HmJDKaASG2dKXM4PoElbWFxkpQsn26s9vzWf9HzGkf9BzNKonDUrrqqPcAb3AAsyrCmuYlc9lk8iDNPbrHhnYb53Pfn8o51i4xg6Mjx3jt6SzVUuGMVBQlYh1cbHMNFbIZZkeoRfVkUHoOu+E6R8obGXlHB4LAyANjEvjyj1u8qX99GPcgSYAE1cy1ccD78D9hDDOk0aPBoNWPG.GQUaqjN4aowCIZes9lqugSS2m4t95atcKGZKXaOpmm0FtMa1Zqss1XaZysZAM1jncuNtLoHxVRkPLQakcEtisGJ9AdlCNiEyN2GTKrH1nmyDefv2UEhJoj8Fx7c6mmnhIDM89yRakyRaOTuGykMU9rz2mmpvblEESfZklGdkmCdVEgWiBvaAPRq.jVICROP21IhEJmoQgm6q2kiUSOJVmJBkr8Rz9c88D3F3x0BnW.GDgKlZP0VMZT2D+o1y8R3NRlfaJ3GIjvw7p0L9IiJF+rg4Gpxyag5TtIR36CQKTs5nQz0YXUdRv4PTcyQT+DX5Fwve9bp9UmSKVxcxh5BaTv6xYxiCA9UcPfLIUg+60c2mJopBwDY39BgHISAAs8gQXaPVYoh99P7ERQH1HboZFdZQ3l3SkyeDR0nMQAlClqtoJN7XlbbwFw+yNWcSg3Cz6yjNCWLFKs.LhYpaCLNoa7yz634ANxY.bE8C99amVuhte0L2eecaFGR4QSc9iRWa9czQf4KANDoRdVWCU5ebSoRCuwToG6HQ2eZDkGGJhm6EaCArSEbUVXlvWGiM+vaOQUMKJeOAMZgpd+KN.CxEZiMUlDkdrXm.QBWN2wfxWGCs0RxPuxcXFZC8.AWfsRKjftzeVROBFX5iCkUzqlei4SrdtAVsiklvHj4oqKJqCe.VMVyIBPbqhuCYwRjN03oO8qLufed9QlIFVPBZb9D.pq6q3hyq93bcOttoENA.4+MJXwZwf7DJe.TE0sYC0LBqqbBguvg5axQuzCCYb39ZCfz.4nT57p3q1nByyrZZ6yZr3cPRTOlCi52QEc6fuzQP0IQpx3yT7+UyyG0pUynRkLiQ7elvOI.TH8ZLodw3eldT9SrTC6PDkabbtRd8oAfZP4LTVsFZPkBkmqLNulYk2VYI9GjdxcZAufMFbN3qh97fndQTnxQwRZPXZf9Q7L8rQ4HpvsJS6WWcR+psOyEhHLWUy5Tx2TLWjZaotTfZuAgHarhl7d2D+9NLenYftar5OJ+hWWOzl8iPQx4.56lt7W9s12At6wbLlUxwnMKHzG5vGA9XtLEieAl77nI9xboyOZsGxlFNTvYNEKNm.xH1fAPTQruv.ZGoD+LjYRdX6S.efVXFZ6es8gHaKMJkzd4xEV+qmdrv50WpmAWyTp76t2Yr7G22Y7DQhjwGzihGBU8uHstMdUMGXB6qhiSqjhMJaci7Vaaf6lt3uvmIJsTq0lnzJW4+K9Hf5DIdiSFOo5b5mjJAiad52rWQumZso0kYGCvKk7FGm4eUWxv0WVC2XYMr4xZ3lKqgsVVCe1xZ3V+yFpty3NIRQPVqIgzqemzoYZZc3T7TdZGA4uMZBWPD
-
@d-healey yeah that works, but sadly it seems to add a distinct click to the start of every subsequent note...
-
@Lindon What's the fade time set to?
-
@d-healey yeah I just worked that out if fade time = 0 then click, else no click...
so well done - good work.
-
@d-healey ok so (sorry to be a pain here..) this is all nice but....
its using Artificial events, and now I want to add "legato" so:
step 1:play note 1 (and hold) = plays
step 2: play note 2 (and hold) = plays note that slides from note 1 to note 2
step 3:release note 2 = plays a slide from note 2 back to note 1...So pretty standard stuff, and my way (and I think yours is similar) is in the note off at step 3 create a new note and slide it from 2 to 1....
BUT: if we are using Artificial notes for our mono system - then I have no way of turning the new note generated at step 3 into an artificial version of itself...so our new note isnt joining our mono processing club...
So my question is: in the mono code what value is Synth.isArtificialEventActive() adding?
Why are we making it artificial at all? wont it work if we leave it alone? Just trying to understand the script... -
@Lindon said in truncate a note (addVolumeFade) *after* the note has ended:
now I want to add "legato"
You're one of those moving the goal post feature creep clients, I see how it is
@Lindon said in truncate a note (addVolumeFade) *after* the note has ended:
Why are we making it artificial at all?
We can't turn off real events so we have to make them artificial.
I think what you're wanting can be done because I'm doing a similar thing in my legato script, but it's probably a little fiddly.
-
@d-healey said in truncate a note (addVolumeFade) *after* the note has ended:
@Lindon said in truncate a note (addVolumeFade) *after* the note has ended:
now I want to add "legato"
You're one of those moving the goal post feature creep clients, I see how it is
damnit! I am!!! Let me take myself outside and shoot myself....
-
Actually thinking a bit more about this.....
if we are doing legato/glide - then this whole "stop the release sounding" thing might be a bit pointless - as we are sliding some new note into teh equation anyway...
-
@Lindon Yes I think you're right
-
@d-healey actually its simpler than even that I think.....
..separate out mono behaviour from glide/legato behaviour.... so two scripts: mono followed by mono glide...
-
@Lindon Let me know if it works, since we're not calling ignoreEvent I think you should be good.