音频中有噪声后的分析和改进
问题定义
拿到一个声音,听出来其中有文本,但是也有噪声,需要分析噪声的来源,噪声的特点,噪声的去除方式
可能使用神经网络来后处理解决,也可能生成的时候就借由神经网络解决,也可能采用传统语音后处理的方式
具体场景1
噪声观察
比如由tacotron合成的lpc features接上lpcnet,合成声音有噪声,明显看出波形的某个位置突然很极端
波形图和语谱图:
(不会用goldwave来看语谱图)
具体场景2
噪声观察
- 语谱图上不连续,混乱,意味着生成的spec之间是冲突的,前后帧共享部分并不相同
- 波形图上有毛刺,但是并不是普通的白噪声
- 其实右边的spec是很多不同句话凑出来的,然后直接GL合成,确实有矛盾
对波形语音后处理
先观察波形,以挑噪声的角度来看
可能的后处理方案
- https://www.sohu.com/a/146988029_778200
- https://blog.csdn.net/bibinGee/article/details/105104158
- ffmpeg
- PyAudio
- sox
- https://www.jianshu.com/p/cd47c4e6c661
但它们的降噪功能并不强,只能去除背景噪声,而不能去除动态噪声(次声噪声之类的)
一般对于录音来说,够用,对于误差带来的特别的噪声,没有办法处理
对矛盾Spec平滑合成
需要讨论理解吴老师的想法
对矛盾Spec直接对应波形平滑合成
需要讨论理解吴老师的想法
对矛盾Spec进行神经网络后处理
- 比如post-net前是findA找到的矛盾spec,后是平滑的真实的spec;在使用虚拟语料的时候,不进行后的loss回传
- 比如用speech enhancement,用语音模型来加强
用神经网络输出Spec更好的凑Spec
这是目前的解决办法,凑出来的Spec不好,就不用了,考虑往前推,将矛盾的PPG送入到DCBHG,输出的Spec竟然是平滑的。利用了NN的误差的容忍能力
下面的是标准的:
下面的是矛盾的Spec:
下面的是矛盾的PPG经过CBHG生成的平滑的Spec:
不过不理解下面的话: