SNEX Correlation Meter
-
How can I make a node using SNEX or a C++ node with modulation target (value range between -1 and +1), just using the useful Correlation Meter code below?
(By the way, Thanks to @dannytaurus for providing this https://forum.hise.audio/topic/14007/phase-correlation-meter/10
)?function processBlock(channels) { var left = channels[0]; var right = channels[1]; var numSamples = left.length; correlationSum = 0.0; sampleCount = 0; // Process each sample pair for (var i = 0; i < numSamples; i++) { var leftSample = left[i]; var rightSample = right[i]; var normGain = Math.max(Math.abs(leftSample), Math.abs(rightSample)); if (normGain > 0.0) { var thisCorrelation = 1.0 - (Math.abs(leftSample - rightSample) / normGain); correlationSum += thisCorrelation; sampleCount++; } } // Average correlation for this block if (sampleCount > 0) { var avgCorrelation = correlationSum / sampleCount; // Apply smoothing (same as backend: 0.8 * previous + 0.2 * current) smoothedCorrelation = 0.6 * prevSmoothedCorrelation + 0.4 * avgCorrelation; prevSmoothedCorrelation = smoothedCorrelation; corrCable.setValue(smoothedCorrelation); } } -
@resonant Well, I am not sure it can be done by enabling
isModNodeand usehandleModulationbecause it might just not process the audio block anymore. But to be honest I don't really know what I am talking about here so if someone wants to say more...You can still test with
isModNodebut if the above is true, you can use a global cable (Tools -> Create C++ code for global cable) -
I think the calculation can be done using the
float getSamplesfunction and then passed to the mod dragger. I managed to do it up to the code below, but the rest is beyond me for now.HiseSnippet 2980.3oc6ZzzaabbcojFaSp3D+U93PNLPs0ktUgTTVwwA1xj5yXUKJQnUVV4jvvcGJtPK2YytyRKl.Czi4VN6Con.4WQOk7GH.EHGxoBTfdo8l+Gz9lY1k6rTTVzJ1pwAYkfzNuYl22u2LuYV5gbpmM0duPOGeeJ2vH23MBXVzvPVfQtBa2ymZj6MPl873sWpMwwyXskMxcEzRrf.pKg6v7pS4z.iE64SBCo1F4xM9mHFWt7SXHedV0EItDOKZJHCicXNVz0c53vSg1n1CbbcWkXS21oi1nmq1ZVLukXtrHfmFGMigOw5.x9zMHhgMFx39jv1F49CHK64rly5VMmqBgz5ipz7Vzl2txGUgdaqOz9isrHVeXSqJ27lDibmaEaGNKvjS3zPibSrHytmYa1i8TDXGmPmltTQiJFl.kUfWk4ZKDQATikZ63Z2WYEBptyoo5FWo5tFptisSe3opvKI6.mNCcEXtwxxdimg8pnydynwdCgkxowRSnXoKiLsBb74o8H3mIQq4A1wVDvNoyJpwZj66.SNL.OdoNjCnqF.M5Ogh2ZlYlFC+4F2oUjmkvo.y71fwoa5U7FE9hB4K7jB3A6pUqg1mfLALWWZvP6V3ZD77lXQunNMoASi6Rbin8GHH9Y0oniWmpaxsTRs1.Ydq44v2zm5cbNBFwpJ3sGt1xDNQXHhgAiymFvcDrPtkocgv.kYIOZYZ3AblODHbDaF3svrif3srtPh.s3N.cPF6lv33E5v6oGH9RyuZTYwKiZ3vsZObdbrgvifl5UAOFGMdQzJsZQs3oL3DnU28rKzqPbnGPSAwuHxbCQhz57fc2cnQceIJ0C2Of5SBnayZ3R5ULjzw2ktEvjSia5xrNvz4yoGMrvWwCKJFQQq1DOOpa3oI54birZoxy2prEKh63secBOv4PHLbinNlPhcK5RwbG.K2XhfHU6YDsENFlvJUxF+W3ItyJh14h6rRRmZweaP4OlEbfzdD+tQtKHT9EPIpdiEbcYOdIVGemXmTkHQCBkMNOZlRvOpg0f41yuMyywRXmTSJg0WnCKBnZL+m5zuXh8IQTf0q1l33JhALiBgLI1a5YB3QtHovGbClM714VkXA57dMH71hXIQtHvwkFTxpuCrlXj5.IT8pEG05VfyjEQUrAv8cDpIwRn4FWzuPOMdLwEX+pHpWWpKjxZuVLg3CqzmgodejcOORGGqvRGcj5dzJ1YX36D3qIzxXpqT2lDrOkGFmZ0iZorbRU2Z1hEzB8nGtmmPXZPB.xCqVI537HGO+HtjLPHzgIInW1IzGhrVLBRQnBfy.wPjuxldXhS1JPbhMra.4zSb75SHohreKvNT2waGQHkdpt5jCyBq1WUyjS8UtJRX+0m9z+VUyCnOVo0igh+9u96qJrOW.s.mCaFxXa5g7sYRrAZitf9RP0ygj6jpArWIoxzLp4mDvh7kMzHcsCZ052TaYZKRjKe.1btZFu5ki7nsntTRH8mnf3+Wd5mZ9RTPf0LGPPTvFTPjPEBxaghS1Y5ruGw8XDmIQODbkZAgx1mrLodFtLIxvkFsp6xmIJ8RPpi.ZozdGVpB8Y+hDSJWnSzpmHDQZLWxEvNDqEys8SBE7hD.+lH+Nj8h7BsHtR8TlXXEpGHFFsMAVDRjmvz0wlFz.BMDsVHx1gspipK3+p.TiAi3yF9lSya47odKHwpAZdJHTEnsPtSRrrPDm0AVlTtGmT2G0D0ccTSMikMi8b.MPFS56HWM.VwtTlwbzTtCfjSZUfSJa6wmh6MNZD0y91QKhxv33inRL0uxijVSgTopKiI7DRa7xPHKfpCrjiuauWVx4ypNb47YUOCDGDZAa6yfbe59hFO2bRuAZsvcD8BQAID.rrKxXGzgH2e3O4R0tZRMFxrMqyDSVlW3ZJHXAHrXy6zfJYpC5TddI9i74kX1yyptLuRJQjElsc.jgD1MtNoDr4JdhDo15ieKFiKpaW+7ZLkEg.0DDvAzqijsnf8NjlAlHArJmzWiJuCyMpCMrrPmWdYPS2jcX4MV3Qkq+Py0Vpr4B0ar9J30WawsVXqOsbiEV5AlkMi775gWmbXYStTitBnA83ND2PrBe3YKCFuPdPjptlG3vwe.dlJyT1bcyUvyhGdu3Ue35qiqu1tkdLoqQGg0.k6o+ieuQGhb+de0aujgKnVjRZRetR8jcR+4F+4cjRUNkGozD+r6HkdM3zIxT5c9DdzzQ3rtRb8GwmiYbpkDnYhKGuNyikTqmtqMT4596Syl0aXBT7dy6C4Z0R1kaBnu7GpsNjIjDLXz4KftnxK7wPLT606EWJAVjLA+56oJM9unOUoyjiOQSDeWkHNI5QjtT4s.HEv2V1tEKnC9Sndz.g8oxwcG.+4dW8u+xeMsMs3.K.Kf4E5yBgH2TL+clzNNay7ng5PGbFypumm9yX1ra7fG4kA0wfxLJgpXUPUnMtKTKA3r5.aP7xfLncFLUWXRSZ9OqpVE1jBRt8lgVfhgLvlsZD4FRejiMucE8IlBdVcv2mDXK1JPl.iWIKa8y7aBoef6BA9z822QpVUUboAIqC8fJpS+If1+zIyc03ScEFJWxQuY7ADuXDmCo0bjkAq3hXPcOxlfGAbbQzVzPJ+EFEppnkn3sjYZDUAnfM.RduZiBRlDIvfjWNcbwkjHv7.migMfpaFA0AfEV.+Azdg+TzHfv3So1Ovi0bPDb8ipMtTLBfpsaxVjcnDEWAYR+rHww91G7nKPZrxEQpbaaQ7fBpNURSdjY6nVsbomNOrIQpjUa6PedhvDJDbkLzWbJMRjbMTRZXsNF.aWqls7.W+cnYmqz.OM5+1G+.3O2uqwnS4cf8+YAaZ33o7y91LTt0ebwEDDZ4RktYTiAaOxT9Jn0od6yaOxRbqCDzQ9rKquDuyeBnaI6FFili2kQw6.vD1PprB9S1uanH5cQaFw8i3ujP2kQ0arhrJqXDdDuwQLx5sDHBpN6XPyL0FEm5ygtOrL2PBH9kbIPydFWBjwu8WKA5WKA5Ew0dLM5Ooh9mG7hcI8LT2Il78r6dSBRXVWm1Rqbi2uV+N1xY+1bcG0UgE2aBdCZyn1Mu4OTMAt9DjcrN6wM.BtZ.8yzKv+9NGApwx0R2pesB+3OTcaZGeV18lCdUi+5zktezDNuYbBG4gA1LNknBDVAKqQZKFqS16L7+TcYRG+zCnDzy+qpOhxWGlsaLr+423+8UWNnmNLie7a92UkE.oiKvFP+bpVdF4sR9ZqV94uzC3f8y6TXvVGBslEKyig++ShryBC1YAM5PrBX6EegfhTjWPBAjaO44smGUWzFW4n6koCT68dVVYQ0Ql3rm1IdyS6Dm6zNwO7zNwacZm3GcZm3sO4IJNZj3KiTDaXX.aqU8Emjq+czjabCZ7GihZKrBW69P7nGFey24FqkiHrP9OEm7No24e4j6nuT6jO5QiwlYLDGVYBhLo3653wwary8vpKPAmLdw2Hl4Fqr6dar4xqTLA5MtSg7EJj2lEALId28wyiqTZFAP3mlLlKF7nscooA9EUi853t2nPd.m4U+1ElID7ztTfn31hcwkArMM9C.rMs.kRBkOe.kGE3gAViB.dhj3YY8F2C2k4XiCo792aXLM6SRmVEafmed7L2.WtLdMw04CPkbe26HXGAhyKQih8uuSHcktftpX+2tNldiu3IwiBH1JGBDxi3JLaEsD2+DVGz0w1SiE7mi3qKJclweteEan9uoO0JD6GlNf.wwnTT1NUPE0xHLsIGmlfBhbvwxd7mCXwA5E3A3sAPkfmVJ67VUn1JF5S7taKWFgOMLf9yMegmbmBFFGwG68FlO1gcbS8xlLG5tUAH3tpO4t4mBrqSgodVLaH047S8vsW8Ct8TUuWgB2M8JeuWALNsIN4lrmepYDSN4RriwUx8WG2a5UWq5GPk1yZKO+TxOkiovC6NrA9I4FrmBKtB64mBvX7MXCumEY5Lk9EYq.U9dEtaYcYxv3+A+Zd6PB