Until this semester, my experience with code consisted mostly of changing the background color of the Xanga account I had in 7th grade. I think I’d always put off learning how to code because it kind of scared me. I thought–like many people, I suppose–that coding takes some kind of innate skill or intelligence that I didn’t have. When actually all it takes is someone to force me to do it.
My background is in video production and live video mixing, so for the final project I wanted to make a simple tool that I could use to manipulate video on the fly.
The video above is a screen capture of my software in action. A row of 30 image sequences, each one-second long, can be manipulated in realtime using sliders that control frame rate, left/right motion, and loop time. All the image sequences in my sketch are excerpted from original footage that I shot using a multi-camera system and mixed live with an analog mixer. The performer is a performance artist, close friend, and CMU alum named Audra Wist.
One of my favorite video pieces–and one which definitely influenced my project–is Modell 5 by Granular Synthesis. I find it incredibly hypnotic, despite being jarring and frenetic, even abrasive. I love the piece because I think it’s a great study of motion and time at the micro scale–how meaning can be constructed, deconstructed, and reinterpreted by repetition, fragmentation, and changes in speed.
I think the big thing missing from my sketch–and the thing that really elevates Modell 5–is a soundtrack. I didn’t really realize how much the sketch needed audio until I had finished it, since I always listen to hype music while coding. Audio has always kind of been an afterthought for me in my video work because most of the visual content I make is created to work as live visuals for musicians. I think that this project would have been a great opportunity to consider how to combine audio and video and intensify the effect of both.
The other big weakness of my project is the way that I coded it. I figured out how to create a loop that would load each frame of video, but not how to create a loop that would rename the variables holding the frames of each image sequence. So my code looks insane and took lot of copy and pasting complete. I’m sure there’s a way to do this that would require about 150 fewer lines of code, but I couldn’t figure it out, even after going to office hours. But it works. Most of the time. Sometimes you have to refresh two or three times to get it to open in the browser.
Overall, I’m happy with my final project and super happy that I finally learned to do this thing that I’ve avoided for so long. I feel like it’s changed the way I think about problems and how to solve them, which is really empowering. I felt confident enough in the skills I’ve learned this semester to code a final project for another class in Unity using C#, and was even able to help a friend debug a project of their own. I’m really excited to keep building on these skills and apply them in my work.