Tap In/Tap Out 1 sample off?
Is this still true for Max 5? I am trying to use it for a fractional-delay filter or would I be better off with an external?
Yes – as far as I’m aware it is true that delay~ and tapin~/tapout~ give an extra sample of delay *WHEN* the delay time is driven with a signal (I’m not 100% on the case of a float/int). You can compensate this of course. Thus in contradiction to raja’s post you *can* set a delay of 0 samples, but you can a delay of one sample, and so on.
The workaround is trivial if tedious….
-- Pasted Max Patch, click to expand. --Copy all of the following text. Then, in Max, select New From Clipboard.----------begin_max5_patcher---------- 481.3ocuUF0aaCBDG+Y6OEH+bRjAiI06gJ0OGSUSTaZCUFvxPzRWU6m8Ams2 RVZUnJd9EehyGv+6GGGullj8f4fvlg9F56njjWSSR.WAGIiiSxT7C0sbKDVV sQoDZW1pg+4DGbf+FQK+EjSpDnchdAZ8sSgn2qj5VgClOdzorAlk4gmWeyTf OZzNMWIf+bWuj2dzRX16lVi7QucbW8No9oezKpcC4.ohsIeEhfKCFb9VXT9l bz8GsIV4ufMAS1jG79VZZ3ypHQfV7SutOi.NDN1Tl8USY7mmxTBFx0hgbkdV FOrLtW5DCSHS5O9V.dvarNtauEY6+PtPNmKkeUtP9btTrcfK3hfgUcYtjsZw Xii2I0uGa4BcFKWHzxgaH.cnQTt30ZsQqgUXQHiWAQilh47lzX6haxClR7kQ iU9j1uQK.VrbUm0YT1nICYFuKM0igAkKaqhlL9aTO1Z3KRky52isMC9+PQCF LEjMkyXQCDSVqT+uuQCBI3+TLYM66qm1mwLE8WozHrNol6jF8QwTbRL6jMMB 8wOypjMcFeewQIft+COxhUQz4WQjRJPcFKXnX1eFckZ0eEBgufVwmDyE0JsJ OnNbETtPKfVMvnqTqkQnU1hdRyh3jlbEJxO3szeCVtOeuA -----------end_max5_patcher-----------
(the above will work for any sample rate – the [adstatus] variable could be almost anything that will trigger if audio is restarted…
The reason for the extra sample concerns the method of interpolation and although I reported this a bug c74 do not feel this way – I see their reasoning, although I wouldn’t have made the same choice. The reply I got was that it was not going to change….
Oh – of course – fractional delays of less than one sample are not possible, unless you are prepared / able to delay the rest of your signal path by one sample to end up with the correct relative delay..
tapin~/tapout~ introduce one vector size of delay. The extra delay of one sample can be caused by floating point precision.
1 – can you confirm with patch that tapin~/tapout~ ALWAYS introduce one vector size of delay? This is not my experience at all…
2 – Yes, of course there may be floating point imprecision converting from milliseconds to samples. However, the sample delay I was talking about is NOT caused by floating point imprecision, but is additional to this. This is easier to see in the case of delay~, where there is no conversion happening.
You’ll find 2 examples which show that there’s always a minimum of one vector size of delay. In the second example you can clearly hear the difference when you change the number of samples of the vector size.
-- Pasted Max Patch, click to expand. --Copy all of the following text. Then, in Max, select New From Clipboard.----------begin_max5_patcher---------- 1161.3oc4X0siiZCE95jmBD2zVoLHNFyeUsWzmippQjfmDuKXGAloyrq14Yu 1FbBICj3YmExTsWDfb7A6uy24Gevec4B207mH0tN+tye6rXwWWtXgVjRvht+ uvsL6oMEY0Z0b2vKKILg6p1wDjmDsx2kw1Rb1QpHN+55FgSY1mIN0Mx+RE+R sye7mNT9i0+l4EefyD0zuPTuLf776DyZJorBhPuXvQg7FgQpQUZtdg4q+zcP hYZ2mI1rix1deEYin0tvQoxo2AAX8MT6MeOem+oGVXYkZr39WUzrBW0.ea4R 0kUVxLMRdowfiV7JddOoEDtTEm43p+cxBefD.uvzPHI1XdBRYmmAhju0J4qF f5dHB28.fR5dBEZzJDLpA9HihHerQSreZzAHXAgGX70RqoCQGd8dNg.3BNgf DrWDDFJgCJE6EmlFgjnLNYhbFxHPAmMp2XsLX08svAv.1KxR6ECdAXTZXbqk Zr2uCqhQ9W4J+pbur7ZQlnoVmgMpMqB8TQgVE8cBkfFjRPCPIAVRIQIpkKHJ dBCAlv7QSNkIgp6tIAaBxWMq.jhlfTWruk9M+XuDeHDi++cpK1xRUxqdAoA9 QQSdpaMc6sM2EaY4LHQsbwnTYz3TsUJ4K4Yadw0d6YndBBuf8fvpVNj4mZmJ Nzb86x0VPej3sMixNf3GypNPBudzW4ck9dljnV0+I0uGJ3Y5pTEz5d998YUx IWPptmvxVWPNKz+ZbU3.bUv04JHV6sw5zdHHpmSuN6QR98YBQEUl7RN9TcGq 0QaJhongvevH1HuuMUJ4V03QldBOaTJSM5cw9CNNkQEpfNMxuCgMX7LkdjVS 6XtglEiu4Bqvq49SzJiw3xDaJmc+gHA2AzqdGuRLdrxo1NOuia.T7fVeAms8 MLYsT4XD4C7QQcAk8Y05TOFIolcd9nbXijCqGmS1SH4EzxwdadUNoZrAqEj8 iBKxS64L0Wun3PuQQl34VGKtcbc4.yseLk8u6pECFtR+HenDx1M9.jEI5X+1 ZidgSRw8QnDQ1dI1eww+GJyXcKAvkZIP0upjRR0WifIZWuwIFYNrr2vwYFoJ a3LlFuSC63ec1IJPeMddYGFmVSd41DyjZQxTaqEQSEozTtlTYSmEs8RbbKa5 1Sp8+lJyXJsacukgW73YZOcFMQEFMuQO2p5v3KQHgssak9SXU3K0GZXZ6tSv OqEgQWmb7w2hZvaddSAQRN2ndZtTtjdOof1ZKguQVQqlrMZ14mPtdgTxOkpp 4MUaLlr43vbNtZ4jZAko+nf9JAmnzNZdNg0+aZKo464xO9+v42LniyZLgrAS AyKlfI.SAoXOn8HKBfHuD.fjD4ywfGDFfUm41XxQQXOrOJFV0eVNH8cZsXa7 .pSjaF8.Xa7.mA7IGS9S.l56Ok6slFFGAvYd+QjCwwR+ONJH3jvhihem1q5P XbfqXupS0pmRSsO.roBlFSyWbAXS9yYj4GGLMi7jM4Ov7t6SpMPZdKy.fsXB 9XQSy6NDVsAwGNDMy6XYAhl2ZkAV50luPaqZ+7cvQx+7sk+2bHxfP -----------end_max5_patcher-----------
@ej – ah I see – a minimum of one vector I know about – sorry your post implied one vector plus the required delay….
Thanks for clarification.
Thanks for all your help guys! Much appreciated!
Forums > MaxMSP