Audio visualization
The audio data is extracted in realtime using Web Audio API's.
The Web Audio API has an .createAnalyser() method that can be used to create a new AnalyzerNode. The AnalyzerNode has methods to get time-domain data (waveform) and frequency data which is data from Fast Fourier transform on the audio signal.
The time-domain data is shown as is on the Time Domain chart. That same data is also pushed to the Waveform history chart. This chart displays the last 1 million samples of the audio input.