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)
|