Global Modulator Delay in Scriptnode
-
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.