Android 音频开发 目录

  1. Android音频开发(1):音频相关知识
  2. Android音频开发(2):使用AudioRecord录制pcm格式音频
  3. Android音频开发(3):使用AudioRecord实现录音的暂停和恢复
  4. Android音频开发(4):PCM转WAV格式音频
  5. Android音频开发(5):Mp3的录制 - 编译Lame源码
  6. Android音频开发(6):Mp3的录制 - 使用Lame实时录制MP3格式音频
  7. Android音频开发(7):音乐可视化-FFT频谱图

项目地址

https://github.com/zhaolewei/ZlwAudioRecorder


音频的基础知识

  1. 采样和采样频率
    现在是数字时代,在音频处理时要先把音频的模拟信号变成数字信号,这叫A/D转换。要把音频的模拟信号变成数字信号,就需要采样。一秒钟内采样的次数称为采样频率

    采样频率越高,越接近原始信号,但是也加大了运算处理的复杂度。16000Hz和44.1kHZ(1)

  2. 采样位数/位宽
    数字信号是用0和1来表示的。采样位数就是采样值用多少位0和1来表示,也叫采样精度,用的位数越多就越接近真实声音。如用8位表示,采样值取值范围就是-128 ~ 127,如用16位表示,采样值取值范围就是-32768 ~ 32767。

  3. 声道(channel)
    通常语音只用一个声道。而对于音乐来说,既可以是单声道(mono),也可以是双声道(即左声道右声道,叫立体声stereo),还可以是多声道,叫环绕立体声。

  4. 编解码
    通常把音频采样过程也叫做脉冲编码调制编码,即PCM(Pulse Code Modulation)编码,采样值也叫PCM值。 如果把采样值直接保存或者发送,会占用很大的存储空间。以16kHz采样率16位采样位数单声道为例,一秒钟就有16/8*16000 = 32000字节。为了节省保存空间或者发送流量,会对PCM值压缩。
    目前主要有三大技术标准组织制定压缩标准:
    1. ITU,主要制定有线语音的压缩标准(g系列),有g711/g722/g726/g729等。
    2. 3GPP,主要制定无线语音的压缩标准(amr系列等),有amr-nb/amr-wb。后来ITU吸纳了amr-wb,形成了g722.2。
    3. MPEG,主要制定音乐的压缩标准,有11172-3,13818-3/7,14496-3等。
    一些大公司或者组织也制定压缩标准,比如iLBC,OPUS。

    编码过程:模拟信号->抽样->量化->编码->数字信号

  5. 压缩:
    对于自然界中的音频信号,如果转换成数字信号,进行音频编码,那么只能无限接近,不可能百分百还原。所以说实际上任何信号转换成数字信号都会“有损”。但是在计算机应用中,能够达到最高保真水平的就是PCM编码。因此,PCM约定俗成了无损编码
    。我们而习惯性的把MP3列入有损音频编码范畴,是相对PCM编码的。强调编码的相对性的有损和无损

  6. 码率:
    码率 = 采样频率 * 采样位数 * 声道个数; 例:采样频率44.1KHz,量化位数16bit,立体声(双声道),未压缩时的码率 = 44.1KHz * 16 * 2 = 1411.2Kbps = 176.4KBps,即每秒要录制的资源大小,理论上码率和质量成正比

    800 bps – 能够分辨的语音所需最低码率(需使用专用的FS-1015语音编解码器)
    8 kbps —电话质量(使用语音编码)
    8-500 kbps --Ogg Vorbis和MPEG1 Player1/2/3中使用的有损音频模式
    500 kbps–1.4 Mbps —44.1KHz的无损音频,解码器为FLAC Audio,WavPack或Monkey’s Audio
    1411.2 - 2822.4 Kbps —脉冲编码调制(PCM)声音格式CD光碟的数字音频
    5644.8 kbps —SACD使用的Direct Stream Digital格式

常用音频格式

  1. WAV 格式:音质高 无损格式 体积较大
  2. AAC(Advanced Audio Coding) 格式:相对于 mp3,AAC 格式的音质更佳,文件更小,有损压缩,一般苹果或者Android SDK4.1.2(API 16)及以上版本支持播放,性价比高
  3. AMR 格式:压缩比比较大,但相对其他的压缩格式质量比较差,多用于人声,通话录音

    AMR分类:
    AMR(AMR-NB): 语音带宽范围:300-3400Hz,8KHz抽样

  4. mp3 格式:特点 使用广泛, 有损压缩,牺牲了12KHz到16KHz高音频的音质

音频开发的主要应用

  • 音频播放器
  • 录音机
  • 语音电话
  • 音视频监控应用
  • 音视频直播应用
  • 音频编辑/处理软件(ktv音效、变声, 铃声转换)
  • 蓝牙耳机/音箱

音频开发的具体内容

  • 音频采集/播放
  • 音频算法处理(去噪、静音检测、回声消除、音效处理、功放/增强、混音/分离,等等)
  • 音频的编解码和格式转换
  • 音频传输协议的开发(SIP,A2DP、AVRCP,等等)

参考链接

