最近做了一个关于音频处理的项目,而且要实现录制、变声、声音识别、波形图
等功能。下面针对这些功能,做一些总结。
音频的基础知识
在做项目之前,虽然也使用了很多的音频相关的功能,也使用了很多音频相关的 API,但是本没有对音频的相关知识有深入的了解,这次接着这个项目就好好的了解了一下音频的基础知识。
- 采样位数:
由于现在我们现在的设备处理的是数字音频,所以和所有数据一样,我们可以用
8位、16位、24位来表示这些声音数据,所以采样位数可以理解数字音频设备处
理声音的解析度,当然这个数值越高录制和回放的声音就越真实。
- 音频采样率:
就是对声音信息1秒钟采样多少次,以记录成数字信息。如 CD 音频是 44.1KHz采样率,它
对声音以每秒 44100次的频率来记录信息。原则上采样率越高,声音的质量越好。
- 比特率:
表示单位时间( 1秒)内传送的比特数 bps(bit per second,位/秒)的速度。作为一种
数字音乐压缩效率的参考性指标,通常使用 kbps(通俗地讲就是每秒钟 1024比特)作为单位。
- 分贝:
是一种对声音强度的划分,而0分贝并非指没有声音,而是通常人能听见的最微弱的声音,而
声音的分贝高的话也能听见,不过会对人体有害。
按普通人的听觉
* 0-20: 分贝 很静、几乎感觉不到;
* 20-40: 分贝安静、犹如轻声絮语;
* 40-60: 分贝一般.普通室内谈话;
* 60-70: 分贝吵闹、有损神经;
* 70-90: 分贝很吵、神经细胞受到破坏.
* 90-100: 分贝 吵闹加剧、听力受损;
* 100-120: 分贝难以忍受、呆一分钟即暂时致聋.
* 120分贝以上: 极度聋或全聋
音频的语音识别功能
这个功能我们选用的是阿里云的语音识别服务,这里就不做详细描述了,详细的使用和集成方法,可以参考官网的 API 文档。
音频的变声效果
使用的是开源框架 SoundTouch,使用方法和集成,后面更新...
音频的波形图
虽然这一块的资料和 Demo,iOS 有很多可以参考,但是做的时候发现,绘制波形图的数据不统一。
大抵分为一下 2种:
- RMS
- 分贝
相关参考资料:
持续更新