
Show HN: NestDrop – realtime VJ engine using Milkdrop - nuclearsugar
http://nestimmersion.ca/nestdrop.html
======
nuclearsugar
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...](https://thefulldomeblog.com/2020/02/21/nestdrop-presets-
collection-cream-of-the-crop/)

~~~
captbaritone
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](https://Webamp.org)

~~~
nuclearsugar
Excited to see your NS-EEL project!

~~~
captbaritone
Here’s the repo: [https://github.com/captbaritone/eel-
wasm/](https://github.com/captbaritone/eel-wasm/)

And a little playground I built for testing:
[https://eel.capt.dev](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.

------
colecut
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/](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!

[https://www.youtube.com/playlist?list=PLmFMQ5frhaaTcvJ0ityQ5...](https://www.youtube.com/playlist?list=PLmFMQ5frhaaTcvJ0ityQ5rVaWl1RNK72O)

~~~
markneub
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](https://www.youtube.com/watch?v=TyhisYKU2Dg)

Some notes on the process: [https://www.markneuburger.com/prerendering-music-
visualizati...](https://www.markneuburger.com/prerendering-music-
visualizations-for-youtube/)

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

~~~
nuclearsugar
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](https://www.lightjams.com/spout-recorder.html)

------
Gabriel_Martin
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!

------
iammyIP
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?

~~~
iammyIP
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?

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

------
iammyIP
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.

~~~
nuclearsugar
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.

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

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

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

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

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

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

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

------
iammyIP
the demo song at [https://vimeo.com/391524665](https://vimeo.com/391524665)
sounds pretty horrible, did you automate that aswell?

~~~
iammyIP
please be kind to the coders.

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

~~~
iammyIP
maybe these dudes are programmers, not musicians?

------
iammyIP
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.

~~~
iammyIP
you have been auto-milkdropped!

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

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

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

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

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

~~~
iammyIP
just proggers? are you kidding? proggerz > muzaks

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

~~~
FraKtus
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.

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

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

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

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

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

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

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

~~~
nuclearsugar
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.

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

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

~~~
iammyIP
yeah, you're right

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

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

~~~
nuclearsugar
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](https://vimeo.com/391524665)

~~~
iammyIP
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.

------
iammyIP
milkdrop ftw, nice that you guys keep it alive!

~~~
iammyIP
how about: milkdrop-for-VJs

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

~~~
iammyIP
how about "condensed-milkdrop"?

------
iammyIP
winamp visualz for the masses, finally!

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

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

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

~~~
iammyIP
dude, chill

~~~
iammyIP
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.

~~~
nuclearsugar
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.

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

------
iammyIP
cool project!

~~~
iammyIP
why cool?

~~~
iammyIP
because it shows entanglement with older codebases.

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

