32x Oversampling support and dedicated Bit Depth settings

Hi there!

I was wondering if VCV Rack could incorporate an oversampling function for offline rendering.

I use VCV Rack Pro, in combination with the VST3 Plugin inside Cubase Pro.

I usually work at 96Khz in the stand-alone version to create my patches, then open up Cubase Pro, with my already created Cubase Pro - VCV Rack project ready to go (with Cubase set to 96khz 24Bit), all I have to do is load in my patch in the VCV Rack Pro VST3 plugin, and it usually detects that my Cubase Project sample rate is set to 96khz (by using the Auto mode, under sample rate inside the VCV Rack plugin).

I know that 96Khz already puts a lot of strain on the CPU, so that’s why I use Cubase Pro to do the final offline rendering, to prevent any dropouts etc. The longest time a project took to render a 17:30 minute patch at these settings was 5 Hours. But the quality is just amazing at 96Khz.

I also noticed however there is no Bit Depth setting inside VCV Rack, and I wonder if it just uses 16 Bit, or if it adapts to the DAWS Bit Depth Settings. I think it would be really valuable to have a dedicated bit depth selector inside VCV Rack, so you are always sure that it renders at the correct bit depth.

Further more, other VST/VST3 plugins nowadays (Fab Filter, Master Plan, and a lot more) often come with an oversampling functionality for use with offline rendering, this increases the processing resolution even more. And I would love to see such functionality being integrated into VCV Rack. For example when I set the sample rate to 96Khz it would be great to have 32x times oversampling option, so it processes the modules/audio/output even more accurate. Off course you can’t use this while working online on projects in real time as it just would eat up your entire CPU. But for offline rendering this would be great.

I want to avoid having to render at 768Khz (because playback of these files is something my audio interface doesn’t even support, I use an AudioFuse Studio with a max sample rate of 192Khz). I also still I don’t want to work at 192Khz, or have to down sample an offline exported audio file to make the final master in Cubase Pro at 96Khz. Rendering out at higher sample rate does nothing more than increase the audio file size which you later have to down sample again, whereas oversampling you can keep the current sample rate and file size, it just processes it 32x more accurate.

I just want to work with 96Khz files, that are over sampled 32x times, this to increase resolution, accuracy and precision, but still end up with a nice 96Khz file. I wouldn’t mind if the offline then takes 8 or 24 hours to render, if the end result is that much better.

Also I would love to see a Bit Depth option under the engine tab, like: Engine>Performance meters, Sample Rate, Bit Depth, Threads. Perhaps even allow for 32bit Float. But I think 24 Bit is a minimum requirement these days.

Looking forward to your input, comments and critics regarding this topic.

Hope to see this feature implemented in future updates.

Kind regards, Levien

I’m no expert on this, but internally all signal values in VCV Rack and modules are C++ floats. So more fine-grained (especially in the -10.0 to 10.0 range that almost all values are in) than a 16-bit integer. I’m too many decades away from my computer science degree to think I could compute the accuracy of floats in this range, but the mantissa of a 4-byte float is 23 bits.

Now, how this interacts with a DAW, hooboy, I’ve no idea.

Meta note: bug reports, feature requests and so forth should be sent to support@vcvrack.com. The evidence suggests that the kind folks at VCV do not, as a rule, read each and every post on this forum :slight_smile:

mahlen

I think it might depend on the daw? although I’m a bit out of that world myself now. It used to be (back when I was young!) that some DAWs supported 24 bit signed integers but not 32 bit float, some supported both? I would be quite surprised if VCV wasn’t always operating on at least 24 bits…

Depending on hardware… the highest I’ve seen is 192000 @ 64 bit floating point.

In VCV, every signal (audio and CV) is 32bit float by default. Increasing the bit depth to 64bit float would require a complete rewrite of the Rack and of all plugins. So I think this will not happen soon.

This would give you a sampling frequency of 3.072 MHz. Do you have problems with aliasing artefacts you want to avoid by massive oversampling?

768kHz gives you “only” 8 times oversampling for 96kHz. But anyway, you can use some free software to downsample your files, e.g. GitHub - jniemann66/ReSampler: High quality command-line audio sample rate converter might help.

1 Like

Ofcourse I do not know what you are working on, but I found this video very informative on the subject of samplerates and oversampling.

4 Likes

That’s a good video.

1 Like