Scriptnode pitch-shift a signal
-
@clumsybear Christoph would need to incorporate it and he'd need to get a proprietary license from the developer.
We had a discussion about this last year - https://forum.hise.audio/topic/1064/time-stretching-algorithms
-
@ustk thanks mate. I will try that. a chorus example by Christoph involved delay lines generating sort of pitch variation. will try to find it tomorrow
-
@d-healey remember that. every single day I think I should start learning C++ seriously
-
@d-healey no, everybody that uses HISE in a closed source project and uses Rubberband would need to get a license (there would be a compiler switch that disables the library by default)
-
@Christoph-Hart said in Scriptnode pitch-shift a signal:
@d-healey no, everybody that uses HISE in a closed source project and uses Rubberband would need to get a license (there would be a compiler switch that disables the library by default)
What about Mda? AFAIK, Mda has a pitch shifter-time stretcher called "Detune". Source code is in somewhere here: https://sourceforge.net/projects/mda-vst/files/mda-vst/
So isn't there any remedy for that needings?
-
@Steve-Mohican I just checked the source code, doesn't look like it has any time stretching capabilities. Although could be another pitch shifting option if it's any good.
Also he hasn't put appropriate copyright notices in his files. He's included a document which says they are under MIT or GNU GPL but in the actual .CPP there is a copyright notice which says all rights reserved.
-
@d-healey said in Scriptnode pitch-shift a signal:
@Steve-Mohican I just checked the source code, doesn't look like it has any time stretching capabilities. Although could be another pitch shifting option if it's any good.
No it has a pitch-shift engine. You can check the plugin itself rather than the source code: https://www.kvraudio.com/product/detune_by_mda
Also he hasn't put appropriate copyright notices in his files. He's included a document which says they are under MIT or GNU GPL but in the actual .CPP there is a copyright notice which says all rights reserved.
Yeah I know but since Hise uses some modules from Mda, I just thought that it can be usable. So how come other Mda modules can be usable in Hise?
-
@Steve-Mohican I didn't know that, which mda modules does HISE use?
-
the Degrader and Limiter modules (not the Dynamics) are mda plugins, but I am close to removing them as they don't bring much high fidelity to the table and their functionality can be reproduced with scriptnode modules pretty easily.
About their license, back when I embedded them, it was licensed under the public domain license, not sure when and if they switched to GPL (and if this is even possible).
-
@Christoph-Hart The degrader and limiter source files from 2009 have no licensing info in them so it's a grey area, but I would assume the author intends them to be either MIT or GPL (choice is yours).
-
I just installed the mdaDetune to give it a try. According to the tooltip the detune amount is lowered on the left channel and raised on the right channel. The docs also confirm this.
-
@Christoph-Hart said in Scriptnode pitch-shift a signal:
the Degrader and Limiter modules (not the Dynamics) are mda plugins, but I am close to removing them as they don't bring much high fidelity to the table and their functionality can be reproduced with scriptnode modules pretty easily.
If it is ok about license situation, please don't remove them, because I've done lot's of things with them, and will be ready to release, if you remove, all of the work will be trash.
-
Don't worry, I am using them myself too in some older projects, so I won't remove them entirely, but what I might do is to remove them by default and have a preprocessor macro that enables them so that people do not use them in new projects at some point.
-
This doubles the freq of a sign wav.
HiseSnippet 1334.3oc2X07aaTDEeV6LQwNIp7QgyqBGHEEhrSBTjpfXhcbUf3HSbRZiPnnIqGaOj0yrr6Xm5V3DbfabFN.GgSHtxAjxe.DIjxeAbjagK8.WJya20Y206lFGWURKyAqYdy6s927932amspsvf53HrQZY1pmEEoMEtVOtrUwVDFGsVIj1z3VDyF5NRp0qyQqzyh33PqizzReaPEsLigbGmt7JDSB2fFHBg1QvLnqyZyjARqV3CYllkI0oawZGR6kJrlgfWTXJ5nfSZbNjEw3.RS5FDPsTXj13qVmIE10jDI0AoM1Jh58p0RbH2S+cXNr8Movh7nZpGjm3xBy5.hAonhsXl0q1+X6fTOkpANgzdNgqiqvpyNSdfy3Eb2POvhv9CsTON3kOL7xMzvCEBci4gNEHD06XRjQQFDN72fIhFoViKobGlrW3v0UJbeQbUlznUx3MUB3UEndZiW+f+z3UazfZHC.6X3x28oejVSKtuKKtlgMyRp9+AfLk+R8x2MeD.4IFo8i3U4MYb57F1TEzJ4XsAUdnv9fYmwrS2Ytwszazga.9acKapEwltknpIo2rNj1VlzMU1Lm99lBiCpwtO8FYeP1LY+hrgMxEgq.ZLqQKBmSMchqFTFyk1ByY4cZuO0dN8tDyNAOuXUxoOeGX3J4DheaJ5HY7lUHRa18PZ3M5ztlh.wfVzGcJYZoPfotqyAqgzoZTdc2EORM72LOrVyey782DAGFJWpj66MciV9yUyfPCFqbvfTQcErmnLwPc75UkHaAI6JhMoJahZOuwYYUiCVjGo.7fPcck2MhXszvisO0nG9KJZ2F.EPL5O+Nr5veGVaNkFdoGaphq.MaEmvDsZofmGbJF2GudL8BGCE0LTolGE6DXSmOX+qFXmNfuXKhcSpzuB1hZKYz90PvJEyQZ3LkAusCE3rQ6.Yf.lp1YeSlALCUkXq5sHotkeoOakxr03cUOEuhqJLtuwAjQUH2a.YSTXcwgT6AZ1gPaaYES5DEpoZmBkXgIjqc.8POudXodoJUfvTLTfFdHuTgXP9qOIQHuTgDfrR2vP969VX7qC.4i+7+5leY6icg7j3x1zOqCkazK.2ManFOrYgKAtOc43t5bIh6SWNIWctKoqdJWbquIjjghgETnxkq4Wtn9UkxMPAyqhIbhYOm90LdJ8rTUSnT+HkP9GwLdjZepxWF4fk0iI.jeUbXhzE9xSGLNtXnBoO.2Uvp2uoVYvgLqayO8FvbU6poypqFtq93beh96FL8M5O6VPKMz4PpD1YNIVvo6YILGLW4kvMXlf9y2WgmUcsgoKwOmw8z+OXn3dVzcbRDtmi+cX7ZCf69ZFE2808hw8+78+zCm4u+CWbmF+QIP4L794ENJNW4BI5mW3nj3JWXHvaz1RtWA7IosTRcROc4guSphJODjev0+4a+m2+qF.xOp2OT8kKchepQs1Bgrk5UFCvceytxv8n9F.P1Qbp6D5Ns3+G6NMNtIj9E4jMoW6I2MdNn+TpA5OMEdSpCU5ElikxEtIST6tF7ZtCqogYwSM7o76l.6B3QimxuahrKpaUcgrKumwucbye4UJb9rK6dzSVUZguY3eOcktWLjuP1k3MdfzfsWqDQRfWQw+1kgxKzzJQ6xLndeCfL3RTmCjBq+atraahgsXOCu6uCoHS3JQknwc+NbYvUf054Qc8NgXbt4ygZqti0dFFvGK4MyiPIayBifMKNB1rzHXyaMB171ifM2bDr4cdr1.Wu886HEs89PZJAUW0M4RSaUNYeSupCz+JG.GKN
-
Yes I would love to be able to do this as well!
I've been wanting to program a shimmer reverb.
Probably quite ambitious. -
@griffinboy Faust
https://faustlibraries.grame.fr/libs/misceffects/#eftranspose
Plus, scriptnode now has two interpolating delay line nodes which will be of interest here.
-
@aaronventure
Thank you!
I haven't looked into FAUST yet, this is a good time to start -
https://github.com/christophhart/hise_tutorial/tree/master/PitchShifting
This uses two delay lines and fades between them. Note that the sound quality is far worse than what you expect from an industry standard pitch shifter (and the pitch shifter in Faust uses the same algorithm with only little sound quality improvement).
-
@Christoph-Hart so what would an industry standard pitch shifter do different, then? What's the catch?
-
@aaronventure I'm not 100% sure, but I guess it involves using a good timestretching library optimized for low latency that can handle live audio input.