@Christoph-Hart ok i managed to compile it - and if this is what you have heard I understand now why you are not impressed. I downloaded the vst and tested it and it sounds pretty different and has also a completely different performance. I'll do some digging.
Posts
-
RE: Scriptnode pitch-shift a signal
-
RE: Scriptnode pitch-shift a signal
@Christoph-Hart one last thing - what is the magic trick to make it find the files referencing each other?
'../stftPitchShift-main/cpp\StftPitchShift/RFFT.h' file not found
#include "../stftPitchShift-main/cpp\StftPitchShift/RFFT.h"
-
RE: Scriptnode pitch-shift a signal
@Christoph-Hart haha thank you - I will have a completely non-judgmental look :)
-
RE: Scriptnode pitch-shift a signal
@Christoph-Hart can you share the node template with me? I'm doing something wrong - I get 2000% cpu even though I'm pretty confident I do the processing in buffers haha
btw in general It would be interesting to see how you write a wrapper around a juce plugin code and integrate it as node :)
-
RE: Scriptnode pitch-shift a signal
@Christoph-Hart can you point me in the direction how you included the library? i fail drastically somehow.
-
RE: Scriptnode pitch-shift a signal
@Christoph-Hart did you align the pitch shift with the timbre shift and set a timbre frequency to around 2.5 - 3ms?
if the formants are not shifted together with the signal it will sound strange :)
-
RE: Scriptnode pitch-shift a signal
@Lindon @Christoph-Hart
stftPitchShift is def the best out there I could find - it can do polyphonic and also formant shift.
2048samples latency is normal for pitch shifting audio (it's also normal that low signals sound bad when pitch shifted in those kind of plugins)
I'd love to see that implemented as well :) -
RE: Scriptnode pitch-shift a signal
@Lindon @Christoph-Hart after posting this I started to write my own c++ code inspired by all the different algorithms available and can say that for "realtime" pitch shifting there is not really a one fits all solution but it's very doable and I got it up and running (but still optimising) . my use case right now is vocal manipulation and besides the fact that you have to really play around with window sizes, overlapping and so on - there is some other stuff that is needed for a industry standard result. I saw that autotune or little alterboy are reporting very odd latency to the host. so I figured there has to be additional sfft processing happening and it is resonance suppression. so before doing the actual shift I lower the magnitude of bins (above a certain frequency) to avoid resonances hitting the shifting algorithm. formant shifting sounds shit yet but I'm working on this right now.
Summary is that I don't see myself coming up with a node that I just use in different projects.
and if you go down the road, don't accidentally process per Frame or your computer will explode ;) -
RE: Scriptnode pitch-shift a signal
@Christoph-Hart 1024 samples (50ms) is what all the "realtime" pitch shifter plugins introduce.
the signal smith demo https://signalsmith-audio.co.uk/code/stretch/demo/ set to 50ms block size sounds on monophonic signals pretty much how you would expect "industry standard" rt pitch shifter to sound like .
would it be a crazy amount of work to basically replicate the web demo but with an audio stream?the following looks even better for "realtime" processing and has a MIT license:
https://github.com/jurihock/stftPitchShift
used in here:
https://github.com/jurihock/stftPitchShiftPluginI tried to implement it already but failed (I think because it's not c++11)
do you want to take a look? I think it opens up really cool currently not possible opportunities straight out of the box.
-
RE: Midi Effects Plugins in Ableton Live
@Christoph-Hart Oh boy. this was probably the biggest HISE mystery for me in the past year.
Is there any way to work around this so we can have midi out working with all buffer sizes without affecting the performance of the plugin? -
RE: Faust and RNBO in the same project?
@Christoph-Hart ok it obviously worked perfectly fine in a clean new small project. Still it's pretty strange.. I think I deleted a xml network I initially compiled a Faust node in. I still could export the c++ nodes if there was no rnbo node present in the src. I couldn't find a trace anywhere of the deleted xml network but still somehow it's messed up and won't compile even if I delete the whole network binaries folder. is there any way to compile faust nodes independent of script networks like with rnbo nodes. it's super handy especially if you have nodes you often use in different projects.
-
RE: Faust and RNBO in the same project?
@ForeverLive Hey there. Thanks for the answer. but I don't fully understand. How do you compile networks separately? Isn't there always one library for all compiled networks per project?
-
Faust and RNBO in the same project?
Hey there,
I have some RNBO and Faust stuff I want to use in one project. I can compile my dll networks fine if I either use Faust OR RNBO nodes. I compiled the Faust nodes without problem then created the RNBO patch then tried to compile the whole network again and suddenly the Faust nodes are throwing the following error and the build fails. If I remove all the RNBO stuff out of the src it works again but there is no way it compiles the Faust nodes once the RNBO stuff is in the src folder.The errors look like that (with different numbers)
expected unqualified-id
float fTemp3 = std::floor(fTemp2);Any ideas?
EDIT: if the generated .h RNBO Template file is in there makes the difference the rest doesn't matter.
-
RE: Script Table in "higher resolution"
@Christoph-Hart it worked! can't believe it was that simple :)
Probably some valuable info for anybody using the table in scriptnode for more complex timings. thank you -
RE: Script Table in "higher resolution"
@Christoph-Hart perfect. makes sense!
-
Script Table in "higher resolution"
I'm using a table in scriptnode controlled by a clock ramp over 4 bars. I set the table points via an array. Somehow the timing was never super accurate so I thought it's the clock ramp but it isn't - if I split it into 4 tables it's perfectly fine so it only can be the "resolution" of the tables. Is there any way (in the code maybe) to be able to add points that won't lock to the full percent? Eg. 12.25% I don't care too much about the visual representation - just the accuracy of the processing.
-
RNBO Tempo Sync
To test a RNBO node synced to host I made a little clock ramp project in RNBO - when trying to compile the node I get the following error:
❌ .../ramptest2.h:16:3: use of undeclared identifier 'setUseTempo' setUseTempo(true); ^
This is the RNBO setup
Am I missing something?
-
RE: Happy Holidays..
@Christoph-Hart great! now with having rnbo I'm wondering if there is any way to get all the great midi manipulation possibilities from max/rnbo into hise. So basically something like a script Midi Fx. Is this somehow achievable?
-
RE: Clock Ramp out of Sync when exporting Audio
@Christoph-Hart recompiled and Looks god so far! Thank you!!!!
-
RE: Clock Ramp out of Sync when exporting Audio
a friendly bump. I just compiled the latest develop but still using anything synced to host will not work when freezing in ableton or exporting the audio which unfortunately makes every project containing a synced ramp or a midi player synced to host unusable in the real world since november.
any ideas @Christoph-Hart ?