yeah I know i shamelessly took the ring idea from Lee from the gotoandlearn forums, but the graphics API is the easy part...under the hood I went much more elaborate and built some utility waveform/frequency samplers that can be shared by anything in your project to permit sweet stylistic effects based on floating point values.
In this example I took the ring visual a step further and used alot of different samples of spectral data.
rings colors: color effects applied to smaller rings correlate to low frequencies while color effects applied to larger rings correlate to high frequencies. (red = left channel, blue = right channel, purple = both)
ring ripples: diagonal translation relates to the left channel waveform data.
ring thickness: line thickness relates to the right channel waveform data.