Python音频信号处理 2.使用谱减法去除音频底噪

本文介绍了如何使用Python中的谱减法去除音频底噪,通过短时傅立叶变换提取信号和噪音的频谱,然后在频域进行处理,降低底噪。文章还展示了具体的代码实现,并讨论了实际应用中提高降噪效果的方法。
摘要由CSDN通过智能技术生成

使用谱减法去除音频底噪

上一篇文章我主要分享了短时傅立叶变换及其逆变换在python中的实现,有兴趣的可以阅读一下该篇文章,地址如下:
Python音频信号处理 1.短时傅里叶变换及其逆变换

那么在本篇文章中,我们将利用短时傅立叶变换及其逆变换来实现谱减法。

Part 1 :谱减法

谱减法的核心思路非常简单,顾名思义,谱减法是一种频域上的信号处理方法,其基本思路就是提取出信号本身的频谱以及噪音的频谱,通过两者之差获取降噪后信号的频谱,最后利用傅立叶变换逆变换重构初始信号。

Part 2 :使用谱减法降低或消除信号的底噪

要使用谱减法来进行信号处理,显然我们首先需要计算出信号的频谱以及噪音的频谱。这里我们继续使用上篇文章所介绍的短时傅立叶变换及其逆变换的实现,Python代码如下:

# 短时傅立叶变换
def TFCT(trame, Fe, Nfft,fenetre,Nwin,Nhop):
  L = round((len(trame) - len(fenetre))/Nhop)+1
  M = Nfft
  xmat = np.zeros((M,L))
  print('xmat',xmat.shape)
  print(Nwin+Nhop)
  for j in range(L):
    xmat[:,j] = np.fft.fft(trame[j*Nhop:Nwin+Nhop*j]*window,Nfft)  
  x_temporel = np.linspace(0,(1/Fe)*len(trame),len(trame))
  x_frequentiel = np.linspace(0, Fe,Nfft)
  
  • 6
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值