-
-
Notifications
You must be signed in to change notification settings - Fork 65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FEATURE] VCV Rack port for AnalogTapeModel #60
Comments
Thanks Latif! So this is something that I've been thinking about for a few days, and I think it would be pretty cool to have this plugin available as a Rack module. At the moment I don't have much experience working with the Rack SDK, or using VCV Rack to make music (which is unfortunate since it seems like a really great tool, I just haven't fully been able to wrap my head around it). I think for now, I'll leave this on the back-burner while I try to get more familiar with Rack, and the process of creating Rack modules. That said, in case other developers who are more familiar with Rack want to help out with this, I'll leave some notes here, on what I think the process might look like: 1. Hysteresis EngineI think it might be wise (at least at first) to limit a Rack module to only contain the hysteresis engine of CHOW Tape (maybe other sections could be their own modules...?). So this would mainly consist of the Bias, Saturation, and Drive parameters. To implement this processing, really all you would need to do would be to link to an instance of the 2. Plugin GUISomething that threw me off in my first attempts to use the Rack SDK was that I needed to create a GUI for a new module (I think in Inkscape?) before I could start working on the DSP. I'm not really familiar with Inkscape, and I almost always prefer to prototype my DSP code before setting up any kind of GUI. If anyone wants to help me get started, even just with creating a simple 3-knob GUI for the engine described above, that would be great! 3. OversamplingThe current hysteresis processing in the plugin uses optional oversampling, which I think is very important for reducing aliasing. This would be somewhat difficult to implement by hand in a VCV module, especially considering that the modules use 1-sample buffers. I know that Rack allows you to choose the sample rate for your overall Rack session, but I don't think it allows you to set different sample rates for different modules... 4. BuffersUsing single-sample buffers would also mean that I need to update the parameters of the hysteresis module every sample, which would be computationally expensive. As I understand it, this is just a direct consequence of the way Rack works, and there's not really a way around it. 5. TestingWhenever I make changes to the CHOW Tape plugin, I try using it in a couple of plugin hosts, on a couple of mixes, to make sure that it's working correctly, and is sounding as expected. Since I'm relatively unfamiliar with making music in VCV Rack, I'm worried that I'll have difficulty testing the module, leading to users have issues on their end when trying to use the module. Anyway, these are just a few thoughts about what the porting process might look like, and what some challenges might be. I'm still getting familiar with the Rack SDK, so hopefully I'll soon be comfortable enough to take a shot at porting this plugin. In the meantime, if other developers want to contribute to make this happen, I'm more than happy to be a part of a team effort! Thanks, |
Hi Jatin, thank you very much for detailed reaction :) I will share this thread around and hopefully get someone interested in helping out. Cheers, |
Hi Latif, Actually just took some time to play around with the Rack SDK, and it's progressed considerably since the last time I looked at it (probably 1.5 years ago). Still having some trouble with GUI-related things, and some of the other issues I outlined above, but I was able to get something to build, and from my brief testing with pure sine waves it seems to sound okay. Still plenty of work to be done, but it seems like a promising start! Since the VCV Rack plugin build process is very different from the JUCE build process I'm using in this repo (and since I may want to add modules in the future that might not be tape-related), I've set up a separate repo for this and future VCV Rack modules. Feel free to check it out (and try the plugin) here. Thanks for motivating this exploration! I look forward to continue working on this. |
Closing this for now, for all future questions regarding CHOW Tape for VCV, see ChowDSP-VCV |
Hi, i love this plugin!
Thanks for making it.
Would it be feasible for you to port this plugin to the VCV Rack module format, so that it can be used as a native VCV module?
some information from the VCV site:
https://vcvrack.com/manual/PluginDevelopmentTutorial
&
https://vcvrack.com/manual/PluginLicensing
Regards,
Latif
The text was updated successfully, but these errors were encountered: