Scriptnode "oversample" node starting at 4x crashes in PC
-
@tomekslesicki said in Scriptnode "oversample" node starting at 4x crashes in PC:
Hey, @Christoph-Hart - would it be possible to add an oversample button to the built in convolution reverb fx? I just want to be able to oversample while using IPP and it would be great to be able to do this without having to learn scriptnode and then rebuild the whole thing in there from scratch... I have four convolution reverbs that I need to be able to swap the impulses for based on what's selected on the interface. It would be really nice to just click on a button and be done with it.
Agreed, that would be helpful , I also need to rebuild my plug to use scriptnode.
-
Totally, especially since it’s so basic. I understsand that if I wanted to do some crazy reverb voodoo, scriptnode would be great but oversampling is standard these days and having to hack it in doesn’t make much sense to me.
-
I am having some problems loading impulses from an array into the scriptnode convolution.
I am not using a combobox or a Audiowaveform but rather a rotary knob that cycles through an array.
It works fine for the normal convolution but struggling with using an array to load into the scripnode conv. I dont need the Audiowaveform or the Combobox.Also unsure of how to get a reference to the Scriptnode convolution and if its different when it wrapped in an oversample module .
Using this with the normal convolution , and this works.
const var ConvolutionReverb1 = Synth.getAudioSampleProcessor("Convolution Reverb1"); Engine.loadAudioFilesIntoPool(); // Load All IR into memory to be pool const var irs = []; irs[0] = "01Piano1M.wav"; irs[1] = "02BrassE.wav"; irs[2] = "03WoodwindM.wav"; irs[3] = "04StringsL.wav"; irs[4] = "05VocalsM.wav"; irs[5] = "06PERCN.wav";
Then I load each impulse with a knob.
ConvolutionReverb1.setFile("{PROJECT_FOLDER}"+irs[knobSel2.getValue()] ); Label1.set("text","Cat One"); Label2.set("text",catagory1[knobSel2.getValue()] );
Any thoughts on how to do this with the scriptnode conv ...also unsure if I should do the code for switching in the script fx code or in the oninit code window.
I cannot do the callback in the ScriptFx and the oninit does not recognize the loadFile
So essentially I cant even get the combobox to work .Quite confused I must say.
-
It might help If I could figure out how to connect the combobox to start with ?
Should be able to figure it out from there if anyone can help ?HiseSnippet 1704.3oc4X01aaaCDVJNrswconYncnejHXeHAHK0tusgtUTm3X2507hgkaSFP.ZnkniYiDolDUR7JJP+iMf8SX+TJ1efsiTxVzNtYodnACaNeHlGu63yc7ditYjvkFGKhrrmqc+Ppk8Wfb5yk8p1iv3VM1PQnE8XZTm1zXo058CIwwTOKa6BOSwg8byZo+7gmtNwmvco4jrrdkf4R2jEvj4TaV4ELe+5DOZaVfA2OnRCWAupvWj.no.pjUHw8HxgzsIJ1lAYYekZdLoHxQRjzXK6YWW302om3DdJ+uhEy53SUKJa4.JJkbcgumBwpuaUsGy2q4.qN1xxF0L2GTH0GbKzVLO1P549hap2.mKgo+vdlyCdkMgWoIBuxSBd1Fva1T3s.xwMhEJy2QgsqiZvkzntD3JvDVo7ZMyeXipJ.N3xUCHGQqGAKFJwROpToUvOrTok+94KNeQ3hHVhOlDgWKwiI1kbLsqHJnL9I3A53PprpHHTvgEKs3nrsXpVt6cUbyotRrrGEGqABt9d32j.Z2mcDESv8HQdtBvCfCDdI9z4KNptVMlB5Obfo1vawUvK5LPUFG0Kio5iwgDD5Sav8nmhKgkBrqAF7Xwg9j9JxpkZAYQN9BIVzMUbspqu2jwQbtxAbj4s5lvckLAGK3aKjzc3Ksbw2VbthuqHd7s51ch6obpQBeeZzD2VknDcdBtDOInCMZE3JyOgNjQHhYzPRzGOjzLiwM8N1fQAuAmI2Ijx+XApVYAFPH6LYnBXUpCXucV.6HdTKlmJgZTurk1.LKgXMtxtYlxfnuNh0Emp0yBiQ7LJ5CO05kM1fHIpTpLnBvOjFIYJOi8FzigZUoIXyg1fFejTDpskrfbK6q8IaMmND.ueuJ8yQyOUwHfVWycX.skQHFHvUF3FNg4I6kqg9U5QYG1yntJqhkAVu5mjyJGm+lINe+yqjcrHaeX8fiDYur5.kzf3rvgyVjBJUpxmIxQqepZZjsADAORgJUwHdLS127V6yRQ0KJbW.0jIc6MY7NyDvqJ3+yLdyZQMOpV2tPUsbvNKp9dWx8iPoXoHZPQyrAFLhlMAz1IA57i5LecwHaavzFzd5WsQocLhn.bgFCDEq3t.u3XU8YYOhD6R33NTbBnQLjhgomBMv3DenHePPBm4pulLafAU22Dj9I3Z7CYb5ptZ8uF2qE8PVLH8PHszYZ94EGNtfaDGtMUdhH5nkVD1Nu8CqKtuHAeBgKUcW7EDOL.1FsvciDAf83px15HNcEE5AqgECViu+iGzCBP4pJozPYw21r0N+Xspsec8c1biZsd2tf0qFCa0SHGu3xpybveC6FDFQCIQz1hlPGtkRKizBjZEbGeg6QNregd1VHY0gVWwwRt8HPqR+3ooSyXylU3h0oYBw5sDIRF+vsHxHFTWBAQMNvHgtzpYnSE4LipwP55Rp0pTOGJ2Su3OgOYaVdXXFrY4Aal2qxJ6xTGYm8c3apvXDBteUTggSfZ+0Itf40uIQUNbAjpEIj4AWHtCy.uhRhxV.fGGpaBd2QHCICfZGLraJ9gxwA5Z2vntYee2AUeWA3HMUpEbuplGXqXyQmsKXzLCrJP4oljF7WUgtafDP7SZXw8N0ZD64NF1yHb84xVNe7dMEdmWgoiE9I5Bui.2aifxBPpa7plr7OFq+.xglNl3AFCQdfJGQAU8TiGT5.0+RxF17fzgGOn33VIp7CK8IbiYOS1JnYRgTq2.BVuJcXFUFSyjN9LWkkXMlHWAoJcLf2sQMd79aSOA+7FN0vYUSb1uEs+QugndOGd80p9hW1zfx94Um2uz82UH7Ngw81RUxw7XyaG1lDAOCP2fhDAuRSckbtKllQvLa9cizMuNxABU0uSUm38U50X0bW3mQgfXUa7xmyiU+8K5iUCuvOVcGWIb7siH73PQ7HJ1gFvZCykEaRDdtR8H5O2R4HMoWUPhl3Ve3o0Aibhx3PjIQ5aj0BDIb4HCjT3BOEfYg4QmSyf+ILRvr+q9EzWdylV3hA2+lgpla.FcXpB.03GS8gjDMF+RHqnKIwWNf5nA4aI3hvdBtJQMOBnEE5jd3gzHSrOQCZMoj3dTNkaUoE0mRLil+5JaBQgjnszEpmJeQ4Ktu37tutCJEtXUlI9+Fuonv+KeSwkxHeWFmQ.wMR7Z2zIkUwxWSSArat92vbNzVp03g+5DHToUKYE.UDesqqxc+Mf+YxxbuoPl6OEx7foPlGNEx7noPlucJj46NWYTMiVKQJBRSEABMqoGQw1tFm.Qx5ndq+Bfg73kL
Figured it out ..it seems . Needed to make the irSlot a global variable.
Seems to work.HiseSnippet 2006.3oc2X80baabDGPTvwhoxMNSbmLSen2noOPmQQhLINsSS6XJw+jvVIKNDL1NSev5HvQxKB3NzCGjDapmwO1uG8iQeweD5Lc568if+Fzt2A.hCTLzRLi8zFpGDt8tcwucu81e6g9BtGINlKrr2Z3rHhk8OwwcFSNs0TLkY0qskcEmFVGNKBGGS7srsq7kpIr2ZSK8uW8vCwAXlGoPjk0i4TOxQzPprPZ+l+AZPPWrOYHMzX0eVyddbVKd.OQndY0shvdmgmPdDVsrMbrruUGepjKbkXII1xdyC49ybmxufkt9GSioiBHoH0ELTp3t7.eEhUOa0ZJMvuetyFaYY6zuv0qj55efywTe5b4Egf2SOApPCy3g8FqBdMLgW8kBuFKCd1FvayT3cWGWOAMRVLiBauqSOljHFigs.SXktVqM9KUbZwgUvj6EhOizU.ClqQsOud8cQOnd86+EaWc+OZ6pvVQrDcNVfNHwmxeB9bxXtHrA52gxsxDhrEOLhyfA01o7x1QYGvR6qVMi3IQxoDTrFJntOE8sIf0CnmQPXzTrv2iCw.TH2OIfrc0x1ZuXBX+nbmsm+N6h1wM2TFupuNlneMt3vn.ROlO4RTcjji7LvfOMNJ.OSIVMTqHU3FvkH93T00lt6SWNNhKLNfCc75i1WAfNrITFYu.N1WqWWZ.IFBv79bdPsTPVDUgvx47fDIkyFPNmHFohr5Cbp3p1.otw7M4Z6XnCJSoLmW4Eq3mZATV..Oz3Dlm1.b1gIRIm0PscJ.D5kuWtK.vfDx8q9cUQvO53ZYiUiRkokKbOhK09qxUqsy20evI+9NsF9rtmbT6NCdd8G7XtGNH938t.eN.TDDryUV+vyq97un5xylR2CxP3N2WE5yvYKbPvHnvPsEc.Ujvv6dDWRNgUS4EaU84UQKN03wKctLiEPDKcZUIKwpTrFKIbDQXDC0KDN6Vt3fy2ewAyZWdoQGiExY8XT4IQD12WICqrPJT7nRFpfmj5RG2KqzQoLaKpupzV4rcKsCXVL2ZQi8dYFC12FwOjeo1N2cAgWwPu5gWwP2wwb+ValeZIQKCMecu1XIVUgLyegXPDQHopvqcax4.0SZ8xsbZShOSxizAjrbLK6aeiCIWNG.u3oMmUfluooQ0IMy47pSVF0K.EtUN5uf5KmVXgYMmRnSlZPSRaZYf024FEwKv4KMw4K9plK7Z+iK9ZeQ6lTIILNO25JH3ZrUYDkbMd6+6Y4ucG6+FLN+M6X+yUta7w7P3EgEfF1aXcUVOf6UQOfkkIjUcgjMAbPrDymhciESkyLS9divRecg6cc5SkdSWNd2XI3ERueSi2rdd11oy3w.IYAX2zo6SW2FbtA8esgAVbRwRUmbNXMPJcdxDPOJIrfpUkIYCtVd+N+camzFPDD.tPeFX0RQig0hhUz8xoXIxCyPiHnDvhH3PNhbIzQDCG.8LDFlvnd5sosqNIfOBjlR5AT0Yr8dZie.ye.YBMFTcNdpUeQJe+3nEUrcbziHxK3hypsCLcQqLzwnY7DzEXlT0ohhjEAHs2.zXAODbFO0g8Q7K2UAcvUnwfqDD7a.J182+0SM2nOEy3MxnlSagH8u4TZQBRDVPFx6CsKUKsL1..y6hFEv8Nyk9mIWkGLqN3gpUTyaJF56JHdcnKWnU+JWuTskjoOfCMLwlbLVJnPkIGHmwEtggGoUF5T4ManX2RGWWMVcvykv70C9OvurIaLOIClrQ9jEDtVY6l5F2ydFdRkD63.avJoPmt.2SWrG3dy5iUEDuqihmGN2QD64M+72sTZzvB.7hP8HH5VRLbT.La9cmRwOT6NTW4Ft4T1yOIu96tvJROHM.1WUM0bbr4MwrqXPlBdEX7TWRC92Qgt63vgNPSSK9jKsJ4Oeng+TZUuo7kUi2aqv61JLk29bY3dOGnn.b1MdOyk7CFq+VGWR5cNN03FImpNinfp9JHmV+T0+Rxt4xoo2D4zpK5kNMdP8avNltnp9k.glTu2.BVONsYJ0Il9IiBndJOwZAUtkip1Q9Z+ENqr8dS6TvtMDKf1507MXAbKdULdkCVmd5L4xd+btLiqJoOKcOmkb4oRbIsEyJ+AM9lW9DhrrHHC.JGw7JQP2KLJIHlbDgMwr0pW8vLb0iEkHMkCWS8P3BLSD7Dl+vo.Qfuo85KH9Dnjqoruh1xvF+0+Yy1vtITUybMc6NLKzTHB1.S+5IutsuPkall+FhUkIs+WubSq.NOBp.Kj4yoDzg4mOztx+OUk1HO4NoQp20wEpQou0sNK4moGiTM7i9RBT8R081p9nW+iq6G8J5Z+QuNwSBu9gBLKNhGWxvtjP5Pnc7XSgP1TWA4OMPcfyTdKNVrzod0C6BN4R0wEKSD5StGDBImxR8gV4GXyeK8qas4+S+w2d6cKjJWO39Z99fakiQWppXeG14j.n9oFiuOTvbLNIPlKsbd8wbFOZJmopgWroOf.mGmLgHLw9RcnCjRnlVgjOn4.R.Aal.+KadDj3gEGqIkWqXQiqerXU6WenSJbQpCinebb6wJ+H51i2.n71f33sw6HD6I3OyK8VQpb4aqk.9MSSfukywpwn4eILGm56UG3s8oOyySEt+3FVVKWmOYMz4SWCc9r0PmGrF574qgN+p0Pme8J0QQFcPhjGldTDDzuit6Ua6NLLjIqy5s9u3Yj18.
-
Seems like this crash also happens in HISE when bypassing an Oversample node.
Tested 16X and it crashes when bypassed ( sometimes it hangs in there and crashes when engaged again) Might take 2 or 3 switches.
HiseSnippet 2556.3oc6bs7aaibFmTxiekcylzlsc6Mgr6AG.WCQE2jBzGlwuRM1nXUKmjcQOjNlZjDgImgkjxwZ2s.En8PusmaOz1isWJ50Vfhj+.Z.Vz7OP1i8lyk8PQA1NOHEGRQIQKKaKmHcIdl4aH+9988bFNSp3RLPddDWE041ssCRQ8s.Uai8atVSnIVYq0UTuL3QvCPdMgNH2GWRY01NPOOTMEU072kQi5bSov+czJqBsfXCTTWJJOjXZftmosoeTuUz+PSKqMg0P6ZZKQ8x5aYPvqQrHsn7SdPQEGnw9vFn6CYjkCnnN8F0L8ItU8g9HOE0oVkTqc0ljmfEz+PSOy8rPrFZJUoOHQ2aRrpw3XVuJq0zzpVkP41Sg9PqDgB4Env0.kMqY1o+Hz3J7AJDMCY7PMW+XOMY1qX1YOUI1aJA6cUPUCWSG+nQX71k.ag8Qt0gTUfLaInUQ8Yf0HTBv9KYC2GsoKsQmIrvMKVbwBZEKdieP8VXCeSBt.AeehOZa7B2X9Oc94l+WNegjCUudpiwdMtDKKjapCyz5t8ahKfaYuGxcwBG.sZg5PHU7iiufdiuxpeCgTKQHAuE1zeaGDtWntR.TQw+bAbEkTeN5e4.zupkYMjqhIEjmA7gXxdZJbFV1kPIyStTJS9AasNzGxrABXGJKRcC8MYRu55nCnNWBKh4.qi712m3v4WaGBlw7pyLPN9PYu01QMtstmOxop4mDxQ5e4m7aVwIDh1pFOTA+oVXyORi5p5R8RoVSrQlFvCMnHwIyNPwOhS94PcIN4GNB3DaRs.PxvbOjEMFTW9TTOaRsVVP+3t6roGL.0FMleEy4A6Y52VVmcpDCHqr6UAUL8MZlN+lKE9kYdeJyuAQTeavF0qiL7iX1o.a9QmAgOAcyKyA1gzxGQe8BPi0xD2nPYnuq4gZwYp7wYp7YKlSJXRvaQ7RnLw8aYWkloy.QgDLFYwBnoxzKAsKxZyTQUQ3Z7F4hFTi0VMXPdi7QCVh09qo+XC1oQvf2TdvNMj0Xy1oR.SaGKzcCUX.v5ts6UA.O6m84e0JqirfwrtdjYM+lgcbiO6A5cUhvh5agOfFRqBwB5lz1bTg8pSkYGHlHU3BiC+2.vg7KRLL2j3hCCeEPE33fAwPE8HzMuXhX.ZxCpkXvRggZ5Yzi7AClZzi.vb9fTxAAYikgNshS+GfBE1.2vDiVxvEQQt08btOx+ID28W35Rq.YWWHEw8n360kJU0wEQS6i1kTg5MrfGjE2ZG5CYwB6YQL1mU7P20aFTBwpLJVvH.FGlxRmd7IEQRkbrTDIUxGyTDijRhCJsd3JIl9Kvlfuvnf+l9WLSruMHUyDFchp+1DZPa2tBjkR5p.1xBnd4H2kL53s+do+LzTnZBYc.y83dTylXcqlm8hBW+pPwPq.1lW+Kc0qA+cPNQf5hTJDtB6PMXYqJprm7pgYlPUBKlk87yIdCLYOuPllgwzy.7brnKvtmxmX3SKQPMuzpRnJn.NLW.pK3PADO.Mv4AHGuVuTkjojjD..VqVb4XdfM8eWh0+4u.DknZWnaCjOOSWjMDa2DBawjHdoWh4V1D+vjdakgG9vjKJ8djmfbC1QGVXrG33zocDUU6rjsY.EWpXQZfu8QOQfaxzIrNDujjupmpzk5HPK7N.BkwEg40t0gw0GeGI6p3jkP8nNpTOc4nle81XnsogP2nn998HrxRa2g+Th7sUkjzoA9Pby3B3kDFb7AdSyhKhRY6NdhUoMI3Su1e8trMI3XayIpKLxlSVP5o0H.X2xJ0XBr9GyBpMrpKlq9nSgkVfhSfZ6nUBzGyJHpA06uTRmFChKZoFmW4YhqFTyEzhtxg7h5i2A4g76gQYkV6YYZvXJkDy6c.OvCkwoNPUetr6o9wOqaEOCE6Vw+wOKMEuRL+0e+ui86umPw+iM9mOuwe6c0EwA460PJtqmjfK5etdlsUozNXV9qa+Gq7MW+EqH1N9p1DheSZA8I46k0iGYQJXxrhRkzdMnVooY0JoMFWrz4Zfwj0NMxxg0IX3bh8uHVMPZCYsR4FypUJUiO0XK4fUej13bkSiDyuQYYTi9rx8JJ2zrRlzdculowYcyS6thIsIULMohoKHUL06.KdGTOQo+uMntoEizknicgK1BH65qk06Re8aeQp5qk0SQeQocv5qm+Y+ma+qsedf9ZSWzunEBazte5q9v22j+6EqHy2O+ew989I36PJiy2gzNX99+9G9ye00e0Wv467feZ+xUMPbtTJtxkREmKkpqboLvuxwvOcbkG4ocFnqb3zNg78UxdHHJsUie3QDxRef5xrfI8c+EllmsbRxxIIKGOSV9qtU7jkpyJIESKD2UMgdYdYqYcy765gwO2ZXD+6n5EuI0lj4AvNiVhuoRE4isUXUqT54XtKa4AaUi5Qv9X6a6z4aLGZX1ecyQOcTF86+8Wd0+t7dU5QTjMNzwE44wEQpirR2X+trked7w9AUs+Ph9AeggSS3+jl74CzyNJLH3G.vnFm9n+QqjUae15cGmA+iCHLXaedX1wFzOHSdkTNwniHz+rLQ1fP+Y4Q8KTZbB+46P7aJl+yxB8+SFmT.g6R5aJZ.pbv40yBcP1S.y2KzKN0+bxTAuEPZi7O9JA9mIY3f+bxv+kBg+jmkjX5g4Ac15lQjp3kw1qCQ.8Wkpp3kI1qiPZ6dAsurGpBkTE3t9hPuNIww1asS70mAbbt9L+H4KshhtO5P+NqzR4X7PicSXPo+P4KgHamY+Gg76yk1SQoumY++zc+xMzS4Z8M4L6O4L6O4L6epbl8OyNN2G26EUow16E0viRJQO1tQIUk3lbWVfRWhFiEi32RZNN8s3sKvN0BEtKBibg7SLt7MuKdL2uHqWTZmLeQo21vm954mVBGhWrGbUjs4tzTOdwJxyCw9zM6vbOj6eMBzM0gNZkMoBYpyoJzukK2O6N1jVX+9kMXprYkLfqz2Ti0WX6yt6VZ9rwtC3NkOWHOJJcXCZpcKZYRcxUUG1xxOr23WdmxDLwoIAy9B.QJ8cPTO4FMPw+3JoIP2w2GZreTOWSeGjEBJa.+A52iZ3AcKK9FuCCVnkcrne5q2CHX2BLmwBudbmfy+F4cBNYJGPpobxchR4HKtWKLwAKGQThi2k2tNw0tG4MxeVm2PS9ImXrRwWzfeKbbxEcEiJl3sIU7zjcFB6ThxY0o0qE6gQaG6IU1L1+OErAFRU5UQToo11dFTgElXgfUZY4g3kspIupwntKI28oSZJvjzTmWooJMIM0jzTW3SSkYOTZ3wwuk6dpjUc7dI01PCWxiMD2uY9Iuf2CEwv7+KrZNPYV6BctUz.14oPwlF5+wFFL6puKEYSeNkFh4bygXNKODy46MDy4VCwbt8PLmueemCKq6cZ4SrEdNzNprAeSiUUEEYvchT9+vieaEL
Looks like it does not crash with 2x oversampling.
HiseSnippet 2538.3oc6bs7aaibFmTxiekcSSZy1liBY2CN.tFhJtaJPeXE+rFaTrpkSxtXOjNlZjDgI4vRNxwZ2s.En8PusmaOz1isWJ50Vfhj+.Z.Vz7OP1i8lyk8PQA1cdPJNjhRhVVxV1Q5R7Ly2P988664LblT1Eqi77vtJpysWKGjh5aApzxlzXsFPCaksWWQ8pfGCOD40.5fbeRAkUa4.87PUUTUytEiF04lRg+63UVEZBs0Qgcon7HrgN59FVFjvdKW7CLLM2DVEsmgkD0KWbacr8ZXSbSJ+jEjWwApe.rN5APFYY.JpSuQUCB1sBARPdJpSsJtZqJMvO0VP+iL7L12DwZnoTg9fDcuI1rJiiY8prVCCypkCjaOE5CsbHJjUfB2.TxnpQ69CQiqwGHW3LjwC0L8h8zjYu7om8TkXuoDr20AUzcMbHgiv3sq.11lfbqAop.Y1RPqh5yAqgoDXSVxBd.ZSWZi1SXg6jO+h4zxm+1+nZMs0IFX6bX6GfIncrW31y+oyO27+p4yEenZ0RbL1qwEaZhbSbXlV2sWSbA6lV6ibWL2gPyln1DRE+n3Kn63qr5WWH0RDhs211friCxtanthOTQw+L9bEkTBG8upO5WwznJxUwfBxy.9.a79ZJbFV1kPI0StPBS9gauNj.Y1.9rCkEotgDClzqtN5PpykvhXNv5HuCHXGN+Z4fsYLu5L8kiOR1asUXi6VzifbpX7IAbTwu7S9sq3D.QaWkGpf+Tys4GpQcUcodoTqI1HSC3gFTj3jY6q3GxI+BXQIN4GOD3DKbUePR2XejIMFTG9TTOab0llPRT2c1z8GfZiFwuh47X6YPZIqyFIw.RK6dcPYChdij42LIvuLy6QL+5GQ8sAaTqFRmDxrSA17COCBeB5jWlCrKtIAQe8BPi0xvtdtRPhqwQZQYprQYproKlSBXh+aQ7RnLwCZZUgloSGQgDaajIKflJSu32NOqMSEUAYWk2HS3fZr1p9CxajMbvBr1eM8Gav1M7G7NxC1tgrFa11UBXX4Xh1JPgA.q61paE.77O9y+pUVGYBiXc8XipjFAcb6O6gE6nDgEKts8gzPZkwlP231lCKrWcpT6.wDobWXb3+1.NjeQhg4lDWbX3qAJCGGLHFnnGAt44iECPSdPsXCVHHTSWidj0evDid3Cly6mR1OHajLzIUb5+DjK2F10MrQKo6hnH25dNO.QdJ18fEtkzJP1yERQbOJ9dKoRUcbQzz9n8vkodCK3AYws1k9PVL29lX8CXEOzY8l9kPrJihEz8gwAorzoGeRQDWIGIEQbk7ILEwPojX+RqGrRho+7sI3KLx+uo+EyD66ARzLgQmn5uMg5z1sJCYojtNfsr.pWNxcI81d62L4mglBUSHqCXtG2mZ1Doa0rrWTv5WEJFZEvV75eoqd0+u8yIBTWjRgvUXWpAKaUQk7jWMLyDpbPwrrmeFwafI6YExzLLldFfmiIcA1cU9DCOpDA0rRqJgpf74vL9ntfCEPbez.mGfbzZ8RTRlRRR..X0pQki4AVz+cIV+m+BPXhp8ft0QDdltPaH1tIDzhIQ7RuDysjg8ih6sUBdzihunz6ieJx0eGcXgwdniS61gTUo8R1lAjeo74oA9N.8TAtISmv5P7Rh+pdlRGpCesvUAXJiKByW3nnpiaJYVEgpQkxY8V1PKCcgdPQ8c6RHjk1oMyDYUYcwnSURbmFPf1MhJlWQX0wG3MMytPJkM93YWk1ofO8F+ssX6TvI1vSTbXnJQVPThDKvpoYhwBX8OlELaP0PLW7gmNJo.DmBM0wq3qOlUPTcpaeg39I5XWzR0OuxuDUMnlwuEcECYE0EuKxCQ5hcX4l6aZnyXJkXy6aAdnGJkSsup9Lo247iddmJdFJ1oh+iddRJdkHtn+geO62+Hlh+mp+udQ8+96TTD5iuGCI3gdZhmT7yKlZaUJs8mk+5V+oxem0e4JhsguhEFSZPKjONeubwtFLYVQIRZWBpQZZVMRZiwEIctFXLdMSCszVsCFNmH.gbwOZW5qQZFdMRZiyEIMTL6FlULM7yF2snaSyJUR6xdsRiy5lm0YkRZSpTZRkRWPpTp6AV7NrVrR9eaPMCSFoKQG6BWrEP50WKWrC80u6kIpuVtXB5KJs8We8hO6+d2ei0K70Wa5h9kMQ15s5k9pG78c3+d4Jx78K92reuaL9Nfxn7c.s8mu+e+w+xWcqW+Eb9NK3m2qbU8EmKjfqbgDw4BI5JWHE7qbL7Qiq7POsSeckCl1ojuuV5CAQosRzCKhPV5ATWhELom6qvz7rkSRVNIY43Yxxe86GMYo5rRRwzBwcUCnWpWtZZ279NdX7yolMh+cS8h1jZSx7.XmIKw2Por7wzJnpUJ8bL2ks7fsqR8HXeb8cbZ+MkCLL6st43mMLi98++qu9+TZ+xcIJxFG43h773hH0QVoSreO1xOO4Xe+p1e.Qe+OlvnD9OsIeduhoGE5G7C.1n5idz+3URqsOa8tiyf+IAD5usOOL6XC56mIubBmPzgD5eVlHqen+r7n94JLNg+7cF9MEy+YYg9+YiSJffcI8MEM.UN375YgNH8If46E5Em5eNcpf2BHso9mbk.+yiLXveFY3+JAveryNRD0v7f16byPRS7pHa0gHd9qSTS7pXa0Q.sctd1W0EMgRhxa7ODzkIANxNqcpurLfSxkk4mHeEUTJRPGQZuNKkSvCMx8dAk7Cku.hzcB8eLhziqnmhROOg9+4s9xMJlvk3axIzexIzexIzejbB8OyN71mzaAUgw1aA0fiRJgO1NQIUknlbWUfRWgFi0FwuSzbb56xamic9ExsExF4B4mOb4SqPzXteQZuVzNo9ZQuiNg954maBGrWjGbEjkwdzTOdQJwyCw9vM6xbOj6eMLzMwgNdkMoBYhyoBjzzk6mcOKbSaRuxFLU5rR5yE3apw5qm8Y2MIMa5X29bCxmKfGEkNrAM0tIsLo14ppAaZRB5M5U0oD1F6z.ay1++Pk9tHpmb85nneZkjDn6QHP8CB64FE2EYhfxFvuWw6SM7ftkDeg2AAKzROVzK80MAB1MGyYL2kia.b12HuAvwS4.RLkSlSUJGYw8FAINX4HBSb7N710vtVcIuQ1y57FZxO4XiUH5hFHMsiRtnqHTwDuMohmlryPPmRTNaQZ8ZQdXz1QdRkLh7+JAaXCoJ8JHpzTcGOcpvBisPvxMM8P7xV0jW0XX2Ej6dzjlBLIM04UZpBSRSMIM0E9zTo1CkFdb7a4tijrpi2Ko1Bp6heht31LyO2E7dnHlM++vplCTh0NW66.MfcZJTrng9ehtNyt56SQ1jmSgAXN2Y.lyxCvb9ACvbd+AXN2c.lyOrmygk08dMIXKgmCsixav2zXUUQQFbmHkuAfVj+z8
-
@Christoph-Hart I am trying to make this work , do I understand correctly that I should create a MyChain in one of the Oversamplers and it would be moved around according to the combobox ?
If so , its not working for me, the Mychain appears in unused nodes.
HiseSnippet 1513.3ocyXs0aaaCElJIpsVqdXCXOr8FmeYNqooVYYYAnqas4VQ1ZRMpS6JPWQAsDiMQjHEjnisWQ+Ou+AamCIkkbs2PP.5VMhSDO7b46bkToatJhWTnxIdMNaZFm3ca+dSk5g6OjIjjiOf38o9mvJz7bpkzdSyXEE7Xhm2pOFI30XMh4ye9y6wRXxHdEIB4EJQD+IhTgthZ2G9qhjjiXw7yDo03d6GdbjRtuJQMBvyp9cHYrnKXC3mxP1Vwm3ciCiEZUdOMSyK.d1SEOs2P0Xok+WHJD8S33hPROPQVxj8GJRh6V5qEDh2Zcq77Usd9W3ehHVLidUD3yLaPqjndLvak4gzZyAov5PpSMHcjJIFU.xxhviTCcqYQG.BU7nDlddjgo.2FB07YmikZtrPnmVOE8+Jb+b+tBczvki2UVBdgD0GZ75R9M8O77y4Q5Jvtl+Qu75loCWJTVZgn2hwt.+dQ4hLMXeDH21sjdzKCmCPVxjUZbCe58tG8rgb5.kJlpR9FZJafHhVjwSRZF.cUEZ5krbZbQF8AzCkCDR9lQ4bvSNnH6TtdrJ+h1sfsas98aFzLvnOQAMhkjPg+JRyT4ZlTSKTT8PlF9EmFoR6q5qlPGKP6.BctHmSEZqf8g12lAfR2rfqORkOlkGuuRpyUIEmo5xxg9ZXxRQ6yYIE7YF9wbq1yUJMUph4aV2EPpmBDA+.07.t1f6PGvqXTcInZVZVB7Gf4W85R8uuwuAGIkWiIikJniJDxAzeomMB1L3bUdaAH9V2mJn+3Cng6fO7s.g0aF71lAT3ScKsY1nhgsQjYCusaAHRCEU77Mq3qE8NfVtCs0jVaXe3kzm1q05nO7NGLOUM1FoGyoCYWxwXRJUHoL3m7b1zMvchfUBHHhdDpeCWVXqPlqisJDCp+QwwVMpUlncgXfjkPivF.magoMHKwk51kQ8MncPL5zQ+QZZeSEoyryDqrNssNeDelWUUWgELz97Err0iAFRAfGC9oZjzfSa5wl+.WFDkImhEffmMwrooZTHMCVLHaHGpEgPznBfYijYInIfFxR2rpZwZcaM0hYNytPpp0ISMSHbEayof9fzX0MDt1jECE5PuwdpIsaU9THnfvN3WT5n9XbpcKH4kVfpdqI+tba36tv2vclLyDBYBfA54ijQFWCOhzoPWyTaLLnjfg2.fRBDvqmnKampUIfQkwPyrkmDEzrRUPK4yKv1p5kLuxnu6F9ZWRuYPCw4sMDo+DTK.qAK0vYJFjqvDmc3fKeBYAGGFJ0JpblzUS0.JQZ.+3J8mqnFmBMW+LXIKqUkePfA5ekvLCvrPNG1+epKnwh0oJ5W+fxXfod0NMwjjbg48cizZuXFX86OK8jkyy.2Clukvl11ZzmANxFz9Pf9hdh+fudvaCZD7t.ZMgLGBrGxQaHLIk7jhEYCMrMiKGk1mmWltKYbgKHcyq1YTJ4wRg9oYbGay4CkjgqiUCkUTmApJRK4H2moFogIqmvz4hIDO+SGk1CtmWDeem2Bz7VgfhZV2AWi2.nGWFaV7WvG2lg3ZO2lgkaRbce3opNHAvQ6tOh8zxxDGQ.Gg9I9yxiDSfrTsD2IhlCncOCOgmF66CSHPpvDGh2sNhEAg6ocY5g38aduIFlyuuAJQHAb322UeBDGmir2pnZKuAr0+AHlhNEd+W2y+lHFMmu2F.G1J3mA0Y3soOon98o8VExAY7bsfi4.T4lK+5.Ohta4GtCd1CYNO4q7W1oVvToOvtg8lfKG1jpKL3H5bga5u6hdvWtTOX2ORcfsupNv1ej5.acUcfs93wAlawyO9.llUN5.TcM487NfeI7dr1qm2v+.dwEZUlgW2AuPa9UbPCN7yK.r3zxGRYFZXWq4x.36bu0jfsmDr6j.rm6+jgmornb0ahbWOGBD2xPAlfJMu9cC+Sv0zpQk9c1rCIEd032DEguuzcCIjkKyVWCY9tqgLaeMj46uFxry0Ple3ZHyt+qxf+WIdzHsJ09tz.gtGZJh87NTxfi4MukH4uA.DUBWA
-
@dustbro Did you get this switching working ?
-
@lalalandsynth only with the example posted. I'm just starting to get my feet wet with scriptnode.
-
@dustbro Yes, I was trying the example and could not get it to work , did yours look like my snippet ?
-
@Christoph-Hart +100 for an oversample button on the built-in convolution reverb without having to go to scriptnode!
-
@tomekslesicki or better yet, on the main container so all modules are affected.
-
@dustbro Well, now that would be something!
-
I like the idea of a global oversampler because it might address other issues as well, however it should make sure that it doesn't use absurdely high samplerates. Running an entire plugin with 16x oversampling in 96k would be total overkill.
What if we add a "HQ Mode", that just ensures that the internal samplerate is above a certain value? If you run HISE with 44,1k or 48k, it'll use a 2x oversampler, but if you run it in 88,2kHz or 96kHz it won't do anything?
Then all you need would be an API call like
Engine.setLowestSamplerate(44100.0 * 2); // or whatever
and it figures out the oversampling factor required to ensure this minimum samplerate.
-
If you're feeling out the room, I'd vote for something closer to the "overkill" method
Have you seen this video:
https://youtu.be/-jCwIsT0X8M?list=WLEven with an increased sample rate, there are instances (such as multiple levels of saturation) that would still require oversampling (sometimes up to 4X) to reduce aliasing. And at lower sample rates, this would put you into the 8X oversampling realm.
We are at your mercy with the implementation, and anything is definitely better than nothing. If you're leaning towards a single "HQ" style, I'd only request that it functions at higher sample rates as well.
-
I think this idea is very nice, @Christoph-Hart , it would make the system more adaptable I think and would allow the users to fit the performance to the specs of their rig, too.
-
Alright, good things take their time, but
Engine.setMinimumSampleRate()
has just arrived :) -
-
@Christoph-Hart holy crap! YA YAYAYAYYA!!!
-
@Christoph-Hart said in Scriptnode "oversample" node starting at 4x crashes in PC:
Engine.setMinimumSampleRate()
Any tips on implementation yet?
-
You could add a HQ button somewhere and do
if(value) Engine.setMinimumSampleRate(100000); else Engine.setMinimumSampleRate(40000);
in its callback. 100.000 will ensure that it's always 4x oversampled for lower samplerates and 40000 that it's never oversampled in non-HQ mode (using 48000 would cause oversampling in 44,1kHz).
It will fade out all voices and then reinitiliase the processing chain with the new samplerate .