summaryrefslogtreecommitdiff
path: root/python/spectrum.py
blob: 267f368eb99e6a14724a99a2cfc0be15fc590e1c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import sys
import librosa
import numpy
import scipy
import matplotlib.pyplot as plt

if len(sys.argv) < 2:
  print "python spectrum.py file.wav"
  sys.exit()

FILENAME = sys.argv[1]

N_FFT = 2048

def read_audio_spectum(filename):
    x, fs = librosa.load(filename, 44100)
    S = librosa.stft(x, N_FFT)
    S = numpy.log1p(numpy.abs(S))
    return S, fs

a_spectrum, fs = read_audio_spectum(FILENAME)
a_spectrum = numpy.flipud(a_spectrum)

print a_spectrum.shape

fig = plt.figure(figsize=(5, int(len(a_spectrum[0])/100)))

img = plt.imshow(a_spectrum)
img.set_cmap('hot')
plt.set_cmap('hot')
plt.axis('off')
plt.savefig(FILENAME + '.png', transparent=True, bbox_inches='tight', pad_inches=0)