Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: NestDrop – realtime VJ engine using Milkdrop (nestimmersion.ca)
64 points by nuclearsugar 11 months ago | hide | past | favorite | 115 comments

We've had fun digging into Milkdrop and making it a tool for VJ-ing.

NestDrop allows you to perform with high-resolution high-fps visuals which react in realtime to the music and then broadcasts the video via Spout. Since the Milkdrop engine is at the core you can easily bring in your own Milkdrop presets. Use any audio source to drive the visuals, even live audio.

I also curated a best-of collection of 9,795 presets which are organized into categories & subcategories. https://thefulldomeblog.com/2020/02/21/nestdrop-presets-coll...

Cool to see that others are still interested in Milkdrop! I’m currently working on a compiler to convert Eel (the non-shader preset equations) to WebAssembly.

My hope is that we can improve the performance and security of the Butterchurn, the JavaScript Milkdrop port we’re using for https://Webamp.org

Excited to see your NS-EEL project!

Here’s the repo: https://github.com/captbaritone/eel-wasm/

And a little playground I built for testing: https://eel.capt.dev

Note that the readme is a bit out of date because we’ve made good progress over the last several weeks.

Holy damn this is awesome, thank you so much for this!

for me that's an awesome throwback - over 10 years ago when i started out vjing i actually used Milkdrop a lot in club shows, using WinAmps linein:// plugin for the audio signal and mapping Milkdrops keyboard shortcuts with Bome's MIDI Translator to interact with it on an MPD.

Can't wait to play with that tool!

Oh nice! Your dome stuff looks awesome as well but I don't have enough projectors (and won't be at any festivals/burns for the foreseeable future, so no friends' geodesic domes to mess with anyway). Still...love seeing it and thinking of what cool stuff might be done with it.

Thank you! While the NestDrop visuals do look incredible when projected on a dome, it's not a requirement and you can work with the visuals any any software which supports Spout. Working with domes is just our approach.

What would be a good way to connect an instrument to interact with the software? Is there a recommended projector/display that had been tested with the software? Really interested in learning more when I get some free time

Any monitor or projector arrangement will function perfectly, it all depends on your context. Simply route the Spout visual stream into your software of choice.

NestDrop will use the Windows default audio output of your computer. You can change which output is the default by going in the Windows Sound panel, Playback Tab, right-click on the device you want, and select “Set as Default Device”. Note the change in Video Decks will reflect only after the Decks are restarted

If you wish to use live audio as the source for NestDrop, you can follow this procedure to activate the audio loopback in the Windows sound settings. This loopback technique will send the audio input directly to the default audio out. If you're using a microphone to capture live audio then it's important to mute your speakers or you could possibly create a feedback loop. This is especially vital if your computer is connected to a large sound system where the speakers could be damaged. https://www.tenforums.com/tutorials/126383-listen-microphone...

More details available in the the user manual. http://www.nestimmersion.ca/assets/nestdrop_user_manual.pdf

Hell yes! Thank you for the response!

Edit: Totally missed the Windows 7/10 requirement in the landing page, thanks for your patience!

thanks a lot for the curated collection! I've been tinkering a bit with milkdrop visualization on the raspberry pi 4 using projectM [1] and found the amount of mediocre presets in the full collection quite high :/ will certainly be using your curated list as a new starting point for finding my own favourites

[1] https://github.com/projectM-visualizer/projectm

I'm not a VJ and will never be, but this brought such a sweet smile to my life. So thanks. Pleasant memories of bad songs, and good visualizations, in Winamp abound.

Same here, having fun with the kids showing what old programs could do with visualising music! I always wished I knew how to connect winamps visualizer with a live sound source.

In Winamp, it was just a matter of having the "Line In" input plugin enabled and opening the URL `linein://` :)

Haha, that works, thanks! Even more fun now when the kids can sing to it :-)

What platform does it run?

That information does not seem to be on the main page.

Can you explain if you use DirectX/OpenGL/Metal to get high resolution and high FPS?

Only Window 7/10 is supported.

Milkdrop was created 19 years ago and so it utilizes DirectX 9.

We use the Spout framework for sharing the GPU texture to any other software (which supports Spout).

Thanks for the answer!

I am working on GrandVJ, mail me to marco at arkaos dot net if you want a license to try it, we do support spout..

