基于音频功率谱分析检测WAV文件中的点击噪声
检测WAV文件中的点击噪声问题求助
我正尝试检测WAV文件是否存在点击噪声。观察发现,含点击噪声的音频dB值在短时间内会出现剧烈变化,而无噪声的音频则无此现象,因此想通过检测这类变化来识别点击噪声。
目前我的做法是先绘制功率谱,随后尝试通过时间和频率索引Power(dB)矩阵,但持续出现索引越界错误,且不确定该方法是否高效。附上相关频谱图与代码,望得到帮助。
clicky = audioread('Quiet_servo60.wav'); %normalized [S, F, T] = spectrogram(clicky(:,1),1000,500,1000,48000); %channel 1 spectrogram S_dB = mag2db(abs(S)); figure; imagesc(T, F, S_dB); axis xy; title('Spectrogram in dB'); xlabel('Time (s)'); ylabel('Frequency (Hz)'); colorbar; diff = 15; delta = 5; count = 0; for j = F freq = find(F==j); for i = T[0,length(T)-10] time = find(T==i); num = S_dB(time,freq); num_change = S_dB(time+delta, freq); if( abs(num-num_change) > diff) count = count + 1; end end count = 0; end
相关频谱图
- 含点击噪声的音频频谱:

- 无噪声的平滑音频频谱:

内容的提问来源于stack exchange,提问作者jukebox41188
相关产品推荐
相关产品推荐

