如何找到.wav文件的噪声点.我的意思是,不是去除噪音,只是当使用python时出现噪音



如何找到.wav文件的噪声点。我的意思是,不是去除噪音,只是当噪音出现时我查了这个网站,分类狗和猫的声音

https://www.kaggle.com/nadir89/classification-logistic-regression-svm-on-mfccs/notebook?select=utils.py

但它不能正常工作。。。

你们能给我一些建议或其他方法来找到.wav文件的噪声点吗

  1. 使用logreg(机器学习(可以从声音中找到噪音吗?未删除
  2. 有什么方法可以找到噪声点吗

试试这个

import noisereduce
temp = noisereduce.reduce_noise(noise_clip=noise_clip,audio_clip=temp,verbose=True)

noise_clip信号的一小部分(噪声样本,可能为1s帧持续时间(

audio_clip实际音频

signal, fs = librosa.load(path)
signln = len(signal)
avg_energy = np.sum(signal ** 2) / float(signln) #avg_energy of acual signal
f_d = 0.02 #frame duration
perc = 0.01
flag = True
j = 0
f_length = fs * f_d #frame length is `frame per second(fs) * frame_duration(f_d)` 
signln = len(signal)
retsig = []
noise = signal[0:441] # just considering first little part as noise
avg_energy = np.sum(signal ** 2) / float(signln)
while j < signln:
subsig = signal[int(j): int(j) + int(f_length)]
average_energy = np.sum(subsig ** 2) / float(len(subsig)) # avg energy of current frame
if average_energy <= avg_energy: #if enegy of the current frame is less than actual signal then then we can confirm that this frame as silence or noise part
if flag: #to get first noise or silence appearing on the signal 
noise = subsig #if you want to get all the noise frame, then just create a list and append it(noise_list.append(subsig)) and also don't use the flag condition
flag = False

else: # if avg energy of current frame is grater than actual signal energy then this frame contain the data 
retsig.append(subsig) # so you need to add that frame to new variable
j += f_length

最新更新