Audio Visualizer: SoundCRT

View the time and frequency domain of any audio source, but on an old-timey cathode ray tube television! The frequency domain is displayed as a waterfall plot on the TV's monitor, and the time domain is projected as an electric spark moving up the antennas. This program allows the user to navigate between 8 different audio sources (via the channel knob), as well as take microphone input.

Screenshots

Screenshot 1

SndCRT when off.

Screenshot 2

SndCRT during "daisy.ck"

Screenshot 3

SndCRT with TV static

Video

Instructions

Navigate channel (audio sources) with left and right arrow keys. Adjust volume (time and frequency domain sensitivity to input) with up and down arrow keys. Leftmost gray dot indicates "off" channel for TV. Navigate to the red dot to capture microphone audio.

Downloads

ChucK Code

sndcrt.ck

KB.ck

change.ck

change_click.ck

daisy.ck

asimov.ck

computermusic.ck

osc.ck

popeye.ck

twilight.ck

mtv.ck

Feedback and Reflection

Though this assignment was a doozy (and I very narrowly avoided several ear drum ruptures via ChuCK meltdowns), I had a ton of fun working on this project. It was especially fun to see how the medium of a CRT TV led me to think of more and more potential additions (far more than I have the technical ability to implement). I also really enjoy how this medium allowed me to create the sound narrative, though I wish I had more time to fully realize my vision for it (my intention was for a much more 'horror-core' aesthetic, but I think I successfully achieved 'creepy'). The most challenging part of this process was definitely the nuts and bolts of the sound narrative (i.e. actually connecting all of the different audio sources to the visualizer's mechanics). This seemed easy at first, but then I realized that the gain levels started to get unwieldy extremely fast with all of the various sound sources and sporked shreds. The levels currently are not ideal, and I still don't have a full grasp over all of the different considerations when sporking/Machine.add'ing multiple shreds into one Gain input, but regardless, I feel I have a fully-functioning product that I am proud of! Shout out to Andrew for helping me a lot to get the control logic of different audio sources with Machine.add working! Also, thanks to Andrew for the original inspiration to have the TV go into a 'creepy' direction.