https://www.cnblogs.com/talkaudiodev/p/7041477.html47++++++++

Android音频开发(1):音频相关知识相关推荐

  1. Android应用开发最强原创知识体系(更新至2019.11.21)

    Android应用开发最强原创知识体系 标签: 知识体系 为了方便大家的阅读以及自己的知识体系的建立,特意来写出这个引导文章.以前我是遇到什么写什么,想到什么写什么,从2016年开始我将围绕这个知识体 ...

  2. 【Audio音频开发】音频基础知识及PCM技术详解

    个人主页:董哥聊技术 我是董哥,嵌入式领域新星创作者 创作理念:专注分享高质量嵌入式文章,让大家读有所得! 文章目录 1.前言 2.概念 3. PCM介绍 4. PCM原理 5.PCM相关概念 5.1 ...

  3. Android 游戏开发必备的基础知识

    Android游戏开发: View类开发框架 SurfaceView开发框架 Graphics类开发框架 Paint与Color类介绍 Canvas介绍 几何图形绘制 字符串绘制 图像的绘制 图像的旋 ...

  4. Android多个音频源采集,Android音频开发之音频采集的实现示例

    在 Android 系统中,一般使用 AudioRecord 或者 MediaRecord 来采集音频. AudioRecord 是一个比较偏底层的API,它可以获取到一帧帧 PCM 数据,之后可以对 ...

  5. Joomla!开发中数据库相关知识和应用 【转】

    数据是Joomla!开发中重要的一环,可以说,网站终归是将数据有效的展示给用户,因而与数据库连接,有效的返回数据是Joomla!开发基础环节.在Joomla! 1.5中,数据库开发是相当简单的,因为最 ...

  6. NX/UG二次开发—装配—克隆相关知识总结

    一.克隆部件或装配-七步法: 1. UF_CLONE_initialise 初始化克隆操作     2. UF_CLONE_add_assembly/UF_CLONE_add_part添加装配/部件文 ...

  7. android dts的作用,DTS相关知识

    一.DTS 学习 1. kernel/arch/arm/boot/dts 目录下包含所有的dts. a. board , msm8226.dtsi b. pmic, msm-pm8226.dtsi 2 ...

  8. IDEA开发软件的相关知识

    IDEA项目层次:Project(项目)-->Module(模块)-->package(包)-->class(类),一个项目可以有多个模块,一个模块可以有多个包,一个包可以有多个类, ...

  9. 【Android 高性能音频】高性能音频简介 ( 高性能音频问题引入 | 使用场景 | 相关开发库及技术 )

    文章目录 I 高性能音频使用场景 II 高性能音频开发库 III 相关开发资料 I 高性能音频使用场景 Android 手机的音频问题 : 1. 普通音频功能 : ① 常用音频开发方式 : 当前使用 ...

  10. Android Multimedia框架总结(十七)音频开发基础知识

    原文链接:http://blog.csdn.net/hejjunlin/article/details/53078828 近年来,唱吧,全民K歌,QQ音乐,等成为音频软件的主流力量,音频开发一直是多媒 ...

最新文章

  1. 粒子群算法matlab多元,进化算法之粒子群算法和Matlab实现(多维)
  2. Swift 和 Objective-C 混编
  3. HDU 6264 Super-palindrome
  4. 关于在数据库字段中添加换行符的问题
  5. 服务器上添加信任网站,如何将网站添加到信任站点
  6. 怎么用c语言编写单片机流水灯程序,单片机编程入门:单片机流水灯程序
  7. 在Intellij IDEA中使用Debug
  8. 计算机二级成绩划分标准,计算机二级成绩划分标准
  9. 深度精简版操作系统下IIS的安装方法
  10. ggplot画 ump 和tsne 从seurat中使用addmodule得到的umap 使用ggplot画图
  11. AD采集中常用的Ksps什么意思
  12. 【SVPWM】SVPWM算法推导及其Simulink仿真(一)
  13. 超全面试汇总——Hive 超详细!!!带答案!!!持续更新中~
  14. MySQL 查看表结构 显示表内容 使用语句区别
  15. 电子电路基础 (3)——示波器的使用
  16. HTML基础笔记笔记
  17. CF891E Lust(推式子,EGF)
  18. 简述相关与回归分析的关系_浅谈相关分析与回归分析的关系
  19. vue-map高德地图(1)输入坐标显示位置(组件封装)
  20. 搭建一个ctf_荣耀,不是一个人的游戏。

热门文章

  1. codevs-3162 抄书问题
  2. 二进制,十进制,八进制,十六进制之间的进制转换
  3. 小学学校计算机教室使用计划,小学计算机教室工作计划
  4. SX1302官方开源代码无法在NUC980主控芯片中使用SPI片选脚
  5. Total Recorder Professional V6.0 注册版
  6. vue用Three.js点精灵绘制森林
  7. 程序员修炼之道:从小工到专家读书笔记
  8. 监听浏览器最小化与最大化时,执行的动作。
  9. 翌加:抖音带货怎么找商家合作?有什么模式?
  10. 每个JavaScript开发人员应该知道的33个概念