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

如何找到.wav文件的噪声点。我的意思是,不删除噪声,只是在使用python时出现噪声,python,python-3.x,machine-learning,wav,noise,Python,Python 3.x,Machine Learning,Wav,Noise,如何找到.wav文件的噪声点。我的意思是,不消除噪音,就在噪音发生的时候 我检查了这个网站,对狗和猫的声音进行了分类 但是它没有正常工作 你们能给我一些建议或者其他方法来找到.wav文件的噪声点吗 是否可以使用logreg(机器学习)从声音中查找噪声?不删除 有没有办法找到噪音点 试试这个 import noisereduce temp = noisereduce.reduce_noise(noise_clip=noise_clip,audio_clip=temp,verbose=True)

如何找到.wav文件的噪声点。我的意思是,不消除噪音,就在噪音发生的时候 我检查了这个网站,对狗和猫的声音进行了分类

但是它没有正常工作

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

  • 是否可以使用logreg(机器学习)从声音中查找噪声?不删除
  • 有没有办法找到噪音点

  • 试试这个

    import noisereduce
    
    temp = noisereduce.reduce_noise(noise_clip=noise_clip,audio_clip=temp,verbose=True)
    
    noise\u clip
    信号的一小部分(噪声样本,可能为1s帧时长)

    音频\u剪辑
    实际音频

     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
    
    信号,fs=librosa.load(路径)
    signln=len(信号)
    平均能量=np.和(信号**2)/浮点(信号n)#实际信号的平均能量
    f_d=0.02#帧持续时间
    perc=0.01
    flag=True
    j=0
    f_length=fs*f_d#帧长为`每秒帧数(fs)*帧持续时间(f_d)`
    signln=len(信号)
    retsig=[]
    噪声=信号[0:441]#仅将第一个小部分视为噪声
    平均能量=np.和(信号**2)/浮点(信号)
    而j如果是平均能量Hey,试着得到信号的静音部分,大部分静音部分包含噪声,静音意味着声波的低能量位置,并取该部分的小帧。所以你可以用这个框架来消除噪音“temp”是噪音点吗?我只是想找出wav文件中的噪声在哪里并没有消除..不,
    temp
    是你们的实际信号。为了找到噪声部分,首先你们需要计算信号的平均能量。然后你们应该把信号分成帧(持续时间0.2秒)。然后你们可以比较每帧的能量和整个信号的平均能量,如果帧的能量<实际信号的AVG能量,则我们可以将该帧视为噪声或静默。