Trying to create a random pitch detune effect in HISE
-
@d-healey thanks for the reply.
Yeah doing it with an instrument plugin works nicely as your snippets demonstrates...
Was hoping that somebody may have found a solution for pitch shifting incoming audio using an FX plugin...
Anybody?
-
@LeeC Did you miss this bit of my post?
@d-healey said in Trying to create a random pitch detune effect in HISE:
You can either detune the incoming messages or generate messages and pitch fade them.
-
Hey @d-healey,
Sorry assumed you were referring to midi when you mentioned 'incoming messages'
Ok, so this is positive....
How do we detune incoming audio messages?
Scriptnode perhaps? -
@LeeC Oops you're right, I was referring to MIDI :) I don't think it's possible. Maybe when Christoph implements the Rubberband library he could add a detune node which could handle it. The only other way is a custom c++ (or possible SNEX) module.
-
@d-healey fingers crossed :crossed_fingers:
-
@LeeC You can modulate a
stk.delay_a
in Script FX (like for a chorus), which is detuning -
Hey @ustk,
This sounds promising - thanks for the heads up!
Do you have any snippet examples?
I've only just started using scriptnode so not sure how to modulate a stk.delay_a....Any futher help would be appreciated.
Cheers
-
@LeeC stay tuned ;)
-
@ustk Legend thanks man
-
@LeeC Ok here's an example that came out of my mind (I'm not a DSP guy :) )
There's probably a better way to achieve the random sine than adding oscillators...HiseSnippet 2211.3oc6a0DaabbEdVRMxhzxJ+TkB2hdfHPnPFvQfjV1oAAshV+YHTSKZQYkDfz5NZ2gjC3xY1r6PKyDTfbnG5sdt8ROzBzdJnWyghHfdsAH.9Pt1VfhdHM.5btjLyN6xcVxkRqXhjrDzdQb9+aduu26M6rOUykYh87Xt.iba2yACLlFVuGk2ZkVHBErwp.iYfaQsVEy6RwqVuFX4dNHOOrEvvH68j8wH2D.+mCVZYjMhZhipB.1gQLw2mzgvipsVkeNw1dcjEdaRGsduXkMLYzUX1rtB7jEVD3fLaiZhe.R1sLPfwjqYQ3L25bDG6ALlXYlUu5sX6QU8eGhGYWarrPIPcwDopdclskDwxZAqzhXaUKbe6A.FvZQRgrJovrvpDKR+5ijFuneCEhFgt7vHygAuR5vqX5gmgF7lPAuWBV2zk3viZQhsqB2fxwtMPBUfNrT8EXrObElnCT9BcPswq6JJze.yemhEuYgaWr3MdyFcolbBiVfQe.ii2jN+Mx+A4yk+WmuvfM0nQhsIWFWlsM1MwlkZc2CafyS61YWr6MK7DjcWb+NJ19wkuvQKe0U+lpcsVGYzMnD9lNX5nj5f.QkT9GfJQW49R+YBj90sIVXW.QHjeAnxBovc6v5JFkOvCY123c+eKAdzFqh3nvoSLyhUyA6xIxMhwp3mHrSTJ2bh4xqMm4322NNLpDGFSl5E+o8Mo9U3J85W3C+kUbB2gaX4ao6OSEV+sKIrzbEFYBxfrkWNZBcrI7tVXgQ6PjPgo.ypqMhG29P5THnAgRMFQTx1ndDdOcmFmHFMoEtuDrFga1JY7lIA7JTfmz3MvEz0fq0nA1jGA1Ifq+1mM9axGPUDquDHwXNI4o4ifqQaRn3ELcwBnspmyCv78Xtsm+Uc8ClHp4Uuwads78s8cbwBJHdaVMaTu48PBhGdKwPuYgcsYlsqSde7vNLBnyKK6w7lsPTJ11ab7qLPXkroyuRBpwsXc4DZypHtKQXFBeP2N0EQyLwqDfNQcFYjtWTkKJKKYU0wTK+Bes3InwRxxFAMVJrwHOSf.gpuRK32heoBEzWNKaiYIUhqiLEaxd0P7VRluzsnfZgcWvrOEa5nwUBH.+fv99BIcrpMxJm7vX1p8hvoUGeWVhH1A+9sHVxEEZbSQOTLlsD5XYjfpd5m.HFaRnApE5WRtVYTqlZ+5umthBz64hb7jtpJAhsIut1lrgbhJ+Xe5zI1VyHSR.7JPevAFoBP07IFn5K0xn.0TJPoT6GAq3rfDLDf8kh4gcXVIf4Y0vb+dbxKKmPCZSASh8cVngCPUNkcAyyTbRaYHugQlKdAslOKTygwgDAxxFEAdajaSLOHlX3IjTQkjkDwhyJ2b4fOxCKOKNXG0YsLxVq6t1DS4u.ZtMD8ueIofg9DwrnV1pD5N5GTS9TE8zApapJ2msG1cfWhA.djiyP0NUk5briLZk9Qbp2FumR9qWqbWLo7PIXvPn.jFH+G98xmOdogg7bIB4Eqj.j+sOKFjCmScHmGVbgxkei2n3sCdMi0cwuWWL0rWDvW7VxmmsDH8x5CR.3ESD3GrTRx5hGSY8z93tvVRVFXHr.zLbtllgSoKsbtzx4nsblTXiTTb3vioYyGL6Gcu+86++u3Y1T9RylKMaNwLa9yN+z7e9e5yt3Y1bqKMatzr4Dyr48jVMN+2ywlM57kX7NcCpIgMG5kDupxRp4Y0qzF6Z6NZqnLCXEMMbKrGlqDHCwB0MnhOtWPZ8k1gpaKlI8Tj2Y+goHRI5vTj2Y+jnH.vQ8BH4l3mY92+zl+sWohR85+cm5uh+0q+O9pewOdg8AeqbeT42kd2Gh9dzP9q68Gq88V8YKorFq2gw3sHzlQ39S+mxm2sR.0MuxaoGoY4NLq3r2YfcD+cgv1NSCBjIETYcljw2Nu5GrT58pKbrnoVTms92bHNatBbDVEI4ZYJE2yAiZmnqE+FNatsrDzAFYFrRgSD45J+9N4fVXaTuGihzTxpuBbUY0fMc5eq+g9MVih10N7ihbbUgIGkatDcFLWLKqWakezW7etyObDpv0dpiK1yS9UajxMvgriyGtiKcwZKO53gGUjx7p6szzFiF7NNlV4swuoK80b55q4nTaSEn1jWxcomuu6d8u.xL9ehl91fiD2c5ZyImBecF8ODRj2vXv5ZPOd6EBaZ.HYbl4XezD97eW4lJYB+bIbRd.3vH7JWqQK4pe0W9E6+wexvtoEZ3QQ00bbeo144CsSbWTiQ.nQNAwDXSJgYBYhRZckmd2y6LXx53miNTre1C3EjxNAE0NSQvqYF67DAuahn+9Ja+2KeCKAsRlDIIbHii+aVM29em9lUvauvhkKW90ACcxBcM13j7R5ozxrpFuJ7sPOA6meg9WRwq3WtAysSg6gEt+UeukQmggeVZyvPmTmggaZxEPXaWD0yg4gKowK9jAZqr9ppnkkFtpX8Rt8VWr8z52KVIrxx5WGUMDM1jIJGalpRhxpKv+ZI0gSqiE6FqMitcPMRcst1dXemYkzGXT0k0q1HapyjnjSrxhm+RrxSuTZKa5f6QjKV4BwXchL6nVS35vVXEBB8S1.IN7TXswMipxnLmVLp7ldh3Tag4tjlMwwCNjzF5tbNxrcTMyVYKr3sC7hGrRbBNjaU08vMNxhRoWVbX5qqCUvsfz1uvEiTQL6EnTQ7X3.IA5+KCqwr6oHyqSrkwXUGhWU3vBe..Q2Itpx8u+U+KUdXPgJx7WHN885UdXWjslT+COX56tLwgYibSkFY7Y6SjRZy2O5h9OOw0kZlyO38G.CT5E7+5Dmav8LvGd9ArxS.7zmCf6oQN7dZrFcPltrGapR8YoKko7qQruo9++zjCVUVtPov+aEfxupHni3XXO1zT5i+0DxmjGS4wXL2ZLFyhiwXt8XLl6LFi40Giw7SNzwHOA7c6xYcT7eQE0Vy+EuLLhtM5rfuAIizt4
-
@ustk Ok great, I'll give this a try later today when I'm back at the machine.
Big thanks again for putting something together
-
Beautiful solution @ustk. Just gave it a try
Like how you've created randomness by combining different oscillators with different settings. Sounds ace
It's also helped me to see some of the possibilities available within script node.
Big thanks!
-
Hey @ustk,
Are you finding scriptnode to be incredibly CPU hungry when doing certain things?
For example, the nice pitch detune snippet you created below uses 50-60% looking at the Hise meter on a Mac Pro.
HiseSnippet 2211.3oc6a0DaabbEdVRMxhzxJ+TkB2hdfHPnPFvQfjV1oAAshV+YHTSKZQYkDfz5NZ2gjC3xY1r6PKyDTfbnG5sdt8ROzBzdJnWyghHfdsAH.9Pt1VfhdHM.5btjLyN6xcVxkRqXhjrDzdQb9+aduu26M6rOUykYh87Xt.iba2yACLlFVuGk2ZkVHBErwp.iYfaQsVEy6RwqVuFX4dNHOOrEvvH68j8wH2D.+mCVZYjMhZhipB.1gQLw2mzgvipsVkeNw1dcjEdaRGsduXkMLYzUX1rtB7jEVD3fLaiZhe.R1sLPfwjqYQ3L25bDG6ALlXYlUu5sX6QU8eGhGYWarrPIPcwDopdclskDwxZAqzhXaUKbe6A.FvZQRgrJovrvpDKR+5ijFuneCEhFgt7vHygAuR5vqX5gmgF7lPAuWBV2zk3viZQhsqB2fxwtMPBUfNrT8EXrObElnCT9BcPswq6JJze.yemhEuYgaWr3MdyFcolbBiVfQe.ii2jN+Mx+A4yk+WmuvfM0nQhsIWFWlsM1MwlkZc2CafyS61YWr6MK7DjcWb+NJ19wkuvQKe0U+lpcsVGYzMnD9lNX5nj5f.QkT9GfJQW49R+YBj90sIVXW.QHjeAnxBovc6v5JFkOvCY123c+eKAdzFqh3nvoSLyhUyA6xIxMhwp3mHrSTJ2bh4xqMm4322NNLpDGFSl5E+o8Mo9U3J85W3C+kUbB2gaX4ao6OSEV+sKIrzbEFYBxfrkWNZBcrI7tVXgQ6PjPgo.ypqMhG29P5THnAgRMFQTx1ndDdOcmFmHFMoEtuDrFga1JY7lIA7JTfmz3MvEz0fq0nA1jGA1Ifq+1mM9axGPUDquDHwXNI4o4ifqQaRn3ELcwBnspmyCv78Xtsm+Uc8ClHp4Uuwads78s8cbwBJHdaVMaTu48PBhGdKwPuYgcsYlsqSde7vNLBnyKK6w7lsPTJ11ab7qLPXkroyuRBpwsXc4DZypHtKQXFBeP2N0EQyLwqDfNQcFYjtWTkKJKKYU0wTK+Bes3InwRxxFAMVJrwHOSf.gpuRK32heoBEzWNKaiYIUhqiLEaxd0P7VRluzsnfZgcWvrOEa5nwUBH.+fv99BIcrpMxJm7vX1p8hvoUGeWVhH1A+9sHVxEEZbSQOTLlsD5XYjfpd5m.HFaRnApE5WRtVYTqlZ+5umthBz64hb7jtpJAhsIut1lrgbhJ+Xe5zI1VyHSR.7JPevAFoBP07IFn5K0xn.0TJPoT6GAq3rfDLDf8kh4gcXVIf4Y0vb+dbxKKmPCZSASh8cVngCPUNkcAyyTbRaYHugQlKdAslOKTygwgDAxxFEAdajaSLOHlX3IjTQkjkDwhyJ2b4fOxCKOKNXG0YsLxVq6t1DS4u.ZtMD8ueIofg9DwrnV1pD5N5GTS9TE8zApapJ2msG1cfWhA.djiyP0NUk5briLZk9Qbp2FumR9qWqbWLo7PIXvPn.jFH+G98xmOdogg7bIB4Eqj.j+sOKFjCmScHmGVbgxkei2n3sCdMi0cwuWWL0rWDvW7VxmmsDH8x5CR.3ESD3GrTRx5hGSY8z93tvVRVFXHr.zLbtllgSoKsbtzx4nsblTXiTTb3vioYyGL6Gcu+86++u3Y1T9RylKMaNwLa9yN+z7e9e5yt3Y1bqKMatzr4Dyr48jVMN+2ywlM57kX7NcCpIgMG5kDupxRp4Y0qzF6Z6NZqnLCXEMMbKrGlqDHCwB0MnhOtWPZ8k1gpaKlI8Tj2Y+goHRI5vTj2Y+jnH.vQ8BH4l3mY92+zl+sWohR85+cm5uh+0q+O9pewOdg8AeqbeT42kd2Gh9dzP9q68Gq88V8YKorFq2gw3sHzlQ39S+mxm2sR.0MuxaoGoY4NLq3r2YfcD+cgv1NSCBjIETYcljw2Nu5GrT58pKbrnoVTms92bHNatBbDVEI4ZYJE2yAiZmnqE+FNatsrDzAFYFrRgSD45J+9N4fVXaTuGihzTxpuBbUY0fMc5eq+g9MVih10N7ihbbUgIGkatDcFLWLKqWakezW7etyObDpv0dpiK1yS9UajxMvgriyGtiKcwZKO53gGUjx7p6szzFiF7NNlV4swuoK80b55q4nTaSEn1jWxcomuu6d8u.xL9ehl91fiD2c5ZyImBecF8ODRj2vXv5ZPOd6EBaZ.HYbl4XezD97eW4lJYB+bIbRd.3vH7JWqQK4pe0W9E6+wexvtoEZ3QQ00bbeo144CsSbWTiQ.nQNAwDXSJgYBYhRZckmd2y6LXx53miNTre1C3EjxNAE0NSQvqYF67DAuahn+9Ja+2KeCKAsRlDIIbHii+aVM29em9lUvauvhkKW90ACcxBcM13j7R5ozxrpFuJ7sPOA6meg9WRwq3WtAysSg6gEt+UeukQmggeVZyvPmTmggaZxEPXaWD0yg4gKowK9jAZqr9ppnkkFtpX8Rt8VWr8z52KVIrxx5WGUMDM1jIJGalpRhxpKv+ZI0gSqiE6FqMitcPMRcst1dXemYkzGXT0k0q1HapyjnjSrxhm+RrxSuTZKa5f6QjKV4BwXchL6nVS35vVXEBB8S1.IN7TXswMipxnLmVLp7ldh3Tag4tjlMwwCNjzF5tbNxrcTMyVYKr3sC7hGrRbBNjaU08vMNxhRoWVbX5qqCUvsfz1uvEiTQL6EnTQ7X3.IA5+KCqwr6oHyqSrkwXUGhWU3vBe..Q2Itpx8u+U+KUdXPgJx7WHN885UdXWjslT+COX56tLwgYibSkFY7Y6SjRZy2O5h9OOw0kZlyO38G.CT5E7+5Dmav8LvGd9ArxS.7zmCf6oQN7dZrFcPltrGapR8YoKko7qQruo9++zjCVUVtPov+aEfxupHni3XXO1zT5i+0DxmjGS4wXL2ZLFyhiwXt8XLl6LFi40Giw7SNzwHOA7c6xYcT7eQE0Vy+EuLLhtM5rfuAIizt4
Anybody else finding the same thing?
Cheers
-
@LeeC Mine stays at 2.50% max with this snippet... (i7 3.5GHz)
Although the CPU charge in Hise doesn't reflect what we are generally used to... I invite you to search about that in the forum, @Christoph-Hart gave some explanations to defend Hise's measuring system. (quickly, 50% doesn't mean the CPU is half used...)
-
@ustk Just had a search around thanks.
Wow, 2.50% max with the same snippet :astonished_face:
Like I said mine shows around 60% easily and if I duplicate the 'ScriptFX' I start to hear glitching and dropouts in the audio.
Appreciate that we aren't exactly comparing apples to apples here with the different systems etc but, I thought that my Mac Pro would be apple to handle a ton of instances of the ScriptFx in your snippet.
If anyone experiences similar or has any ideas what's going on please share.
Cheers
-
Duplicated the ScriptFX a few times and we're up around 250%
-
Quick question: do you use the Debug build of HISE? That might explain the huge CPU difference.
I've loaded the snippet, takes 3,5% on my CPU, but it's a fairly powerful i9 notebook.
As long as your MacPro is >2010, there's clearly something wrong.
Also be aware that scriptnode patches which use frame-based processing are supposed to be compiled into a C++ module for production builds - if you compile it to C++ that particular patch shouldn't take more than 0.5% - even in the HISE CPU meter.
-
Hey @Christoph-Hart,
Yes I'm using a debug version of HISE 2.1.0
Guess it's time for me to get latest.
Could you point to the right/best version to be using?Appreciate the response
-
This post is deleted! -
Ahh, never use the Debug build and complain about CPU :)
It contains tons of boilerplate code that is supposed to help during debugging. Just recompile HISE with the "Build for Profiling" menu command and it will optimise HISE to run about 50x - 80x faster (expect it to take about 3x longer to compile though).