HW2 Final

Siqi Chen

[2024/10/21]

Music 256A, Stanford University

Audio Visualizer - iCantHearU

This Audio Visualizer: iCantHearU is centered around one of the greatest figures in Western music history, Beethoven (also perhaps one of the most Memefied on the internet). Below are the main components of this visualizer:

iCantHearU.zip

My Reflection

When brainstorming for this project, I didn’t initially think of Beethoven. I was originally considering recreating something similar to a piano keyboard to represent the FFT spectrum and see where I could go from there. I think the most technically challenging part was getting the spectrums to work.

In fact, I spent so much time working on the spectrums that the day before the milestone was due, the audio waveform was exactly the same as it was in sndpeek.ck. After an “emergency call” with Andrew to debug the FFT spectrums, he suggested I do something with the original waveform in the day I had left. I thought about it overnight and decided to go with something meme-like and piano-related. I thought it would be hilarious to have Beethoven’s brows as the waveform.

oops
Here's what it looked like for my Milestone.

Surprisingly, this choice gave my visualizer its “personality” since Beethoven already has a strong personality. Everything else stemmed from the face, and it seemed natural to map a lot of the elements of the visualizer to the loudness of the input!

I got a lot of useful feedback from the class, most of them were excited about Beethoven's face and wanted to see it move more! Therefore, working towards the final version, I tried to add more motion in more dimensions and ways. I utilized the z-axis which was always set to 0 in my milestone version. A movable camera was also added but I didn't show it in the video. I felt like Beethoven moving was enough..?

oops
Here's what it looks like now -- Beethoven on steroids
oops
Man has his quiet moments too

Audio Narrative - Pathetic Pathetique

(Code included in iCantHearU.ck)

For about 10 years the second movement of Beethoven's Sonata No.8, Op. 13, the "Pathetique" has been my favorite. It is still one of my favorite pieces to play (but perhaps not to listen to for a while after coding this project), because it's always so calming and pensive. With this visualizer design, it seemed natural to at least quote one of Beethoven's pieces, so I decided to use this one. I tried distorting the first theme in different ways using basic oscillators and some randomization at the more crazy parts, and honestly they hurt my head quite a bit. It was a fun experience overall though, and I managed to have it span a wide enough loudness range to fully showcase my visualizer. I also had some good laugh watching Beethoven's face fly around :D

Despite Beethoven’s face helping to set a tone of the visualizer, I encountered a lot of challenges throughout the project. Most difficulties came from lacking confidence and patience in understanding and modifying hundreds of lines of code. However, thanks to the immense help I received from instructors and peers, along with the time spent staring at the code, I am now more comfortable coding, not only in ChucK, but in any language.

Special thanks to Andrew, Kunwoo, Nick, and Lejun for coding help :)