Global Modulator Delay in Scriptnode
-
Use a series of mod chain containers with a pma node that you chain serially while modulating their multiply parameter:
HiseSnippet 1653.3oc6Z0zaaTDFdV6LNX2zpV0JthkJGREEKuaJsUBghyWtXAN0sND5svjcGGOx6tyxtqShKhS.hdieDH9cP+AzhpHm3HhibovENByrytd2M9i5cIe3pZGojcl22Ydel2ulmXsMropXGGpMPJ+V8rv.oEfM6Y51ds1HhIn15.oKAqibbw1EESsZOKjiCVCHIk8d7IjxOGv6yKWdUjNxTEGNE.rMknh+ThAwMb1FU9DhtdUjFdKhQDsuUkZpTy0n5ztL7jEVFXgT6f1CuIhqVFHPJ2FZDWpcSWjK1goypTsdMaSOvTn+1DGxt5X9.YPS1FIlFrVahtVifypC.HMWivSdVwI+Zv5DMR+4C8.W1SPwvUD0GHkYbPRNAPRJBjlS.oq.apZSrbCkvwyEf0LYAjVHlqNJTD5BjdJbMJSAS2RFnN3p1rA8Wvh2tb4aVj8qa7gs5Zp5RnlEolaRcw22bwaT3qJjuvWWn3wE0p0PkwMiMUWGaOTw7nq83V3hlcM1Eaeyh6iz6h6qH63G2mlax7ophScDEol0LIt22B6OtJUWi6q3OOXD.361XO8Y0VG4h3AE+4X5YgscIb3HsNdeVVsHDkGtN1oiK0hkWOP7ik4P05pibimNwqa7Ev7Gwhg7.koCwsWz5pDjiUdr4XSJDuBrAwUs8vwXlgfQlm5z.i9UlWDtQqVXU2P.NGr5iRaYX4DWFVvuLjYStwWveXwpORdnEfOAFlraYisP13snMzQ8VzAYXoieHCi2r3t5T0NMIOFOXEhk.Bqx0XQ01HSSrtSZJjxcB0bB7PZWWh4d0Qt1jCARvM6Zzj0lVEulO5XyIkgWCIFWlOlmWzDap4M3eYe7EJyGK4KTNPXjxuMwtGPs63EN7eFHMuv2634j2o0gxfUz0oGrF0vh3mkxhAdy0fp2ypM0jnxmRnQ.RWwf1kYDe39wHmsPDcdZcytNrFEZ22rISYuqwjxtM11waimGVtD6GVZ9lTMlHXUjJyw1qAxsMudg26gkbhsKo1OIMFVilmv2hfq4DdIFDM3GcuK4xFoYiHejOhUskQrq0b1lKUEoC1lGu4fGv2St5A3iq57PAXdEX8zEZY6CsrQfVAnAUaHn6ZQPWeMNq7cvH.bAH0QkQSg2XbPGnMtTDwoEebQr1AGFbWy5DGKVWhU6x51I5EEaF9gvTCeXPAyFrZdM18YdKOnHpAxlwVxUr9b8GwdtNwz+HG10tN5viM2kqzzEawaKE8FnlcvGHbBQmk6mxwu+.CFXmAI2zu6PLMqGwHM8EfUsweYWVsZuP6qrD6yO92K+Jr+KWdP6WNgG8E7rewGx68.FX+SgCfYrD56uGqu9oloGmuedXi1HmSl3dRscNOBTC4XKJeyw0IOzgrmBqCR7Z2KAMX+sTfrIuvMf4nTFoLwJgiUuIcV33EavfN9XM9svnNxwO6WPz2hKIIcrlK1wMjR3VH68vtN9bjMwphaf8t+olF2bj97D66V3BBNAm1c+h5PhBlXNkq5ceCiBUoPERc67I24.gVFn3tkBv5c0cIV58NVRUlHIUyeFmTsRWWJqhQj4eFTZK9WaEgg9a0688u8u8K244KGMfJbfwBkWrenjK5LHHliiA4QjbGKDl8bquP7KCNkRehj5NvNkjLnW9y++wBDthl13tVZfNCAzLkmRYhdwHLQkmQEMoTQSEcnSDpnu3YrOK7Gynh9lMUzBATQkeijKZNOtnmqTQWHj8m74OWzXnYZfL5v3wLiM5nXiNhbbtGbJfNpRRoiN0DCmwMcLbSUdMfapxLtoI9qIsx4E2zex5iJ74Y+mYbSmwM0i9oxaveOoJSKjSUlpHmpL8PNUYF4zIib567c+4Ct6udzxCPNU4blbJD5req3Qwn2KMie5qM7SGUmCQD9XYYsH5bMKwEcRQ+qpXOCeb7M7X62nY6Mjf5spLfi7IGMYTtp7MFOezTtDD99gJSbTsxRKczw4e8zm8rqOg7+t9e8BOvjE9fDy8Q4oClMoT4jf+woI0mu3pqeju+uoAk51lXtWL6W42e72lFZemiuTDIkrad3Flnc0wZiKlyqpVkR6Xf7dIqR2q63YwqDlAR0lti+cU7h22xaFVRso26DbdXc93hxf8EmVH+8zBXPzH6npxeOAeeY.X3qQIEqYoTrlakh07AoXM2NEq4NoXM2crqg+pR62giy.fMQiMDMhkBRL4uSX+GvGKdJS
The modulation amount is then determined by the Intensity parameter of the intensity node.
-
@Christoph-Hart still getting a LFO delay in an FX Plugin....
HiseSnippet 2273.3oc0Y80aajaDmxxzIVwW5Ej.bEEn.D4k5flSmVIYYoVTT++DgFaqdR0I.2C4n2kRZg2kTc2U1V8vAzG6Gq9QneK5q8aP6LjqztqjrrrtbGttAv1jyvY9wgy+HSq.ksHLTEPxsYmQCDjbaQaORF0+v9bWIo4QjbOk9tSNuSy271NcNtcGxAiFvCCENjb4x+FjmbatNQ+8e9iGv83RaQxTDxEJWaw6b8ciRls0d+IWOuS3NhNt9o3t5dMsUxCUdpg.dxSKQFvsuh2SbFGYaMJI2FG63FoBZGwiDgjbqefxYT69pajF9uvMz8ROANvhzFDjY5STdNHhwYIG120yo038cHgji1JwJj2XEdA8TWG2IymXM9bMAVxJRaOxsVV3kOC7rRCuRof2bfTtTPZcCjdFsscf6fnDJHddBsoLRDzkCl8zPwvKYs+cd5gJfCYTQe9UhSBfASVw10JU50L3Gu52WnvW8UrCCD.vYbVT.WFNPEDw5ykNdhfBL3jILhcMOHg3aMzX+A1wxdtRQQa856LE8sAoyJv.42ouf0Kv0gYy87tDNaYRgvIjEoXWJXBIGLNNrtJPG.mfamdU.0vQRalaTnvqKNDoZ6orupXgYPSwPQzwZI8FPSaGELT7ZV8LPPuT1MfOHSptgMHPzUXTo3VvxH4dwrDBNh1hhvhbC0q1W.JC3jGw3gLOkrG964rR2P4uIhELTJck8zKcajqi1+8rAd7Q58taHKLRMXfv4UvdyfmggBs3bkoEmV.v1CUVnRIGqzYEGOHBrfikVf.Mb5UmX774Q18SVtJzMxUImugDREXepxQr8LDaoMZGGuqmXdaiHXN6.iMzfJa93cIbBiHBLS5EKtVHYtcYKvRUjsMvvH0PlBRo.bBj7.WOiiRrHiOYiX9pqErgROHbYQ1qWMW2HjVy3Mwg3dXaHLo6PoMZtXJ4YpHw4xseUguqvlE99BroI0s6bogQiAJOcbwbHiYDCVzB2VNz+RQvqgPQughILBoIxl6gd24dRmZz1jbHEiJYSoaz4CDx6JgIINiBlmJFU.qQ5rTOMNKUaOWGQ.wERF8HZ62teqiIZ.mjs+y2i7WZdDOhOVLfDAsLPDD4hafbGItFpcXR9sI8HQ3UfO.TF3Pk+.kD0etMihyVaT5IdJdDDv0wE1nnp+EzzSYQtch5+mueuQSF726uWL.LZCVlqGbxejaH5tPtr23hRaQqVtt0NU2YmxUHtQB+zDZTsQscK2XmTDJiTJaUqZ4ZkpWqBQueycJ86JvXubhMsoyK+crWZ1CrS9f0KeMRtozQbKPnjdDTCyScy6UAWEBUEEv7c4dghBeOdbLwf7j68THwDr22lxD7sg6MHANXcNLRBh8G5wAuJKnTb.TEFLJH0mReO+ZwIp.esAKLRLns6eSjtW.+rsF3ySTL4WtminKenWzEYcIvU4.QeshSJkP4w6QlshHTKdL9RWfF6JIl.JizUEw3YIH6Qo04zUsWe4pZu3lJVV39LZKWHe77w6ZyAuPzxO13MtGnOidb2tB6nDvtN8jOrvFddvP4da9YCCVJLNB+CZfrEMIXICfNanuIzEy.lKGrufYhCiOXHrcRHD2gTt+AMIKKzJ.3mK5nZA7ucH2efm3qgs1qYWhU.Pe7YSMGG2bftFgMzvjT3EtJYv2Xo6dzZgcOR9Z0PLm2o7n.WHriB1f15VYNLFcnMXMLQtYbIbL5Z0VHczC9uvWLQqIFLfn0XhI0.HmIhtASKgmbw+MjtYNWc3Bv5qipeDsTQ3ej8wTZX1K2Xee3DTOWKk2nA8URWabJCGiA+99pgXpNyN3s7vNbWOLXo8vPnnky4x1.y5qgfNnmAsu.LeB2FLsiZwi5iAcXYOvqFpyae+WzAsxnXFmq2Xq.T4qy4h2KIOR2XAL5CE3mQ65dakxeT66PxffuHEBRyzObk9HJ3rC215N2vFxqlhVKkhdLUa5rH2ioMS348nmT0+MoAvQPxu0LA8MCu.oB2dfDW4.7AlG1JP8UNF0mAcuHE5lvwOba9VzddpK4deDj4rli.QwTjePZa8j5Bc3A8DQgwMKIE1l.F8tFKISogW2kzJcU5mPOIP7WGBwBiLMI3ItcbCWSkSb5Yfw51OhSwLQrlykwi.sdpqL9nfhA0jS42FOdCpUMXh1S5MfRsfwFeTivyrRR5C+LZjrptESBIr8D7frmLaQgKB0ungxCvGcs6DlYLLajXXRpbmXbR59n8L8NAYZuRbiAro4zrULBXFQm0fkcyOabvhhRW0f.iCXF0fI.0EiKhjdXpXJ+0wU0m7m3oehG5wPEUGnmBS+0f.xdxrw7cY2fVNqO6lvDvG51l5H3Ef+Y4xMZTp5N0JWtR056Vem3GeII.a+gQJviZRGVyWiOGDUkR5OKqFkK0nbiTp+4zFEq2.+pYUemJkJuakYARsp6ZsacqcqTp1NV0qoARd5eNIXxpXoLpe8D0+H5WZUe5nz5wQkan6bd5fxkJV2nzogZkRVkvMaiF0q1X2RVw1r19JEbwcYuUTUUuirJaf8WKta6v8i+4HzMolGSxYZ49IMY0cJfeDE8xJfCTpq74596VoKrm9lEO1P7WQeitfXx8gFmMRay+0wjSt9IaBCVK3An+WK6CPOXoe.5b4W5K37.dv40+Y2CNurWW84ybzD9vuf8mlmE+YFXRwt1isTS8jE2KvNvcfxiiM6jOIQ9D5uXOzCooLs2D9rGcG+rGodJq2I5A5LMmcD9CT36mloX+3TeY86Hj2oTCFmnIE+s5yCwWRLTDko+.PrcTmxCgvZ8SSloMgdRnkSyqSldQGNLDpPMdCnKRhI7LUL+FZspEgut+V7mMND9Qky+zLl7.N9W78Z08dsbdonmvjibzm3m4OCjAwSbB++.DuvGtJ+R8vUeRxVs5OV0pq9eJdekeJzgO2NP8QayyRgAXOVOCruk5+GW2jdJNlYM9s6M8M4CEj9nsMZh+RvEZ9qo7JrlJqvZptBqYmUXM0Vg0r6Jrl5KbMXu.w2z.C4fIZcrICdtIkOxkm7+.34PghG
-
I bounced off some audio so you can see the delay - the LFO is a square shape routed a HPF so basically on / off. You can see the tail at the beginning and a gap / delay on the second region.
Could someone else test please? Unless there's something wrong with the snippet @Christoph-Hart ?!
-
If anyone has a chance to test I'd be super grateful!
-
@Christoph-Hart ok so without Clock Sync checked on the Global LFO this is much tighter, in fact it's a little ahead...
So perhaps there's an issue there? Or in my code?
HiseSnippet 2512.3oc4Z0saajaEdjkoSrR1zMMYwtn.EfHn.0AMqVMRxxRsnXk+MQswwpQpIAnWjkdFJIBOhTcFJaqtXA5k8wpOB8Qn20a6aP6gjyngirrirRh2taU.bL4g77GOmuygTtcnviFEIBcxsd2IinN4tKpyDtbvtCHLtSq8bxcOzyO3ntsd5y51c+Ncc1YxHRTD02IWt7OUslbqupi9y+9q2gDP3dzzobbdkf4QeNaHSlNa6l+dVPvADeZW1PqUWsYKOAeWQfXLnO4QkbFQ7Ngzm9BhZYqfbxs199LoHrijHoQN4VcGg+jNCDmwMq+UrH1wAT0.WmN.iLSefHvWowpe2Y2Ar.+1I1cjCvz1odg7FuvCQGx7YSmO0a7oZB3zcX6OxsRV0KeF0y0V8JYodyQkxYoRqZTo6i53ExFISonzm6fZwkzvdDvsaqJl05rx+JOZWArBtr3PxIzCBgAS2wF0JU5IX3GO92TnvW8U3cCofhiIXYHgGMRDJwCHb+.ZXALbxDIwmRBSI9LCM7uEuOuOiSK5o2e2YnuAvcbALv+tCn39gLerGIH3X3rEyoT+HrTfOlhobB3b7w8DfLfUBgc5cATilv8vLYDMnmZnhpWfv6jhEtf1TLhJ2WyomBRZCY3X5Sv0ynB5shOChAwbwY3QgzdTiHomCdFNIHdIQPfnGsHrIVjd2CofvfURjXRDNPv6q9+4rSVD+WJwgi4bFuudqanV0da+Z7n.xDssyhvQRwnQT+GC1lQeFGQ0riwsYmlAf4oDVjPvSD5EYGITBdvDtERUNN8tScdCIRuAoaWDwjLAe9NR.Jv6PgOciKPrs1oserUO081QoAywBL9PiV4QRrR3DVoQfaRuY5oTNl0CeEdph3MfELQLFK.HEXk.o.HzyDnDyx3SVIdn3TJdLO.RWtJ+0imaXjhVqXiXWkMrAjlzaL2S4tvB9KDR5Q7Mdbgusv5E9tB3YI0q2booxFCEA57h4PVgHFdUabC93gGSCeBjJFLlNcg.LQVrGzki8XCM5Y.GrVnf2hyjGMhFO9hnSNwHJJbpXsBVpTiRcuXTpNALeZnCC.itEpyy1t89NZENEs+Sa57GasGQRRXCvQPJingRlx.xsG8Tn1gA7aczdznSfX.nLvthgiDbk7ystLFs1HzCBDDIjv0kAFpRz+Dj8TtNmOU7+8W2bxzA+0AMiU.izfswBfS98XQpvEmi6mTT5tnpkq6tY0M2rbEGljNzlPipMpsU4FaZQnrhRY2ZUKWqT8ZUbz1atCQeaAL9QS8os7ezuF+HiMfO3MtO5IJxs39zyABkzifZXAhydsH7jHnpHEluGIHhV36TGGScH24cdJj5BZ9MVtfuIp4nT0QUmSkIA49iCHPTkKTJNDpBCNEE06gdM4T5AhvgZGVjjNpC6uPs6EXX1VCFRREryWzzm1iLNP9prgDpc4CYesiAkRob6lNWrhHTKNQ+rKPq5JIlfhG1UEU4ybf2Srk4rUsWcwpZm1TwbyQVP089n1L.Od956JyQegrkO15abOPeBZ+d8ndxTkcUzAu4Ja34ZqJuyleVynKERxveiVQtKJMYIiB8hwCMotJDvb4.6BlINMdmwf4jRHtCob+MTJJKzJ.DmS6JZCqeiHxvQAzWBl1SvGqp.nhwuHzbbdyN5ZDdPCSbZPzxffu1B28n6U18nyKEiUXdGRjgLHsCA9fN5VY1MV6T9fUT.4lwkTiUgVcnbe8f+C7Iln6TGFPzMgXZM.mWPkmofkTmbw+N.2LmqN7Jv6qypuEpTQ3eNaqfzTnWr3Xe3DTOWaQvjQCDblmZJyJRT9sGJFqf5LVvyHQcIr.UxRmwQPQK+i3cfEquFhJ.8EP6KvhOf3At1IsIxApjNUYOHpFpy68tunixKqXSBVuwWAZ0PMlq5dI4UzMd.i7TL7SP8XmWo7a0wNNYzfO2RCrWz6uPuEBB1gaacoFrg7xInUrDzsQZWmqy6v099KoBngBeCyxHqGZIqoq382CdWT+.wwjf2B77hFWHsnE4qkzVMEkuKIrOUFE25Cm5YB+0Vsp.KBEcZOm110buC5fP5edLDYOwTxOfddR6SyfvM6LvXcyDw.FSYqArMYDH0CY73RxHUJpygjyiGuFxsFLQmoU5QHWXrIhyv7L6zwpUtrRLCEMVuZDTgaEiyuUzqTTgqHlvQHQOS.tW.kDl8j4tH3ZMCJZnbsNTV4R8Fqd4dCai2L0Mmwew7fOT4b1IAl.vLhQAmoKsVTQ55IhYhWSpQO8WUNfzHz8g5i9PGBltkAFjMjcs4GxtFpb1So0gIfOpv1SnmYrEEpQohkK2nQopaVqb4JUquU8MieJkzDrsGKEPD0z9kluDe.vpJkzebcaTtTixMrD+CPMJVug5SM25aVoT4spbQEoV0sb2pt6VUJUaS250zJRdzevISfly7iJuE5KcqOaVZ83.y0z8AOab4BkqaD5rpZkRtkTFaiF0q1XqRtw9rNCEB3Z379KonpdInJqo5VdZdUZ2uWOaXNLdcj44g7m0G+AMm8RYvGQVunLXGg3jgDcGaK0UvsuqvsMD+YnmpKJldCmDDIsO+mGSN8Bk3oKv8JdR4+wh9jxiV3mTNW9E9JKtK7smxs5GqmP9F8xnO3BGSQW+qO+g4QuuuQMQpdxi8Zy7fDuSEaG1HQ.Q07S9Tf8ozeXSUzRKtcjk5QM5k7nFVOT0yo8AYZy6tzgiDpWG0dxoPgYiAcbdtPLJAzwZ8sGPhTuSXDUZuZEa6JNjDAo35GdzlXq9bnETyaOZO+tiifJVIFfStMQUpUL6mSOpWoeWwek0X3G8ziarqdrFuzTz8OgpUsXV5UN5CyXmqQDyUeQWn4sEMvVE7LMJQEF8+3uKjQimF29C.M9JeIq7+n+krb+95gXrL2OyXt2Q+5r5uFWsw9YnDbA7SoPE2Khe9Qup6QdRPEh+lAint1bdFZksosGUNlmc4loJOKts5wncsev3jIKaOYaBOCyfwY3zgLqmo9e90FP6NTvZ7OJxCLVhteXKL7wAQzWy7kCbs2X5zksm9YjP+rUMbV1FRx9J2Vq+l7K39FEf48+k8+vzZx5I5XGl5Rs6yOkF.8Lq0weJzjr9a1HY1r4YGJ3hj20LMB3kT.dneeZl.q4ZPaKkD69AdXyWRCnPWDoS8KZ9bnqZRn91SKmuv8Z+2lvbOu9BjQcwJvA7ON9FY9+z5XKbFJfe9CmS5OGAX5kw5ia72+m22DMKbSHigDuPwa8LeYWJ.iaqmArat9uiq0QGpFicS9KBv71MCgxNu0ySES+kf+Y96o7RrmJKwdptD6YykXO0Vh8r0Rrm5W4dTU7iewSU7OLQ68MWCL2zqslKuy+ECjSwQA
-
@Christoph-Hart ok so additionally I began tweaking Audio settings in Logic and the process buffer range makes a big difference to the delay size... (but nothing get's it to zero).
Below I made 3 tracks of the 3 different sizes available:
Will test some other DAWs now
-
@Christoph-Hart ok tested on Ableton, BitWig and FL (Win + Mac) and it's all a little delayed. It's also different each time the filter moves, the sound, the waveshape created etc.
Is there anything else I can test?!
-
@DanH yeah you need to enable the clock sync module if you want it to be sample accurate. If you disable it, it will just react to a dummy note on message that is added to the MIDI buffer but that's a hack that I wrote 8 years ago and is not going to be accurate.
I'm trying to improve the accuracy when using the clock sync mode, there is already a system in place that allows sample accurate syncing but I haven't hooked up the LFO there yet.
-
@Christoph-Hart Right, sorry this is all WITH clock-sync mode engaged - I ran a test earlier to see what happens with it not engaged and it was better - but not the behaviour I want obviously... That was the only post without clock-sync, if that make sense.
Any timescale for hooking up the LFO?! :folded_hands_light_skin_tone:
-
@DanH I'm sitting on it right now.
-
@Christoph-Hart Thank you!
-
@DanH Alright I've pushed the fix for the clock synced LFO, please check if that helps.
I've also removed the sync by note-on hack so that the only way to sync the LFO is to actually enable Sync to Clock (I don't see a reason for keeping this around any longer).
-
@Christoph-Hart ok definitely tighter! It is still different on every oscillation however, but I compared it to a couple of Logic's modulators doing a similar thing and it's in the same ballpark so I'm far more comfortable using it now :)
I'd say it looks and sounds like it could still be a bit tighter, but I've no idea what's going on under the hood, and is much better than before.
Thank you! :folded_hands_light_skin_tone:
-
But hold on --- Lindon removes the smoo he put on the slider - and bingo all good...
When you remove the smoo how is the code supposed to look?
import("stdfaust.lib"); Q = hslider("Q",1,0.7072,25,0.01); normFreq = hslider("freq",0.1,0,1,0.001):si.smoo; process = ve.moogLadder(normFreq,Q) <:_:_;
-
@DanH
like this:import("stdfaust.lib"); Q = hslider("Q",1,0.7072,25,0.01); normFreq = hslider("freq",0.1,0,1,0.001); process = ve.moogLadder(normFreq,Q) <:_:_;
-
@Lindon Thanks :)
I'm still getting clicks when the filter snaps back after triggering notes. Is yours fixed you think?
-
@DanH You either get clicks because you're not smoothing or you get a delayed modulation because of the smoothing. Pick one.