def noise_removal(aud_sample):
if (min(abs(aud_sample)) == 0):
return aud_sample
data = abs(np.copy(aud_sample))
clf = KMeans(n_clusters = 2,n_init = 5)
data = data.reshape(-1,1)
clf.fit(data)
if clf.cluster_centers_[0] < clf.cluster_centers_[1]:
noise = 0
else:
noise = 1
aud = np.copy(aud_sample)
window = 500
windowStride = 50
for i in range(0,len(clf.labels_),windowStride):
if sum(clf.labels_[i:i+window] == noise) == window:
aud[i:i+window] = 0
return aud
评论列表
文章目录