CHOW Tape Model by Jatin Chowdhury
-
Obsolete236871 Obsolete236871 https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=236871
- Banned
- Topic Starter
- 821 posts since 4 Aug, 2010
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
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.
- KVRian
- 871 posts since 6 Aug, 2005 from England
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* it's very expensive on the CPU though...
Dave Hoskins. http://www.quikquak.com
-
Obsolete236871 Obsolete236871 https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=236871
- Banned
- Topic Starter
- 821 posts since 4 Aug, 2010
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
- KVRian
- 871 posts since 6 Aug, 2005 from England
-
Obsolete236871 Obsolete236871 https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=236871
- Banned
- Topic Starter
- 821 posts since 4 Aug, 2010
- KVRAF
- 15206 posts since 8 Mar, 2005 from Utrecht, Holland
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)
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.
My MusicCalc is served over https!!
My MusicCalc is served over https!!
-
Obsolete236871 Obsolete236871 https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=236871
- Banned
- Topic Starter
- 821 posts since 4 Aug, 2010
I indeed have an Github account, though I'm not really well experienced. I managed to file an issue! ThanksBertKoor 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)
-
- KVRist
- 94 posts since 18 Jan, 2019
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 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
- KVRian
- 871 posts since 6 Aug, 2005 from England
-
Obsolete236871 Obsolete236871 https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=236871
- Banned
- Topic Starter
- 821 posts since 4 Aug, 2010
Thanks Jatin,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
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?
-
- KVRist
- 94 posts since 18 Jan, 2019
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
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
- KVRAF
- 7865 posts since 12 Feb, 2006 from Helsinki, Finland
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.
-
- KVRian
- 519 posts since 9 Aug, 2017
Hi Jatin,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
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!
-
- KVRist
- 94 posts since 18 Jan, 2019
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!
@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!
-
Obsolete236871 Obsolete236871 https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=236871
- Banned
- Topic Starter
- 821 posts since 4 Aug, 2010
^ 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!
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!