If anyone likes looking at these visuals but doesn't have a windows pc, you might enjoy this web-based milkdrop port able to work with your mic as a sound source: https://butterchurnviz.com/

I've been having fun putting together living room DJ sets with visuals driven by Acid Cam or Project M on my mac, but neither of those are really made for real-time VJing so i usually just pick a preset at the start of the set and stick with that. I'll have to set up my webcam and OBS on a PC to play with this. Thanks for sharing!


Cool stuff! I did some experiments with pre-rendering Milkdrop visuals for high-res uploading to YouTube which might be of interest to you. Not practical for realtime (I guess this is where OBS comes in), but pre-rendering is great for quality. Example video: https://www.youtube.com/watch?v=TyhisYKU2Dg

Some notes on the process: https://www.markneuburger.com/prerendering-music-visualizati...

Led to a side project called pasteur, a tool for baking visualizations into MP4 videos for sharing: https://www.pasteur.cc/

Very cool! Thanks for sharing.

When using NestDrop you can easily record the Spout video stream by using the Lightjams Spout Recorder. Depending on your GPU there is a delicate balance between resolution and fps. https://www.lightjams.com/spout-recorder.html

Wow this is awesome. A real throwback for me in some ways, and super in line with my current interests as well! Though it does occur to me how inexpensive you're pricing it at, you sure the pricing model is what's best for you financially? If not, it's well within the community etiquette to reshare this tomorrow and solicit pricing tier feedback. If so, I'm happy for your success and thanks for sharing this!

can you give me a headstart? so your prog enables me to do projection mapping with winamp visualisers basically, right? so if i own some discotheque with some projectors, i could use this regardless of input music in auto-random-mode all day all night?

NestDrop doesn't include projection mapping tools. But it does output a Spout video stream, so you can link the Spout video stream into Resolume or MadMapper and then do your projection mapping.

Please check out the user manual. http://nestimmersion.ca/assets/nestdrop_user_manual.pdf

thank you

i have 4 projectors running, can i use one computer to feed all 4 projectors, with the dj's output fed to the computer, and a single 1080 geforce with projector size is 1024x768?

in case of the computer not being fast enough, i just use 2 pcs, how do i sync the winamp stuff?

i also need some architectural related projection then for each output, to do a proper mapping, can this be done with the nest fork?

probably syncing by just inputting same audio

so glad you had fun into making a milkdrop fork so VJs can even get less relevant with this software i guess, just clicking through the presets, if not totally automated - i like it, since it puts Vjs into their place.

Sure anyone can just click presets, but performing with Milkdrop visuals is just one piece of the puzzle. Layering it with pre-rendered custom visuals is another piece that heightens the art form. And then the actual performance of matching the mood and changes in music, it's a skill that is difficult to master when performing live and juggling many different aspects. Combine that all together and you have something that takes an artists eye to pull off in a polished fashion.

so i guess it is still alot of work depending heavily on audio input? why not more automation?

bullshit, milkdrop for the masses, i use that stuff for my supersized room discotheque and it is nice.

so how many VJs do yo u employ?

none, i use auto random

this sounds a bit abrasive, but it is not - i like VJs that have their presets ready

being a VJ is nothing bad, it is just about clicking at the right times


you're sure to not over-emphasize this? there's lots of VJ's around that don't do "milkdrop"

it is pretty common to refer to certain Vjs as "milkdrops"

PSA: if you are a VJ in any kind of seriousness, avoid this like the plague:)

i forgot you were a VJ, so all hope is lost by default

I guess this is just a nice shadertoy-like platform for any aspiring VJs.

yeah, if you like being reduced to clicking "next"...

why so negative? you can reap VJ salary while clicking left mouse each 5 min.

if i could make it this way. no. reality is different.

exactly, just use this stuff to no end. pls

the demo song at https://vimeo.com/391524665 sounds pretty horrible, did you automate that aswell?

I wanted to use music without worrying about copyright concerns, and so I used my own techno music. It's just a demo video to showcase the preset collection that I curated.

please be kind to the coders.

ok, but it is really a horrible techno, how else could i express it?

maybe these dudes are programmers, not musicians?

atleast they're not VJ's

as a VJ i really like these systems that automate my daily work away to an extend where i still can appear like doing something.

you have been auto-milkdropped!

being a VJ is almost as bad as being the janitor, so i appreciate the help.

not true, VJ is almost half of the whole presentation.

