iOS 音频项目总结

最近做了一个关于音频处理的项目,而且要实现录制、变声、声音识别、波形图
等功能。下面针对这些功能,做一些总结。

音频的基础知识

在做项目之前,虽然也使用了很多的音频相关的功能,也使用了很多音频相关的 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
  • 分贝

相关参考资料:

  • 音量(DB)为什么都是负值?
  • Android实时获取音量(单位:分贝)
  • iOS噪音计原理、分贝计
  • iOS与Android的音频互通

持续更新

你可能感兴趣的:(iOS 音频项目总结)