CHOW Tape Model by Jatin Chowdhury

VST, AU, AAX, CLAP, etc. Plugin Virtual Effects Discussion
Post Reply New Topic
RELATED
PRODUCTS

Post

So, I was looking for papers about analog tape machine modelling and found a recent and promising one by Jatin Chowdhury.

From the writing contained in the paper it appeared as if this plugin has been coded, so I searched the web and did indeed find a corresponding Github project with the source code. It's released under GNU GPL, but it seems there is no binary available yet (despite the Github description saying so, but there is only a binary for another distortion plugin named "Chow" after the developer). You can find the Github repository here.

Could someone who has the required JUCE and Projucer set up please attempt to build the binary / VST plugin file (preferably Windows version)? Strictly for personal use under GNU GPL of course!

Thanks
Last edited by Obsolete236871 on Thu Jan 23, 2020 8:42 pm, edited 1 time in total.

Post

That repo already has a VST / VST3 plug-in, made in Juce. The .dll and .vst3 files are both there already - in "AnalogTapeModel/Plugin/Bin/Win/" I've just played them in FL Studio on Windows.
*edit* it's very expensive on the CPU though...

Post

quikquak wrote: Mon Dec 09, 2019 9:22 pm That repo already has a VST / VST3 plug-in, made in Juce. The .dll and .vst3 files are both there already - in "AnalogTapeModel/Plugin/Bin/Win/" I've just played them in FL Studio on Windows.
*edit* it's very expensive on the CPU though...
Edit: Indeed, not finished / optimized yet, but rather a prototype. Could not test it on material because one instance maxed out my CPU cycles entirely. It's probably due to the fixed 16x oversampling and the sophisticated component modelling going on under the hood. Maybe I shouldn't explore Github repos but rather wait for official release next time :lol:

Post

Perhaps it's in debug. Why not just ask them?

Post

quikquak wrote: Mon Dec 09, 2019 10:07 pm Perhaps it's in debug. Why not just ask them?
Yup, I will try to get in touch with them later this week.

Post

To get in touch, simply fill in the form on github's issue tracker:
https://github.com/jatinchowdhury18/Ana ... del/issues
(you need to log in, thus create an account first)
We are the KVR collective. Resistance is futile. You will be assimilated. Image
My MusicCalc is served over https!!

Post

BertKoor wrote: Tue Dec 10, 2019 7:29 am To get in touch, simply fill in the form on github's issue tracker:
https://github.com/jatinchowdhury18/Ana ... del/issues
(you need to log in, thus create an account first)
I indeed have an Github account, though I'm not really well experienced. I managed to file an issue! Thanks

Post

Hi All,

Thanks for checking out my plugin! My tape modelling plugin was designed more as research project than as a plugin to be used for mixing/mastering etc. With that in mind, there were things that I could have "fixed", but chose not to, partly to show the limitations of certain modelling techniques. That said, hopefully in the next week or so I'll have some time to optimize my code a bit more, and upload some new builds. I'll update this thread when that happens.

Thanks,
Jatin

Post

Nice one, Jatin! 😀

Post

chowdsp wrote: Tue Dec 10, 2019 5:28 pm Hi All,

Thanks for checking out my plugin! My tape modelling plugin was designed more as research project than as a plugin to be used for mixing/mastering etc. With that in mind, there were things that I could have "fixed", but chose not to, partly to show the limitations of certain modelling techniques. That said, hopefully in the next week or so I'll have some time to optimize my code a bit more, and upload some new builds. I'll update this thread when that happens.

Thanks,
Jatin
Thanks Jatin,

I read your paper and recommended it to another developer. I'm also the guy who filed the bug report on Github and I'm looking forward to the improved build. Your approach to modelling the tape intricacies seems really thorough and solid.

One small issue: in the current version (which was overtaxing my CPU) I realized that the current implementation of noise / hiss seemed rather static than dynamic / fluctuating over time. Is that on purpose or do you plan to implement a more dynamic noise model?

