原标题:Python | 简单的扩音,音频去噪,静音剪切
之前一段时间一直在搞数字语音识别,在训练算法上耗费了很多时间,但结果不尽人意。后来才发现自己一直忽视了音频预处理的一步,于是转而囫囵吞枣般学习一些简单的信 处理算法。这里简单介绍一下以下内容:
扩音
音频去噪
静音剪切
文末将会给出源代码和demo代码的git库地址,有需要的同学请自取。
基本概念
数字信
数字信 是通过对连续的模拟信 采样得到的离散的函数。它可以简单看作一个以时间为下标的数组。比如,x[n],n为整数。比如下图是一个正弦信 (n=0,1, …, 9):
衡量数字信 的能量(强度),只要简单的求振幅平方和即可:
E = sum(x[n]*x[n])
频率
我们知道,声音可以看作是不同频率的正弦信 叠加。那么给定一个声音信 (如上图),怎么能够知道这个信 在不同频率区段上的强度呢是使用离散傅里叶变换。对信 x[n], n=0, …, N-1,通常记它的离散傅里叶变换为X[n],它是一个复值函数。
比如,对上述英文单词“skip”对应的信 做离散傅里叶变换,得到它在频域中的图像是:
汉宁窗
可见除一有限区间之外,加窗后的信 其他部分都是0。
对一帧信 可以施加离散傅里叶变换(也叫短时离散傅里叶变换),来获取信 在这一帧内(通常是很短时间内),有关频率-能量的分布信息。
如果我们把信 按照上述方法分成一帧一帧,又将每一帧用离散傅里叶变换转换到频域中去,最后将各帧在频域的图像拼接起来,用横坐标代表时间,纵坐标代表频率,颜色代表能量强度(比如红色代表高能,蓝色代表低能),那么我们就构造出所谓频谱图。比如上述“skip”发音对应的信 的频谱图是:
可以看到有较多杂音(在高频,低频段,蓝色部分)。采集0.25秒之前的声音作为噪声样本,对信 作降噪处理,得到降噪后信 的频谱图如下:
参考
维基百科词条-噪声门
开源音频处理软件 Audacity (频谱图都是直接用它画的,扩音,降噪,静音剪切这些效果它都有源代码)
我的GitHub
●●●
回复以下关键词查看相应内容
美赛/数学建模 | 校历| 成绩单/推荐信函
医保/南校门诊 | 毕业/典礼/留言
大学服务中心 |辅导员 | 校车 | 办事(流程)
回复教师姓名可获取相应信息
●●
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览215682 人正在系统学习中 相关资源:drysoft干燥机设计计算软件3.1,3.2,3.3破解版_干燥计算软件-制造…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!