The video above shows
- Searching a song in soundcloud
- Optionally running the signal through a Band-Pass filter and displaying its frequency response
- Performing a Discrete-time Fourier transform (graciously supplied by the AnalyzerNode class in the new WebAudio API)
- Displaying the signal on a log scale
- Keeping track of the last 500 frames of DTFT data
- Tesselated mesh of all the data, colored by intensity
For good measure I added a Band Pass Filter, which visibly modifies the spectrum that's going through! Neat right?
Finally, I added a frontend that uses the Soundcloud API to stream any song on Soundcloud through the spectrometer. This was mainly to get around copyright infringement in a demo... Need to build this into every demo from now on.