Post

Izak,

Thanks man. The "whining" noise that you're hearing is actually an aliasing artifact of the bias signal. Because of the method I was using for doing the nonlinear processing, even 16x oversampling had some pretty bad aliasing artifacts left over. I've since figured out a new way to model the "dropout" effects that come from underbiased tape, which will be in the new version. I've actually had some time to work on it today, so hopefully I can get something new for you to try in a day or two.

If you're curious, I have a new project where I write about some nonlinear signal processing ideas, and make simple plugins to demonstrate those ideas: https://github.com/jatinchowdhury18/Com ... inearities. I did a generalized version of hysteresis as part of that project (https://medium.com/@jatinchowdhury18/co ... eb2cd3e3f6). The "width" of the hysteresis curve can be adjusted to model underbiasing.

Thanks,
Jatin

Post

chowdsp wrote: Wed Dec 11, 2019 3:24 am Izak,

Thanks man. The "whining" noise that you're hearing is actually an aliasing artifact of the bias signal. Because of the method I was using for doing the nonlinear processing, even 16x oversampling had some pretty bad aliasing artifacts left over.
While I've never done any serious tape modelling, I remember experimenting with biasing non-linearities years ago. Something one can do to try to mitigate aliasing of the bias signal perceptually is to tune the bias signal to an exact multiple of the base Nyquist rate. This way the direct harmonic products will alias at either Nyquist or DC, rather than in the middle of the audible band.

Going further, one could also try to spread the spectrum of IMD products to whiten the noise floor, by either using band-pass noise as the bias signal or (probably more realistic in practice) randomly (eg. using blue noise or something) modulating the frequency of bias signal slightly. The idea here is that slight variation in the bias frequency doesn't necessarily has much impact in the audible band, but as the bandwidth of the products grows proportional to the frequency, the higher order IMD products (ie. those that will actually alias) are spread out more. Ideally, by the time they alias, they as spread out enough that they combine into something approximating a white noise floor.

One can actually turn any and all aliasing into (approximately white) noise by using additive random sampling (which again effectively spreads the aliasing around), although high-quality real-time reconstruction of such signals is somewhat challenging.

Post

chowdsp wrote: Tue Dec 10, 2019 5:28 pm Hi All,

Thanks for checking out my plugin! My tape modelling plugin was designed more as research project than as a plugin to be used for mixing/mastering etc. With that in mind, there were things that I could have "fixed", but chose not to, partly to show the limitations of certain modelling techniques. That said, hopefully in the next week or so I'll have some time to optimize my code a bit more, and upload some new builds. I'll update this thread when that happens.

Thanks,
Jatin
Hi Jatin,

Just came across this thread and checking out your tape model. Wow is all I can say, this is sounding great, look forward to the new build. Whilst the GUI might just be temporary and isn't the important factor; just want to say I really like it, nice and functional. This is exciting, thank you!

Post

Alright folks, just finished with a build for version 2.0, I'd love to have y'all try it out! New builds are available on GitHub: https://github.com/jatinchowdhury18/Ana ... /tag/2.0.0. I'm not currently able to "codesign" the mac builds, so I'm not sure if those will work, but the Windows builds should be good to go.

@mystran: Thanks for the ideas, definitely a bunch of things that are worth trying!

@s28: Glad you like it, the GUI is like that mostly because it was easy for me add knobs as I adjust the DSP. But yeah, it's functional and doesn't have any extra bells/whistles :).

Thanks to everyone for showing their interest, I probably wouldn't have continued maintaining this project otherwise!

Post

^ Thanks @chowdsp !!!

Great how you got involved immediately and managed to pull this off! As soon as I can I will check the new tape model. Now that you are on our radars I will definitely follow your academic and practical DSP work and hope you will find the time to implement some of your other ideas in plugin form!

Post Reply

Return to “Effects”