Posts tagged with “”

Golden Ages concert visuals

February 14th, 2011

Watch in HD on Vimeo

I was invited by Francis Tseng of Golden Ages to create audio-reactive visuals for the band’s concerts.

The visuals revolve around a rotating spiral thing made of balls and lines, inspired by ctenophora and zooplankton. There are 7 “scenes”, one for each song in their set list. With each scene, the visuals becomes more distorted and more agitated. It was built with Processing and reacted to the sound of the band fed to the computer during the concert. The post-processing effects (blurring, glowing, displacement) were done with GLSL shaders. Above is a screen capture of this audio visualization fed with the MP3 of Everything Will Be Alright (official video).

This was a fun project and I really like how it turned out. Looking forward to work on more projects of this kind.

untitled 252

June 13th, 2010

Watch the HD video on Vimeo.

Or click here for the realtime version (Java applet). A good graphics card is required.

Realtime graphics made with Processing, toxiclibs for general vector math and Minim for audio playback. The following links were very helpful:

I feel that I haven’t explored 3D graphics in my projects so far, so that was one thing I wanted to do this time. But 3D graphics implies lighting, texturing, shadows, which are all difficult problems to solve. In the end, I only used one directional light and wasn’t able to implement shadows nor ambient occlusion.

Another important thing was sequencing. One person on Vimeo commented that untitled 246 lacked some sort of ending, and I agreed. Even abstract visual graphics can benefit from some sense of storytelling. I think this time there are too many things happening in the ending scene, but not much changes between the first and the second sections of song, so there’s an imbalance.

Conclusion: I think I tried to build something too big (or too complex) for my current OpenGL skills. Have to keep studying. Next time I’ll probably try something a bit simpler, though. :-)

PS: 2010 has been a busy year, I’ve worked on some interesting Flash development projects, but none of them are public yet. Hope to be able to show them soon!

untitled 246

December 25th, 2009

A video for a song. Code and music by me.
(Note: music is not realtime generated, only the graphics).

Video made with Processing, toxiclibs, penner.easing lib, Robert Hodgin’s perlin noise movement, and Paul Bourke’s 2D line intersection algorithm.

Music made with FL and MDA JX10.


November 16th, 2008

CubeMonster from eduardo omine on Vimeo.

Just finished a simple Processing sketch for the Processing Monsters project by Lukas Vojir. He invited Processing developers to create and share (source code included) little black-and-white, mouse reactive monsters — there are some cool entries already, go check them out.

I Am David Sparkle - Jaded Afghan

October 8th, 2008

I Am David Sparkle – Jaded Afghan from eduardo omine on Vimeo.

After watching Moscow Olympics’ Second Trace video, Errol from KittyWu Records invited me to make a video for Singaporean band I Am David Sparkle.

Jaded Afghan is one of the best tracks on their 2007 album This Is The New and also a song well suited to my beat detection algorithm (based on this article — look for “frequency selected sound energy algorithm #2”).

Inspired by this thread (especially comments from Chris O’Shea and Dave Bollinger), this Processing sketch has two modes: capture and render. In capture mode, there’s audio playback, FFT analysis and beat detection — the resulting data is saved to a text file. In render mode, there’s no audio: all data is retrieved from the text file and PNG still frames are rendered. It took approximately 1h30 to render the 6779 frames for this video, at 800×450 pixels, 24FPS. The movie file with audio was assembled in Adobe Premiere.

It’s highly recommended to download the original 170MB Quicktime file — the link is at the bottom of the page, below “Statistics”. A Vimeo account is required, but it’s free.

Libraries and code snippets used in this project:

 Next →