visual piano + fluid

Hi Guys, just posted a little demo of what I’ve been working on (and non-stop posting about) at . Off now to set up the real thing!

Thanks to all that helped on the forums etc!

that looks pretty awesome!

how are you handling the sound on it?

Hey that looks very cool. I am also working with some stam fluid stuff. I have written an ofFluid class that works pretty good but with my g4 powerbook 1.5ghz it will only run at a grid size of 100x100 so some of the visuals look a little blocky. It could be that I don’t know how to optimize it correctly. Maybe when you are done with your project you can take a look at what i’ve done and suggest some speed improvements. Your project looks amazing though.


I am really liking it. I was wondering how you detect the direction of movement to affect the fluid. using openCV?

Hi Guys, just got back. and am happy to say it all well pretty darn well! Will post clips and photos soon.

My app just sends OSC info as to what notes should be triggered (or stopped) with what velocity etc. to another computer running Ableton - and OSCulator to map the OSC to MIDI. Camille (the developer of OSCulator) was very helpful as Osculator wasn’t originally designed to handle such polyphony from a single OSC address - so he worked quite hard with me to get it working the way we needed it.

100x100 on a 1.5Ghz G4 is pretty good if you ask me! what kind of framerate do you get? The way forward for fluid simulations is to write it using a series of shaders running on a powerful GPU with many parallel pipelines (i.e. any recent high-end gaming card). There is a sample on, unfortunately its Cg (Nvidia’s own shading language). Normally converting a Cg shader to a GLSL shader is not that complicated, but in this case we are not talking about converting one shader, but quite a few shaders and passing data between them. Its probably quite straightforward too, but I don’t have enough experience with general purpose GPU programming and didn’t have time to implement it before the show… will be looking into that now though…

Yes it is using openCV - Lucas Kanade optical flow motion estimation to create a field of vectors which get added to the fluid simulation

We just uploaded footage of the installation at
and some photos at…-029759739/
now onto v2 :stuck_out_tongue:

damn that looks ridiculously good!!!
well done!