Free Surface Modules: WaterTable Now Available

Update: Rack 2 releases are available here, current release is for Rack 2.beta.1: Releases · freesurfacemodules/FreeSurface · GitHub

Hello all,

This post introduces the first Free Surface module, WaterTable, which is now available on the VCV Rack library:


WaterTable is a physical modeling system that simulates waves reverberating in a circular channel. Unlike many physical modeling systems which use delays and tuned filters to simulate the properties of physical systems, WaterTable has a “fully analog” approach, meaning that the motion of waves in WaterTable is determined by solving the underlying equations for wave propagation. That is to say, this is a no shortcuts way of doing things. WaterTable is able to create surprisingly realistic renditions of plucked strings, drums, and even brass from simple input waveforms. It’s also useful as a general purpose cabinet filter, and can mix incoming stereo signals or spread the stereo field by selecting the position of the inputs and outputs in the WaterTable channel. WaterTable’s design makes it inherently unpredictable and chaotic, making it an interesting distortion module. You can read more about the usage and design of WaterTable in the manual here:

Here’s a demo of the sound shaping possibilities with WaterTable. 15 seconds in, I change the wet/dry knobs on three instances of WaterTable from 100% to 100% wet:

This is my first VCV module, so I’m interested to hear how it is being used, and what people would like to see changed or added, for example:

  • What is missing here, for example, additional controls, inputs, or visualization information?
  • Do the controls and inputs feel like they are tuned to good ranges? There are some limitations on what I can do about this (more on this in the manual) but if anything sticks out I’d like to know.
  • Do the default settings make sense?
  • Is there anything that needs further explanation in the manual?
  • What would you like to see in the future, either in another module or an expansion, based on similar principles?
  • Does performance seem acceptable? (This is especially difficult to remedy, but I am willing to attempt any concrete performance optimization suggestion that is within my abilities).

Just please make v2 version of your module, thanks! Seems cool stuff

It’s in the works, I’ll have a v2 build shortly and post it here. Possibly by the end of the day.


This looks interesting and very accomplished for a first module - I look forward to trying it out.

This looks and sounds super interesting, thanks so much for this!

Thanks a lot, I already tested it two days before (by installing your release :wink: and it sounds very powerful and deep in various modes and knobs/switches combinations. + Performance level is quite acceptible IMO so far (about 8% in general). Best regards and waiting also for v2 :slight_smile:

Really cool module, I’m having fun mangling a piano with it :slight_smile: Welcome and congrats!

The writeup and demo has/had me intrigued, and I subscribed and spent just a few minutes with the module. Certainly not enough to do it justice. But despite all the possibilities, I found it hard to get past the overly small white module labels. I find them unreadable at 100% zoom level, yet it is not uncommon for me to work with zoom levels of ~65% as my patches grow in size. Not until I zoom in to 200% am I comfortable reading your current labels. Also the lack of contrast behind the knobs and the faceplate contribute to some visual confusion for me.

It looks like you put a lot of thought into the sonic possibilities and physical modeling, but for me the current graphic issues are a major roadblock that interfere with my enjoyment of the module.

I like the visual aesthetic - I just wonder if there is some relatively simple graphical redesign that could maintain the aesthetic, yet make it easier to use at reasonable zoom levels.


Rack 2 builds are up now, available on the releases page here:

There are a few other changes here aside from bumping the Rack version number:

  • The display has light halos around some of the elements, just for fun
  • The feedback knob is now exponential, meaning it’s less sensitive in the middle range
  • Two new “advanced” configuration options have been added to the context menu:
    • Oversampling mode. There are two different options for oversampling now, Sinc, and Biquad, indicating the lowpass filter type used.
    • Clip range selector. The simulation internally softclips to prevent everything from blowing up to infinity. Softclipping has a damping-type effect on the simulation, and so if you want it to really resonate, you want to softclip with as large a range as possible. Several ranges are toggleable now.
  • The tooltips for additive/multiplicative mode are fixed now, they were swapped by mistake.

@DaveVenom This may have been the result of wishful thinking on my part, since I’ve spent most of my time working on the thing zoomed up close, but you’re right. The font I’m using also antialiases poorly for whatever reason even if it’s only marginally smaller than the ones used in some other modules. So, I’ll give this some thought and see if I can come up with a relatively easy solution.


Watertable is incredible! The care you’ve put into the module and documentation already has me looking forward to any updates and your future contributions. Thank you.

Regarding the font, I love it. Nostalgia talking I suppose. Perhaps just a bit more spacing between the characters would help. Looks like there’s a bit of room to spread them out. Here’s an example with a quick test to show what that could look like. I’ve increased spacing of the characters in “Position B” and “Width B”, viewed at 100% and 71% in the insert, and a couple surrounding modules with similarly sized fonts for reference. Keep in mind this is a screengrab bitmap image, so it’s inherently less clear than when viewed as vectors in VCV.

1 Like

neat, i used it on this track viral encephalitis | tennisers2 this was just a result of messing around to get a drone i liked, but i’m sure i can go a lot deeper.

The Rack2 build now has a new skin with larger fonts. This is at 100% zoom on my non-4k monitor, much more readable:


You can get it on the releases page posted above.

@aliasup Really cool track! I might not have noticed it unless you said as much, but now that you mention it, I can tell the drone went through WaterTable. Very fun to see/hear.


Updated for Rack 2.git.588342d7, builds here:

This build seems to get a pretty substantial performance improvement. Nothing changed on my end, I think this is due to updated compiler flags in the SDK.


Builds for Rack 2.beta.1 available here:


Excellent improvement on the readability in V2! Looks cool with the light bloom too. Looking forward to digging into this one deeper. I like everything I’ve heard so far. Cheers!


100% agree - much better