音频中有噪声后的分析和改进

问题定义

拿到一个声音,听出来其中有文本,但是也有噪声,需要分析噪声的来源,噪声的特点,噪声的去除方式

可能使用神经网络来后处理解决,也可能生成的时候就借由神经网络解决,也可能采用传统语音后处理的方式

具体场景1

噪声观察

比如由tacotron合成的lpc features接上lpcnet,合成声音有噪声,明显看出波形的某个位置突然很极端

波形图和语谱图:

(不会用goldwave来看语谱图)

具体场景2

噪声观察

音频中有噪声后的分析和改进

  1. 语谱图上不连续,混乱,意味着生成的spec之间是冲突的,前后帧共享部分并不相同
  2. 波形图上有毛刺,但是并不是普通的白噪声
  3. 其实右边的spec是很多不同句话凑出来的,然后直接GL合成,确实有矛盾

对波形语音后处理

先观察波形,以挑噪声的角度来看

音频中有噪声后的分析和改进

音频中有噪声后的分析和改进

可能的后处理方案

  1. https://www.sohu.com/a/146988029_778200
  2. https://blog.csdn.net/bibinGee/article/details/105104158
  3. ffmpeg
  4. PyAudio
  5. sox
  6. https://www.jianshu.com/p/cd47c4e6c661

但它们的降噪功能并不强,只能去除背景噪声,而不能去除动态噪声(次声噪声之类的)

一般对于录音来说,够用,对于误差带来的特别的噪声,没有办法处理

 

对矛盾Spec平滑合成

需要讨论理解吴老师的想法

对矛盾Spec直接对应波形平滑合成

需要讨论理解吴老师的想法

对矛盾Spec进行神经网络后处理

  1. 比如post-net前是findA找到的矛盾spec,后是平滑的真实的spec;在使用虚拟语料的时候,不进行后的loss回传
  2. 比如用speech enhancement,用语音模型来加强

用神经网络输出Spec更好的凑Spec

这是目前的解决办法,凑出来的Spec不好,就不用了,考虑往前推,将矛盾的PPG送入到DCBHG,输出的Spec竟然是平滑的。利用了NN的误差的容忍能力

下面的是标准的:

音频中有噪声后的分析和改进

下面的是矛盾的Spec:

音频中有噪声后的分析和改进

下面的是矛盾的PPG经过CBHG生成的平滑的Spec:

音频中有噪声后的分析和改进

不过不理解下面的话:

音频中有噪声后的分析和改进