Repository navigation
Expand file tree
/
Copy pathmel_exp.py
More file actions
60 lines (53 loc) · 1.86 KB
/
Copy pathmel_exp.py
File metadata and controls
60 lines (53 loc) · 1.86 KB
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
import librosa
import scipy
import wave
import numpy as np
from scipy.signal import spectrogram
import librosa.display
import matplotlib.pyplot as plt
import pywt
#filepath='output/07_05/generated_5.wav'
filepath='generated_4.wav'
y,fs=librosa.load(filepath)
ffts=[2048]
for fft in ffts:
mel_spect = librosa.feature.melspectrogram(y=y, sr=fs, n_fft=fft)
mel_spect = librosa.power_to_db(mel_spect, ref=np.max)
librosa.display.specshow(mel_spect, y_axis='mel', fmax=8000, x_axis='time')
plt.title('Mel Spectrogram')
plt.colorbar(format='%+2.0f dB')
plt.show()
# spec = np.abs(librosa.stft(y,n_fft=256))
# spec = librosa.amplitude_to_db(spec, ref=np.max)
# librosa.display.specshow(spec, sr=fs, x_axis='time', y_axis='log')
# plt.colorbar(format='%+2.0f dB')
# plt.title('Spectrogram (fft length = 256)')
# plt.show()
#
# spec2 = np.abs(librosa.stft(y,n_fft=512))
# spec2 = librosa.amplitude_to_db(spec2, ref=np.max)
# librosa.display.specshow(spec2, sr=fs, x_axis='time', y_axis='log')
# plt.colorbar(format='%+2.0f dB')
# plt.title('Spectrogram (fft length = 512)')
# plt.show()
#
# spec3 = np.abs(librosa.stft(y,n_fft=1024))
# spec3 = librosa.amplitude_to_db(spec3, ref=np.max)
# librosa.display.specshow(spec3, sr=fs, x_axis='time', y_axis='log')
# plt.colorbar(format='%+2.0f dB')
# plt.title('Spectrogram (fft length = 1024)')
# plt.show()
#
# spec4 = np.abs(librosa.stft(y,n_fft=2048))
# spec4 = librosa.amplitude_to_db(spec4, ref=np.max)
# librosa.display.specshow(spec4, sr=fs, x_axis='time', y_axis='log')
# plt.colorbar(format='%+2.0f dB')
# plt.title('Spectrogram (fft length = 2048)')
# plt.show()
#
# spec5 = np.abs(librosa.stft(y,n_fft=4096))
# spec5 = librosa.amplitude_to_db(spec5, ref=np.max)
# librosa.display.specshow(spec5, sr=fs, x_axis='time', y_axis='log')
# plt.colorbar(format='%+2.0f dB')
# plt.title('Spectrogram (fft length = 4096)')
# plt.show()