0°

Android音频模块学习小结

内容预览:
  • AudioRecord使用: 1、 创建AudioRecord对象 参数说明 AudioSource...~
  • 我们录到的声音为时域信号,需要利用信号处理技术将时域转成频域(指在...~
  • 如何您想进技术群和大牛们交流,关注公众号在后台回复 “加群”,或者 “学...~

始发于微信公众号: 程序员小乐

分享编程技能、互联网技术、生活感悟、打造干货分享平台,将总结的技术、心得、经验分享给大家,这里不只限于技术!值得你去关注,点击上方 蓝字 快速关注。本号支持 投稿






现在移动端已不仅仅局限于文本、图片这些pc平台上的常见信息类型,语音的使用愈见频繁,于是前段时间萌生了个想法:如果在移动端对语音内容做处理,提取特征出来构建关键词库是否可以对这些语音进行分类、搜索,于是花了一段时间研究android,本文从音频的录制、处理来记录总结,识别下篇放上。


  一、 音频系统的架构




Android音频模块学习小结


安卓系统里的音频模块可划分为几层:硬件、驱动、硬件抽象层、硬件与java库之间的“中介”、Framework(供app调用的接口都封装在这层)、实际用户可视的app。



  二、 语音录制




处理语音录制的类主要4个: AudioTrack、AudioRecorder、MediaPlayer和MediaRecorder,都在android.media包下,MediaRecorder的使用相对简单,不过相对的是无法处理一些底层的操作,例如无法对音频进行处理。

除了上面的类库实现外,音频系统实际调用了更为底层的服务来实现音频的采集,这就是AudioFlinger和AudioPolicyService 。

AudioRecord使用:

1、 创建AudioRecord对象


Android音频模块学习小结


参数说明

AudioSource 音频采集来源

SampleRateInHz  录制频率

channelConfig录制通道

AudioFormat录制编码格式

BufferSize录制缓冲大小,可以通过getMinBufferSize来获取

getMinBufferSize这个接口返回了要成功创建一个AudioRecord object所需的最小buffer size。

2、监听用户界面操作


Android音频模块学习小结


3、读


Android音频模块学习小结


audioData是一个用来存储音频的字节数组

4、写

写操作主要涉及几个类:

java.io.File;

java.io.FileInputStream;

java.io.FileOutputStream;

使用:


Android音频模块学习小结



  三、音频处理




一般信号处理技术采用快速傅立叶变换,卷积变换和逆傅立叶变换来实现音频处理。

音频处理大致两类:变频、变速、变调。我们录到的声音为时域信号,需要利用信号处理技术将时域转成频域(指在对函数或信号进行分析时,分析其和频率有关部份,而不是和时间有关的部份),然后用频谱迁移技术来对信号处理,最后再将频域信号转换回时域。

对于每个音频片段,傅里叶变换将音频波形分解为它的成分音符并且保存下来,从而代替存储原始波形。语音识别就是基于此,将一段话分成块,与已有词库进行比较。

“函数或信号可以透过一对数学的运算子在时域及频域之间转换。例如傅里叶变换可以将一个时域信号转换成在不同频率下对应的振幅及相位,其频谱就是时域信号在频域下的表现,而反傅里叶变换可以将频谱再转换回时域的信号。”

虽说音频处理令人为之一亮,但涉及的技术较为复杂,因此现在市场上提供了相关产品直接提供开发者使用。


Android音频模块学习小结



如何您想进技术群和大牛们交流,关注公众号在后台回复 “加群”,或者 “学习” 即可

链接:

http://www.alloyteam.com/2013/12/android-audio-module-learning-summary/

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

如果您觉得不错,请别忘了分享到您的朋友圈让更多的人看到!! 您的举手之劳,就是对我最好的支持,非常感谢!


每日英文


Don’t forget the things you once you owned.Keep those lost things in memory.Don’t give up the things that belong to you and treasure the things you can’t get. 

曾经拥有的,不要忘记。已经失去的,留作回忆。 属于自己的,不要放弃,不能得到的,更要珍惜。


乐乐有话说


努力做一个可爱的人。不埋怨谁,不嘲笑谁,也不羡慕谁,阳光下灿烂,风雨中奔跑,做自己的梦,走自己的路。


Android音频模块学习小结


推荐阅读




知识星球
这里聚集了业界内的大牛,值得各位大牛的加入!

Android音频模块学习小结 

看完本文有收获?请转发分享给更多人
关注「杨守乐」,提升编程技能

【QQ技术群】279126311 []
【QQ技术群】484572225 [未]

以上就是:Android音频模块学习小结 的全部内容。

本站部分内容来源于互联网和用户投稿,如有侵权请联系我们删除,谢谢。
Email:[email protected]


0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论