Homework 2: Sound Peeking

TypeSoundWriter

This audio visualizer shows the relationship between a waveform and its spectrogram in what I hope is a fun and intuitive way! The 28 keys of a typewriter are wobbled up and down so that the blue dots on each key follow the waveform being sent into the visualizer. Meanwhile, the typewriter spews out a bunch of letters, whose size and opacity are changed to create a time-varying spectrogram that prints “infinitely” upwards from the typewriter. The discrete-ness of english letters is used in both of these portions to highlight the discrete-ness of digital waveform and spectrogram data, in an effort to give a visual representation to these sometimes-abstract concepts.

To use the visualizer, simply open the zip file below and run “chuck typeSoundWriter.ck” in the folder on your computer’s terminal. Line 2 of typeSoundWriter.ck has a switch integer called “check” which when not equal to 0 will play the audio demo. Note that the chuck file will take around 30 seconds to load in either case, displaying only a black screen for a bit.

Visualizer files

If I can toot my own horn, I’m really proud of the typewriter concept for my visualiser! Like I stated above, I believe it pulls together the time domain and the frequency domain in a creative and intuitive way. As such, the overarching concept of my visualiser hasn’t changed much from the initial idea to now. In practice, the chuck file is pretty bulky, and my biggest problems came from trying to make it run in real-time. It did feel as if I wasn’t handling texture creation and mapping in the most practical way possible, but creating objects and updating their positions felt pretty intuitive, especially once I got the hang of making custom GGen classes for repeated objects.

Special thanks to the course TA, Andrew Zhu Aday, without whose advice this project would not have been possible. The metal texture is from my own photo, and the font textures were created from an image of the “european typewriter font” freely available at 1001freefonts.com, with the exception of the equals sign, which comes from the wikimedia commons.