For my Bachelor Thesis, I’ve developed a module for VCV Rack that combines Karplus-Strong synthesis, delay, and feedback oscillation. Now I need your help: test the module and provide feedback so I can continue to optimize it!
On the page, you’ll find download links for the module as well as a short sound demo on YouTube, so you can get an idea of the sound. Additionally, there’s a folder with the example patches from the video, so you can dive right in. The survey takes about 10 minutes, and testing the module itself can take as long or as short as you’d like.
If you use VCV Rack and are interested in testing the module, I’d really appreciate your feedback. The more responses, the better the module will get!
Thanks in advance, and feel free to share with anyone who might be interested!
quick note, step 4 of your instructions in the installation manual is not needed, it will show up automatically in the module browser after adding it to plugin dir and restarting rack. Update all may also regress some nightlies/betas one may have running, so not a good thing to do
the cpu usage on my win 10 laptop is crazy - about 20/30% at 48/512 (but I have a beta version of VCV Rack and atm I can’t try it somewhere else)
when randomizing parameters (Ctrl+R) the “Filter Type” is not affected, same thing for the menu-selectable functions
menu function are nice, but on the main panel are even nicer
very nice the attenuverter on the FB input…very good job!
The CPU usage is high due to the modules architecture. running 8 circular buffers with independent filters, interpolation and saturation algorithms needs a lot of processing power. But this architecture is needed to achieve the modules functionality. You can lower the CPU usage by reducing the voice count. On my ~10 year old lenovo thinkpad its also around 30% but on newer computers i tested it on its around 4-5%.
A couple of ‘issues’ found: The Mono(L in) jack has a tooltip of Input #11, the two audio outs are #1 and #2 output respectively. CPU draw is about 4.5-5% with 8 voices. M1 mini, Rack 2.6.0 in arm64 mode
OH is that how you get integer value knobs? Wow. I made a whole super complex struct in my module to do that. Im really glad you shared this here, I’m gonna have to update all my knobs now. I wish the documentation of the SDK was a bit more clear…
struct DiscreteRoundBlackKnob : RoundBlackKnob {
void onDragEnd(const DragEndEvent& e) override {
ParamQuantity* paramQuantity = getParamQuantity();
if (paramQuantity) {
// Get the raw value from the knob
float rawValue = paramQuantity->getValue();
// Round the value to the nearest integer
float discreteValue = std::roundf(rawValue);
// Set the snapped value
paramQuantity->setValue(discreteValue);
}
// Call the base class implementation to ensure proper behavior
RoundBlackKnob::onDragEnd(e);
}
};
If you look through the code of other modules that have custom knobs, you’ll see that most will define a “standard” knob and inherit that to make a “snapped” version. I just used pointer notation to get to that particular ParamQuantity property from the normal configParam setting syntax. VCV Rack API: rack::engine::Module Struct Reference
I just got round to trying this, what a brilliant module! I’ve been experimenting a lot recently with using resonators, and feeding different impulses/samples into the external input. This works very well for that, but does a lot more too. The saturation has a very pleasant tone, and can do everything from soft musical drones to screaming harmonics and feedback noise.
The only improvement I mentioned in the survey is making it polyphonic, would that be possible?
Thanks!