In [1]:
%pylab inline
import librosa
from IPython.display import display,Audio
from numpy.fft import fft


Populating the interactive namespace from numpy and matplotlib

In [12]:
#load audio
s, fs = librosa.load("../wavs/Reich_Music18.wav")

timeout = 5
rate = 0.01
d = timeout*rate

t0 = 10

# audio fragment
t1 = int(t0*fs)
t2 = int((t0+d)*fs)
sigin = s[t1:t2]

In [13]:
sigout = librosa.effects.time_stretch(sigin,rate)
Audio(data=sigout,rate=fs)


Out[13]:

In [ ]:
s, fs = librosa.load("../wavs/Reich_Music18.wav")

In [37]:
t0 = 10
d = 1
t1 = int(t0*fs)
t2 = int((t0+d)*fs)
sigin = s[t1:t2]

N = 2048
H = 512
X   = librosa.stft(sigin, n_fft=N, hop_length=H)
X[:,1:] = (ones((N/2+1,X.shape[1]-1)).T*X[:,1]).T

PV  = librosa.phase_vocoder(X, 1, hop_length=H)
Y   = librosa.istft(PV, hop_length=H)
Audio(data=sigout,rate=fs)


Out[37]:

In [38]:
imshow(log10(abs(X)),aspect='auto')


Out[38]:
<matplotlib.image.AxesImage at 0x7ff5f5602b50>

In [ ]:
Audio(data=sigout,rate=fs)