import numpy as np
import matplotlib.pyplot as plt
import requests
from scipy.io import wavfile
import IPython
import spkit as sp
sp.__version__
'0.0.9.4'
path1 = 'https://raw.githubusercontent.com/Nikeshbajaj/spkit/master/spkit/data/piano.wav'
path2 = 'https://raw.githubusercontent.com/Nikeshbajaj/spkit/master/spkit/data/singing-female.wav'
print(path2)
https://raw.githubusercontent.com/Nikeshbajaj/spkit/master/spkit/data/singing-female.wav
req = requests.get(path2)
with open('myfile.wav', 'wb') as f:
f.write(req.content)
fs, x = wavfile.read('myfile.wav')
t = np.arange(len(x))/fs
print(x.shape, fs)
(272243,) 44100
mXt,pXt = sp.stft_analysis(x, winlen=441, overlap=220,window='blackmanharris',nfft=None)
plt.figure(figsize=(13,6))
plt.subplot(211)
plt.plot(t,x)
plt.xlim([t[0],t[-1]])
plt.grid()
plt.title('Original audio')
#plt.xlabel('time (s)')
plt.ylabel('amplitude (μV)')
plt.subplot(212)
plt.imshow(mXt.T,aspect='auto',origin='lower',cmap='jet',extent=[t[0],t[-1],0,fs/2])
plt.title('Spectrogram')
#plt.xlabel('time (s)')
plt.ylabel('frequency (Hz)')
plt.tight_layout()
plt.show()
IPython.display.Audio(x,rate=fs)