RPJ Low Fat Milk - Milkdrop Visualizer for VCV

oh boy, had to show my appreciation for this here!

back in the day (early 2000’s) I used to VJ with milkdrop for stoned friends a lot, and I played this thing with my keyboard, hard cuts, brightness, sensitivity and waveforms could be changed (I might forget some) to see this is way cool, especially as I have been toying with butterchurn visualizer lately, which is cool as well. cudos to RPJ, I hope you add more inputs so I can do whole visualization orgies on my live-patches so they will somewhat reproduce - imagine doing a liveset of 1-2 hours and you you a folder of presets which are getting switched by cv, and cv might be hooked to a sequencer, this would allow you to reproduce hour long VJ work all inside vcv-rack, this is bonkers thanks for doing this!

edit: oh, I just noticed that brightness is low by default, there was a way with classic milkdrop to increase contrast of the visualization to almost burn your eyes out, I used this as an effect sometimes, but I don’t remember the key command for this, nor can I find it online, weird, might have been shift+G and shift H though, it could be used for great creative effect, hope to see this coming back - just noticed that key command w for changing waveforms is also not documented Oo weird. too bad I am on a m1 mac now, not windows anymore, so I can’t test but if there’s any need I can reproduce my old setup so I can figure out everything.

so here are a couple of suggestions for improvement:

add all them parameters that we used to have back in the winamp days as mod inputs

make presets react to a range of cv, say -1 to +1 walks through all presets in a selected folder, maybe even make preset folder selection controllable via -1 +1 voltages for complete reproducibility.

preset folder management function (create your own sets of presets in folders to be seqeunced with cv)

add multi-screen support (not sure if “1 module per screen” already works, but with the suggestions above, you could sync and sequence visualizations across multiple monitors which makes for one helluva show for friends or whole venues.



Thank you for the nice words! I have a new version available soon (already available from my github) that will address some of your feature requests:

  • more cv controls i.e. preset change based on hard beat sensitivity, preset up and down trigger
  • cv control for sensitivity
  • knob for changing the brightness

Different preset folders is something I will look at, should be easily doable.

Multi screen is already available, just add more modules. Or is this not what you mean?



Yes, LFMFull sounds exactly like what cornucopia is asking for - a different LFMFull can be used for each monitor. But I presume each one will appear different, even if they all are using the same preset. It sounds like cornucopia may be asking for the ability to sync up the displays so they can all show the same thing. That sounds like a good use for an expander that would simply replicate the parent LFM or LFMFull image to another window. Or maybe it could be done as a context menu option within the LFMFull where you could specify the number of windows that you want, with a minimum and default of 1.

Great to hear you are adding more controls and CV options.

Regarding sensitivity control - I think a single simple knob would be much easier to use than increment up and increment down buttons.


Good news for you David as the new version has a knob to control the sensitivity. I had to add a api call for it to the projectm project to make this possible which I have done.


a “regular” oscilloscope mode for this module would be sweet, since it has the ability to open in a new window…

Sorry, I have no idea what you are talking about. But if you are a bit more clear about the requirements I am happy to pick up if possible.

Sorry, but is this about LFM? Why are we talking abour scopes here?

I think the notion is that it should be fairly simple to use LFM (and a simple preset) to emulate a full-screen oscilloscope. Now that I’ve learned a bit more about Milkdrop presets, it does seem pretty easy if we can set user-defined q variables(?) to dynamically track an incoming CV. The tricky bits would mostly involve the reticule and data overlay.

open source software is a wonderful thing. Why don’t you clone it and add your feature?

I just pointed you to the post that made @zakforrest post/question more clear to you. :sunglasses:

Yes thanks for that. That made me understand where it was coming from :slight_smile:

1 Like

sorry for not being more clear!

actually what i personally want, is a scope like this that can be full screen on an external monitor:

i dont need a grid or ability to measure anything. i use the XY scope to monitor my laser / oscilloscope animations.

the settings i find optimal that i have it always set to are:

fade time: 0.25 sec

beam focus: 0.5 pixels

max drawable vector length: 400 pixels

Using the code/approach taken in LFM means you can get a separate display, but you can’t have the cv/inputs or knobs on that screen. They need to stay within a module in Rack like with the LFM windowed version.

That’s totally fine! In fact, preferred! Full screen dedicated scope is what I dream of