drawAnalyserPath but only some of it
-
Lol how do I get rid of the yucky sub frequencies (buffer size needs to be 2048 because the dirac sample makes it look all comb-filtery if I don't):

reg analyserPath; inline function drawAnalyserPath(g, obj) { g.setColour(Colours.withAlpha(ColourData.clrMidgrey, .6)); analyserPath = obj.path; // filter here somehow? g.fillPath(analyserPath, obj.area); } -
// Tweak as needed const dsb = Synth.getDisplayBufferSource("parametricEq0"); inline function setEqProperties() { local props = { "BufferLength": 4096, "WindowType": "Blackman Harris", "DecibelRange": [-90.0, 18.0], "UsePeakDecay": false, "UseDecibelScale": true, "YGamma": 0.2, "Decay": 0.6, "UseLogarithmicFreqAxis": true }; local dp = dsb.getDisplayBuffer(0); dp.setRingBufferProperties(props); } -
@d-healey Sorry I probably miscommunicated, I've already got all that setup. I've reached the paintRoutine stage and I just need to remove any points from the
obj.pathbelow, say, 40hz.I think this snippet might have what I need:
HiseSnippet 2578.3oc2YstaabbEdok1jP13f3T+i9yApENKsnnIkUsigrb08Z0nKDhx1MwvvY3tCIGncmYwryJY5.Az9vj+zmh7.jezGk9FzdNyr6xkRTNxBIE0kHHP6Ly41241LG2QI8YIIRkSkZGMJl4T4Sc6NRnGtwPJW3rylNU9B2uUJin8BYufdBaaoJxY8QwzjDVfSkJy7mwyUo5rNle+q+z5zPpvmMdIGmmK49rc4Qb83U6r5WyCC2lFvNhGU5zKs5N9RwFxPYJnSy31xIl5eLc.aeJdra357TZxPmJ208Qrd9K42qe.8QO39sVZwG0l8P5CW5QrE886sTPq1O39AOj05qbp7QaEv0RUWMUyRbpL65xfQcGJOUXEvy4Ibv5vOZ6zEjrc4skgAnIhq5rwPdXPmbvJwwohamwP2LVn61t6wC3EqOFB+byFjwTTF.qbiIUuYlP8ZWV8ZUR8lhJUojJMqUktkaWeEOVOdGTe9Mt6HzLUeJ3mJqJ1y5bie3yb2PBmPnaFQOlssB9nfBuGzpUCxRsZUe4ZvoRjgrl9gLpxCVnF37RzjSnJxK1NVDRVgjyoAL8FxnXo.9vaNytyATLlfiE8Rfy+xoSPrL4qE8lqdiZjK7a5T7VHr88jjSXJM2mF9s4j9pILo0RC3xckx3NgzQLUaPaMIKHWL60kFEGxJ.au4LqRPRHYzf1bMEa.g1GH+7brfSayCYd.DW8d2inGxHTCi5CqZHNfpo.4z9VCvXK.9WE+kSgRQGQj8I8R62moRpUsjkDWxw3qXPjWGpdnwCVCneWIMfPEkjJgKLbMDMkXixViKB4BFoepvWykBhTDBzgZ95ZAxckLzyOGca.BNLkUu12WqJuOwK6qpvmUQZ5NJQyhZ1SIOMg4UZkMYIGqkwMH8ogIrFj4lqQgL8TrjzPMvFCepdA7LgoMPo8bM0xtZEWL.fVvVABpYAL.EKarTQPNrQ.zIXDdrqlCCO4k3cxkWZbPI.GVvjLzTwhgBFYG7L7+eVsy.GxzCUKA0yUGMyL.eCZXXOnjo2z7FF+K5f6fRhbnLUCdvZV4C7vrb1pdEX7.iOaPS.ZBWKLzyVcNoYuPPNndNvJeb0hMC4CFpGnXivCTqZbyDHuhcDfSZOn9A7e5g7DzndAO.QhFjExW4oLjXbIiKu9xDPkERMyDBFwEoIjD9.HhTBtGLo0rQLfnDuDNz9gzhvSHT65PvClGXOhfE1rYy5nNYsHieHdr5rqDTz0kohfDu1sZZBTNq.3rIKDJQ.8zHQRgzH1KjKT1GinWHxUBVODCNdYqW0LjIFnGtb9VJpX.C1dOfDnp6a7.Q2tAocyVKfEFeY6WgJ2ywjl8gdvzP9aYAd0qStKIb4wY8F1jyyDMEflULUVQQNMF.z6Etfgrr5G4rxRchojFBW47TwClPQAszp72yVyujOE7bH2RjjSYj.E8TrFwHC2ELrFIUMhHRi5wTnGxJKReoZryh3winCPrEZIZVdiNOibJ33H8f0nwwiLDPIKR7GRE.IIj1sRX9YYvXTvidvwO8s4tcqczm+FVv1TenyKXLKBnMnqUK..JDAAQWyc5PvMBQXjQxTPmYAyYKikyFL3C6V.7.bUj4sX8hWJVWRrKWBTCgno0Mp6xVomo6ZP7ViUwLeKMPP+Tz7sGouBjNtnepRAkFx7awRLCGKjkCmYdNabWtOQJ9RMTTOgYhKaR12lkARUBznHQL8PYPBwWlFFfHdJbWAhG3RDbcZ.TN9v851fvz9V30ZOXdQVPIueo9WYp7PZBIBJGyQuctSCy.YiJ7rIoQQfj.C1jjUXDv8QxSlYuoH1Ld7UPvRMHBrO6zto8LYfPwlEZWzKMA6MxrdBROShNhFHGOEtgKHoHqV.rYTdeOe.YUrKg4suTw1xV8CDrMFEqZnvlnG2.f+uDDReFZk4UuvRUllORsFbqw.CAkCZLnfvvvQFN0Qlv07SXlcqUEYrGeEH7k+XSdH7Gyuh0Ym0d0ffqPvX7ZlVPFZ7GhD4O7wFOeV4H364muncZo3Rfd6ezzDIdjzyTHye3qZ.xyX5MxpIvEdVw2.J3s.nb1sqm0x0nMyuR4fdLaoCid7gn96UGJ1YJ4qQmsAaxM4rbOnynwNhahUcAcgCEeBaLQwyRZCJw6UxJg7v77VSEVqlcVlmZe1.ZA9R7F.IRCHXK0Sopf5E.tAqWvZn.j+DiGXgOvA9VmC3E4XwUB3A4W3AVnM5BdGHOzcOq6pE4wTXnNTdxC10MqmqsWJz5.JtJ6YJX.83t3sOwRuuyqcB7JFuuPdQxmvDAvp2EuNZAAjUJZXRtycrTSdR1Zk5B6UGMQzikuSR9NFZlG2ELNnzFiLcIztjDd7E5R6Ue9xBn04EfQ7Ke26gf24tR4EtPIdORSr2wXAMje0IGO8aMVBEM25oD.iMGNPXuPC3cHmeq98m5dYbKjol513..TuKB8r2PnrmDOH7H2Ie4r6k+x4xOr22de5RGTJ1A5lcPLSbYO22I6R3vqrmISqf+Radi8mk8F6tgPlmxgCOk9SbsOW0wnwYS23G+oep0pNWApq5l8z0IH+65emitRjeK2y8L1IXi82y1YSHoDmYPlgAFaLREhiU1jcBTgvNAgptYu+Bv2hme3T4irh+l4yW.uplQ5erqI3y4Mkmoynwe7MqdJd2vhE9a+8UGZttewJ+3.zLKjj6OOJWRVAkjEQsJTIprnuZ7cL9Ol3uK4Jy3OdRFudJzJWXX7McK8jrxZsnLBs4pZ1azneb2CVaSxZOaycNfr8N6tkCOYOYDHC3Vy1.0D39J6H5.OtkoyGKzXEY12iPjKQYVMcUmKNUoO2cOYPZHUO4PtvQAlsAj+NwjkvoGIfd3iJOpvewl70UUEukaGt1e3z0waLEcDRP90PGylW3Mc2B5A6qGqfy5t8e8WmgCVV7+1bwWLLClctf218hyq5cLr2+4UcXuwW4g81cjvGbOrxgIFe1QJn6DbQrxhBUysD3joCJu7gRoFaGUdXy1Ay0Ea5CrehSiutKYRNfYn14M+6c+9NGdveYqMN50aevtat0gm0SAWWpGipe8RKcbS3ACNQHl3VAIzTUvsxO7O9TGbPYF4kuWnQaCx2uxLuqoR29ZNU5Y+etoR+AP4iIFbd0bcrKGCY1RbBKDRPx9mBYSVeJ7v07UmL6XO3xtwCkva7lL.CtR9fALUYcepFzZZMDjOdkau5gL3UsIkhj+CqtKboWp574HuGXQ626+QDlp+524ZUWBlRS9vsr+L++cYe6vbG.OKSwwZS6mF0Ep15y1HarKX8nafWv09cq7xUcg2FY93eC+x1rM9ckrMamu4+UjQD0WIesu81uXb5mXVAragoPcU28vuIsu3kcifpbu12eRVcABW75R38utDtz0kv+30kvGbcI7gWWB+pedBwlPqkpkQ1TSGm85rk4wIUpTzbuxLN+GU5k1QA -
@iamlamprey the simplest solution I think would be to put the Floating Tile Analyzer in a panel, then shift the x axis to the left (-10 pixels for example).
You have more flexibility with a panel however. Is this what you are after?
HiseSnippet 1603.3oc0WszaaaDDdosYQsZSQRgOziKLZAjCjknj7SDTT+ToF0NQvxIMnFFAqHWItIj6xtboUTJx+mdr+L5w9SoG6s1YWRIQZqX63ljhpCFdmclY+l2CaKEtz3XgDYU5jgQTj0ma2YHW4uqOgwQGrGx5Ks+IgHjzMf9ijyosDxPzNCiHwwTOjk0rOTym07ygL+9yuaGR.g6RmPBgdpf4ROjExTSn1dqefEDzh3QOgEli6U15.WAeWQfHAvzr1NnHh6KI8oOhnYaFaz2Sh8QV22dyUVestq6tQiUn02zYsM5VmrBcsUntM2XcutatBs4pN0cbHHqOYeOlRH6nHJZLxZtcDdC63KFvSefmxhYf0oOTG0Ad4TxsDAdZSTSEsqOKvq8HmULBYY2dhqa1TW2B1Gw7XioOwEdWyE3IRj2AZMSQ3MaA3UOO7bxAuo.IqbPZtTHcO6NtRVjZxMZ77Y1GvUTYOBDmxCkTdQybhscocE.KbU0PxKosjvgwhTtoiSEbCGmkdPoRkfnUrBeNQhiHbZ.9awijrOUsqHLRvgCkWLhG77s4jfgulJWDjbhbcS50iJAAMIdZw1iEGEPFti4hNPl.7nKZDNlJqu3RWhmxNEznBRozJbedeFmV0URAWqNOS93tuf5pJqQtAtU8HJR0wHH8edP96hHJ+bFUptZCDMJQR6iAJd.LFqxXppMD4UGKRTvyWtWB2UwD7x8WpzuTBC+zXj.JU4yh01xgBWRvNhDtWrwRFwy.fGxoMNaBEeCklYTL+oVMbGeVOE1fTk.6y7n3.w.bOI8mSnbWFMdowZvMQI50qME7obEnMmpNMdfVIM9FbrVOUvLt1JioZkAriCER5X4AgAC7YfjCv2un1l.Sh2KRhUTusA8.bdJ4TmyvKOR1JfIT+rJ3AUv94sj9ZW2CkDOFnrVP6gxml1HHt5.lxe6fHeRYmW0p0160bm5qUAv9ZKApoVC3eqjpiK+65Tgypizg+YY999U6AutIHaBQiSDpTvxFycrNSW+JkutGaikFKjmjL3ZehJ35UWED4M5jMFO.xmvixmvIQfTzxixpxxCA+cZQQVtZ4zjZcd1wobnKXVpZ.k2W4mAmLdbEQCywTlFy34xEEcy+NFaIkmKkRWAeJ3n0FiiITsrN7CTJnYIMRW1nqqdSoRlZXsm0T2tKIHnKLHnbpMCrjcuhHS4nbyll9Qi8NB9iDJ5i4F+y7fJwW7pd8l5c5RcoHHP6klx0ou1UHXYdRXWprBTIDjPGyHzStXid62di97ygbS67jiQA+.NS83HJ+sMcBk0tB9umbvdPDSOcHiFvWDUpXZHXsG8bX1b5rh4s2iF+RkHxvaViaX5oxb6cFMIQGqPLXdwWXmumN5U4G4OL+gALOELx11phEB4SY88U5S+tYOfKMxBFVJ7RBHphSP06YjcA3sKL1ROYhGyTCyuGx6swp2THdO61Lkq+zw3LSAiPL4CAFyVF4N16CEmtpI.bN6VO6J27Xta1yeMKFkeKD6TrTxdzv6r0OFOKu.dxl2ydct8A+ssZKgbT5frbzLx2cKqYuw9t5WsuKcNc+iHJICRhseTRX5NGfqiCI65RUqYzEUomczm0fnCk6YN72vurKqqOakcY8QWlO9rvn3y1IdLwgBc0nwsrPJErlDtMrayE8OEW09OtoqZGciW0FV.yExeo4qiLI0mHgdufOJ+Sog49b82E3km+iEBkt6Z9U86PBiBncz8pA0mWIGSOmJiodWTw6JEww8HdELNXkfrOCXS6ZOARehqQkbZrpVViqZoNvzmKtFwU.CRYtK6ISBWtQ0AjyQgZWXZ3Kjni1V+0u9In.3IMvazcAFiyaz8WLYataVx10ToL2GpOg38Rg7+CZMWnWy7ivXGlN7uO+bZ.Tak8Mr6Q6QRBTinVrv5HAWD4K3L2h4lPCg98ox7XepFz1JETeLgxBacLMPuA8DRe8VGB6tQjWr75cvWT+c9q+lZ75qrSgKV2M.+uIt8QMM6JGuN6MZ756c79e7n1OJSt9X7FgDWo34toqOqyk+TCEvt4l18yaej9LtNxrRc9XbHzU74ttEU0kDrwsUvl2VAW41J3p2VAW61J352VA235ETOzZ6DkHLsjEgNp89luGwxZ7tCVyh9GIVjrfC -
@HISEnberg That works but unfortunately I need everything to lineup with the EQ analyser (that panel screenshot has a surgical EQ overlaying it). It's quite the edge-case I think

I'll try and tweak a filter before the FFT and see if that can get anywhere, my earlier tests weren't very promising, I think because the buffer size is so low.
-
@iamlamprey I would just get the raw buffer and create my own path, ditching the bins you don't wan't

The buffer being linear 0hz to SR, you'll need to find the bin indexes for the frequencies on a log scale from 40Hz to 20khz
-
thank you all for the suggestions, however stacking one-pole filters apparently fixes everything 🥳

-
@iamlamprey But won't that affect the sound as well as the visual?
-
@d-healey @iamlamprey not if you split the signal and just apply the filter to a dead end container
-
@d-healey No there's a duplicate of the chain purely for the FFT display (otherwise the output would be playing the dirac-delta sample)