Animation Test: Scope from Pehr Hovey on Vimeo.


Animation Test: Composite from Pehr Hovey on Vimeo.


Animation Test: Circles from Pehr Hovey on Vimeo.


Animation Test: Random from Pehr Hovey on Vimeo.
My firsts tests at rendering each frame of the animation to a full-resolution PNG file and assembling them into a video. While the animation runs at 30-60 frames per second on my new computer, saving each frame to disk drops the framerate down to less than 10. It is thus harder to get a concept for how long the finished animation will be which is an issue since making these is a live performance and not a static rendering of pre-conceived content. I have added debugging printouts for each second (30 frames) of animation to help in timing.

I am currently using Sony Vegas 7 to do the assembling and rendering and am experimenting with compression settings to get a video that is not too large but not too affected by compression artifacts.

Many of the Codecs are optimized for real-world video that has many shades of color in it. Because my animations are mostly solid colors these Codecs tend to add extra noise and artifacts that take away from the final product.

More videos to come…

I have been working on making high-quality prints of some of these animations for gifts and posterity. I started by using Processing’s built-in ’saveFrame()’ method (see all the previous screenshots for examples). The quality is not bad, especially if saved as PNG files instead of JPEG. I soon discovered that it is limited to the resolution of the screen and sometimes turns out even smaller depending on if the program window is maximized enough.

To print at a decent quality it should be at least 300 DPI which means to make an 8×10 inch ‘photo’ print the image would need to be 2400X3000 pixels. My laptop maxes out at 1600X1050 which is problematic. I also recently acquired a new powerful Desktop computer and am using a spare monitor that is limited to 1024×768 which is even worse.

After digging around I learned how to write the animation output to a PDF file. This way each 2D polygon is stored as a vector object which means that resolution is arbitrary and it can be converted to a very large image.

One issue with this approach is that it directly mirrors the history of the program so even if several dozen (or hundred) shapes end up hidden by new shapes or opaque backgrounds they are still in the PDF. This means that the PDF files can be quite large and take awhile to load in Acrobat. This is why I needed to convert them to actual static image files to make printing and handling easier.

Several programs could not handle the complexity of some of these PDFs so I ended up using GhostScript, an open-source PDF processing library and its associated graphical-user-interface gsView.

Each image below shows just how detailed these new renderings are. Click each detail image to see the full version. The source PDF (with all the extraneous hidden layers) is also linked.


Source PDF

Source PDF

Our final project for MAT200B, Music & Technology, required us to produce a ‘multi-track recording’. The style of our piece was very open-ended, emphasis was placed on technical criteria such as recording quality, and complexity of the final result.

This class has focused mostly on ‘Electronic Music’ which is defined as music that uses non-traditional source elements, structure and rhythm but not necessarily anything ‘electronica’ sounding.

The professor, Curtis Roads, is an experienced practitioner of Electronic music so I set out to make an Acousmatic piece that would allow me to explore the possibilities of non-traditional music.

For my project proposal in September I did not have a clear idea of the stylistic content of my piece so I decided to lay out technical elements instead. I committed to produce my piece in 4-channel Quadtraphonic sound since our classroom supports it.

Most of the source material for my piece was recorded using my laptop and a ‘broken’ Shure SM57 microphone that was given to me by the music department. I recorded one of the rare rain-storms here in Santa Barbara as well as some violin played by a friend.

I used Sony Acid Pro to assemble my piece and export it in Dolby-Digital compressed surround-sound format. All-told the piece uses 24 audio ‘tracks’ which are cut up and distributed throughout the timeline.

I played the piece back in Quad sound using an external sound card with four direct-analog outputs.

A 2-channel  stereo mixdown of the piece is available in MP3 format (10MB)  here. The full 4-channel Dolby Digital AC-3 file (18MB) is available here. The AC-3 file can usually be played using DVD playback software.


Today we had our final presentations for the Multimedia Sensors class. The final sensor setup I used was my 4 sliding potentiometers and 8 push buttons (4 on/off and 4 momentary). The buttons are from old Nintendo game consoles and were really cheap at the electronics thrift store.

I statically mapped each sensor to a set of actions / parameters to control but I intend to make a run-time assignment system so I can change what each sensor does on the fly.

I plan to work on this in future quarters to add many new features including audio-reaction and webcam integration.

The current program is about 1,600 lines of Java code between the main animation program (1,200) and the separate Sensor-reading thread (400).

Below are some pictures from the final animation as well as more construction pictures. An online-applet version will be forthcoming.