The spectrogram is the result of calculating the frequency spectrum of windowed frames of a compound signal. It is a three-dimensional plot of the energy of the frequency content of a signal as it changes over time.
Spectrograms are used to identify phonetic sounds, to analyse the cries of animals, and in the fields of music, sonar/radar, speech processing, etc. A spectrogram can also be called a spectral waterfall, sonogram, voiceprint, or voicegram. The instrument that generates a spectrogram is called a sonograph.
In the most usual format, the horizontal axis represents time, the vertical axis is frequency, and the intensity of each point in the image represents amplitude of a particular frequency at a particular time. Often the diagram is reduced to two dimensions by indicating the intensity with thicker lines, more intense colors or grey values.
There are many variations of format. Sometimes the vertical and horizontal axes are switched, so time runs up and down. Sometimes the amplitude is represented as the height of a 3D surface instead of color or intensity. The frequency and amplitude axes can be either linear or logarithmic, depending on what the graph is being used for. For instance, audio would usually be represented with a logarithmic amplitude axis (probably in dB), and frequency would be linear to emphasize harmonic relationships, or logarithmic to emphasize musical, tonal relationships.
The filter method is usually used in the analog, continuous version of measurement. The frequency range of the signal (an audio signal, for instance, would have frequencies in the range of 20 Hz - 20 kHz) is divided into equal sections, either linearly (0-100, 100-200, 200-300, ...), or logarithmically (10-100, 100-1000, 1000-10000, ...). The signal is input to a corresponding filter, which removes most of the signal that does not fall within its frequency band (imperfect window functions and limited frequency resolution will cause some "bleeding" between adjacent frequency bands). The magnitudes of each filter's output are recorded as functions of time. Each recording then corresponds to a horizontal line in the image; a measurement of magnitude versus time for a specific frequency band.
To calculate the spectrogram using the magnitude of the STFT is usually a digital process. Digitally sampled data, in the time domain, is broken up into chunks, which usually overlap, and Fourier transformed to calculate the magnitude of the frequency spectrum for each chunk. Each chunk then corresponds to a vertical line in the image; a measurement of magnitude versus frequency for a specific moment in time.
The spectrums or time plots are then "laid side by side" to form the image or a three-dimensional surface.
The spectrogram is given by the magnitude of the STFT of the function:
The above process can be reversed; some programs are available that turn a digital image into sound:
This technique allows electronic music artists to "hide" images in their music. Examples include:
Some modern music is also created using spectrograms as an intermediate medium; changing the intensity of different frequencies over time, or even creating new ones, by drawing them and then inverse transforming. See Audio timescale-pitch modification and Phase vocoder.
Using spectrograms generated by audio-band FFT-software is a very convenient way to receive frequencies below 24 kHz. This technique allows wide-range reception of the VLF-range.