【Android】 语音增强
来源:互联网 发布:华为数据丢失事件 编辑:程序博客网 时间:2024/05/16 05:46
源代码:http://download.csdn.net/detail/jsgaobiao/9480141
Ø 【实验目的】
在安卓系统上开发一个语音增强应用,能够实现播放原始音频、添加高斯白噪声和播放去噪增强后的音频等功能。
Ø 【实验器材】
Android Studio 1.5.1
Xiaomi Pad (7.9’’): Android 4.4.4 , 1536*2048 xhdpi
Ø 【实验原理】
一、算法思路
采用垂直Linear Layout的界面设计,顶部有一个文本框,供输入信噪比使用;往下依次是四个按钮,分别为“播放原始音频”、“播放加噪音频”、“音频加强”和“播放加强音频”。
设s(m),n(m),y(m)代表原始语音、噪声和带噪语音,S(ω),N(ω),Y(ω)代表其短时谱。假设噪声是与语音不相关的加性噪声,则得到信号的加性模型为
y(m)=s(m)+n(m)
转换到频域,有
Y(ω)=S(ω)+N(ω)
对应功率谱为
|Y(ω)|^2=|S(ω)|^2+|N(ω)|^2+S(ω) N* (ω)+S* (ω)N(ω)
有S和N的独立性假设,得
|Ŝ(ω)|^2=|Y(ω)|^2+E[|N(ω)|^2 ]
二、程序结构
三、算法实现
1、 噪声的添加
添加的噪声为高斯分布的白噪声,根据用户选择的信噪比来加入高斯分布的噪声
2、 噪声的估计
我通过取了音频的前3帧来估计噪声的能量,每帧包含的数据个数为FrameLength(1024)个,最终的噪声水平由3帧的平均值确定。
3、 噪声的去除
得到了噪声能量的估计值后,在含有噪声的音频频谱中,将噪声的能量减掉。最后,将处理过的音频进行傅里叶逆变换,得到增强后的音频。
Ø 【小结】
我通过本次实验,复习了快速傅里叶变换和其逆变换的算法。在用户选择信噪比的时候,采用了SeekBar组件实现的进度条的方式。这让我在第一次实验的基础上,又多了解和掌握了一些安卓编程的技能。同时,还了解了有关语音增强方面的一些知识。
- 【Android】 语音增强
- 语音增强
- 语音增强
- 语音增强简介
- 语音增强简介
- 语音增强简介
- 语音增强算法总结
- 语音增强方法分类
- 语音增强阅读笔记
- 语音增强技术
- 语音增强简介
- 语音增强——谱减
- 语音增强国外牛人
- 语音信号增强学习分享
- 语音增强-自适应回声消除
- Android语音
- 语音降噪/语音增强的几种算法
- 语音增强效果的测试方法
- HDOJ 1196 Lowest Bit(二进制相关的简单题)
- achartengine/MPAndroidChart之初体验
- mount命令(用来挂载硬盘或镜像等)
- Settings License
- Python 编程风格
- 【Android】 语音增强
- C/C++ 读入一行字符串
- 使用Eclipse写JSP如何自动倒包
- Libgdx之TexturePacker TextureAtlas
- maven之可视化项目依赖
- JAVA动态规划(二)--最长公共子序列问题(LCS_subSequence)的三种解法与最长公共子字符串(LCS_subString)的两种解法与最长回文串(LongestPalindrome)
- HDU 1033 Edge
- HDU1075 What Are You Talking About
- 筛法求素数