def rcqt(PS, iters=500, sr=22050, hop_length=512, n_bins=84, bins_per_octave=12):
sig_len = (PS.shape[1]-1)*hop_length
p = 2 * np.pi * np.random.random_sample(PS.shape) - np.pi
for i in range(iters):
print i
S = PS * np.exp(1j*p)
X = icqt(S, sr=sr, hop_length=hop_length,
bins_per_octave=bins_per_octave)
X = librosa.util.fix_length(X, sig_len)
p = np.angle(cqt(X, sr=sr, hop_length=hop_length, n_bins=n_bins,
bins_per_octave=bins_per_octave))
return X
评论列表
文章目录