Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from IPython.display import display, Audio
- from scipy.io.wavfile import read
- len = 50000
- Fs,y = read('zdanie.wav')
- y = y[:len]
- t = linspace(0, Fs, len)
- fig,ax = subplots(5, 2, figsize=(20,20))
- ax[0,0].plot(t,y)
- ax[0,0].set_title('zdanie.wav')
- Y = fft.rfft(y)
- f = linspace(0,Fs/2,Y.size)
- ax[0,1].plot(f,abs(Y))
- ax[0,1].set_title('RFFT')
- Y1 = Y * (f < 200)
- Y2 = Y * (f > 500) * (f < 1000)
- Y3 = Y * (f > 2000) * (f < 4000)
- Y4 = Y1 + Y2 + Y3
- ax[1,1].plot(f,abs(Y1))
- ax[1,1].set_title('RFFT dla niskich')
- ax[2,1].plot(f,abs(Y2))
- ax[2,1].set_title('RFFT dla średnich')
- ax[3,1].plot(f,abs(Y3))
- ax[3,1].set_title('RFFT dla wysokich')
- ax[4,1].plot(f,abs(Y4))
- ax[4,1].set_title('RFFT dla sumy')
- y1 = fft.irfft(Y1)
- y2 = fft.irfft(Y2)
- y3 = fft.irfft(Y3)
- y4 = fft.irfft(Y4)
- # plot(t,y)
- ax[1,0].plot(t, y1)
- ax[1,0].set_title('IRFFT dla niskich')
- ax[2,0].plot(t, y2)
- ax[2,0].set_title('IRFFT dla średnich')
- ax[3,0].plot(t, y3)
- ax[3,0].set_title('IRFFT dla wysokich')
- ax[4,0].plot(t, y4)
- ax[4,0].set_title('IRFFT dla sumy')
- print("Tylko niskie")
- display(Audio(y1,rate=Fs))
- print("Tylko średnie")
- display(Audio(y2,rate=Fs))
- print("Tylko wysokie")
- display(Audio(y3,rate=Fs))
- print("Suma")
- display(Audio(y4,rate=Fs))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement