micsthepick / JSVocalRedIso

Implementation of a fft center/vocals isolation plugin based on an audacity plugin
16 stars 1 forks source link

MDCT version #6

Closed micsthepick closed 9 months ago

micsthepick commented 2 years ago

replace the FFT with the MDCT and MDST for phase information, limits the amount of frequency bands to 4096/2 = 2048, but seems to be more effective @FelipeZanabria any thoughts?.

FelipeZanabria commented 2 years ago

Hello. I don't know much about processing like fft and mdct, but my tests gave good results. The only problem I had was with the pdc. When activating the delta option, I noticed that there was no silence, when the wet mix was at 0. What I did was change the pdc from SIZE to SIZE-1, which left the audio perfectly aligned. Before I did this I noticed that the vocal isolation was not very accurate, after this it worked as expected. It seems to me a good option for the sound quality, and for the consumption of cpu, which is the same as the first versions based on fft.

micsthepick commented 2 years ago

@FelipeZanabria that is indeed interesting, as I've found that the PDC delay is too much by one sample, however when I adjust it down by one, it doesn't have any cracks in the audio, but if I change the following line to not add one https://github.com/micsthepick/JSVocalRedIso/blob/29e2749ec2376858de41893e81114c7fed23442b/VocalRedisoMDCT.jsfx#L127, as well as the pdc delay by 2 instead of 1, it has crackles, but I can also set them both to the regular SIZE and it also works fine. I tested amplifying to zero, and the differences for both seem to be down to floating point errors/quantization or due to dithering

micsthepick commented 9 months ago

I'm not sure if I want to support too many versions of the plugin, so closing for now unless the MDCT actually does sound better