i noticed some lag issues in your demo video? maybe pull the audio in future to about 2-4 frames?

demo video sounds very cheap, i'd suggest to put more effort into the actual music before visualising it.

Why so harsh? It's a demo video for a (free) preset collection.

don't be too harsh, they are just proggers, not muzaks

just proggers? are you kidding? proggerz > muzaks

i noticed this aswell, maybe the whole audio output can be delayed to match the visuals.

so this is a playback machine for shadertoys? can you use code directly from shadertoy for a new preset?

It's based on an engine called Milkdrop that is a very popular music visualizer in WinAmp... So it has nothing to do with ShaderToy.

ah, never heard of milkdrop, sounds like its pretty similar to shadertoy though. nice visuals.

why is this milkdrop fork called nestdrop? is there any association with google?

The project is created by NEST Immersion and it's a Milkdrop fork. NestDrop.

the name does make a strong vibrance to googles failed nest stuff.

this has nothing to do with google nest, it is a completely own project.

this project has nothing to do with google.


and if so, what about it?

the work that has gone into this is incredible, 9795 presets!

It really was a huge amount of work... And I'm happy to be done with it.

For those interested in learning more about my curation and organization process, here is a blog post about it. https://thefulldomeblog.com/2020/02/21/nestdrop-presets-coll...

going preset hunting, i might aswell remake my business card into "vj" if this continues.

9000 is certainly alot, but you can also do your own setups you know?

Definitely, there are a few different options:

You can save different user profiles. The information saved into the XML file includes: settings selections, window position, Preset favorites, Preset hotkeys, Sprite effects, open & closed queue windows (name, size, position, Preset lineup, linked Sprites, deck number).

You can also organize the Presets into your own categories and subcategories using the following folder architecture. --- Category: Folders placed directly into the Presets folder are treated as the main categories . A section label is automatically created to help easily identify categories within the library window. They are also listed within the ‘Active Preset Locator’ context menu. --- Subcategory: Any nested folders within the main category folders are treated as subcategories. Bookends are used to separate all subcategories within the library window.

NestDrop will index all Presets found within the <Plugins\Milkdrop2\Presets> folder. It will also index any nested folders. You can install your own Presets to this location.

i am also going full on VJ now

dudez - presets mean nothing at all after a short while, focus on the editor

not true, if you have 9000+ presets, you can aswell be just browsing untill retirement.

yes and no, in my experience too much presets are just as good as no presets at all.

which one?

i'd rename it to: "Milkdrop-VJ-Edition"

but nest is a respected google brand name, isn't it?

yeah, you're right

great milkdrop fork - it can be projected on a dome.

we have no dome here can it also be projected on a flat surface?

Yeah definitely! Any projection or monitor can be used.

Here is an example flat video I recorded using the Lightjams Spout Recorder - https://vimeo.com/391524665

no - don't use that vimeo link ever again, it is very horrible techno, and it won't help your project at all - get better music.



milkdrop ftw, nice that you guys keep it alive!

why is it called nestdrop? i remember google nest, but that was some shoddy iot stuff, your fork could be named better no?

how about: milkdrop-for-VJs

nah, that's too barren, better would be "creamdrop"

how about "condensed-milkdrop"?

that sounds rad!

winamp visualz for the masses, finally!

I remember the old winamp days, it is pretty cool that that stuff is now up for further production.

you say that like it's something bad - milkdrop is a very respected package here...

it is nice, however there comes a tradeoff...

yes, finally, no more Vjs, let's have auto milkdrop

this will be the last feedback for your weak attempts to automate what is not to automate\

dude, chill

dude chill? no - if anything i want to keep human arts as they are. human based. come along with some shitty random prog? fuck off.

Personally I think that VJ-ing is all about human intuition and carefully listening to the music. It's tricky to improvise and find visuals that match the given mood, layer realtime NestDrop visuals and pre-rendered visuals together, all while trying to keep things fresh and alive. I don't think it's a skill that can be automated with the same level that a person can pull off. NestDrop just creates visuals which respond to the beat, it's just one piece of the puzzle... Not an utter solution.

that's a good speak, also i just realised you're the OP guy here - nice&deep milkdrop hack - gg dude

your demo vid is still horrible.

full automation

ok, but you can use this prog like anything else, make it your way.

cool project!

why cool?

because it shows entanglement with older codebases.

i think it is super nice to relive old code like that.

ah, yes agreed.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact