A spectrogram is a visual representation of the spectrum of frequencies in a sound sample.
more info: wikipedia spectrogram
Spectrogram code in Python, using Matplotlib: (source on GitHub)
"""Generate a Spectrogram image for a given WAV audio sample. A spectrogram, or sonogram, is a visual representation of the spectrum of frequencies in a sound. Horizontal axis represents time, Vertical axis represents frequency, and color represents amplitude. """ import os import wave import pylab def graph_spectrogram(wav_file): sound_info, frame_rate = get_wav_info(wav_file) pylab.figure(num=None, figsize=(19, 12)) pylab.subplot(111) pylab.title('spectrogram of %r' % wav_file) pylab.specgram(sound_info, Fs=frame_rate) pylab.savefig('spectrogram.png') def get_wav_info(wav_file): wav = wave.open(wav_file, 'r') frames = wav.readframes(-1) sound_info = pylab.fromstring(frames, 'Int16') frame_rate = wav.getframerate() wav.close() return sound_info, frame_rate if __name__ == '__main__': wav_file = 'sample.wav' graph_spectrogram(wav_file)
Spectrogram code in Python, using timeside:
(source on GitHub)
"""Generate a Spectrogram image for a given audio sample. Compatible with several audio formats: wav, flac, mp3, etc. Requires: https://code.google.com/p/timeside/ A spectrogram, or sonogram, is a visual representation of the spectrum of frequencies in a sound. Horizontal axis represents time, Vertical axis represents frequency, and color represents amplitude. """ import timeside audio_file = 'sample.wav' decoder = timeside.decoder.FileDecoder(audio_file) grapher = timeside.grapher.Spectrogram(width=1920, height=1080) (decoder | grapher).run() grapher.render('spectrogram.png')
happy audio hacking.