一、数字音频基础概念

PCM:脉冲编码调制,是一种模拟信号的数字化方法。它是最常用、最简单的波形编码方式,我们通常说的音频数字信号的原始编码一般就指的这种编码方式,当然也有其他的方式,这里不做讨论。

1、PCM的实现过程:

2、采样率

        采样率(采样频率)即每秒内进行采样的次数。符号是fs,单位是Hz。采样率越高,数字波形的形状就越接近原始模拟波形,声音的还原就越真实。

如下是同一波形的两种采样率对比,可以看到低采样率的A采样波形严重失真,而高采样率的B则几乎完全重现原始波形:

根据奈奎斯特-香农采样定理,只有采样频率高于原始模拟信号中最高频率的两倍时,才能把数字信号表示的模拟信号准确还原回去。例如,CD 的采样率为每秒 44,100 个采样,因此可重现最高为 22,050 Hz 的频率,此频率刚好超过人类的听力极限 20,000 Hz。实际应用中采样频率一般为信号最高频率的2.56~4倍。

数字音频领域常用的采样率如下表:

二、常见的几种音频编码类型带宽对比:

根据采样定理,8kHz的采样速率这种的就是常说的窄带编码,宽带编码的采样速率是16kHz以上,G.722、OPUS就是这种编码。

编解码类型

压缩速率(Kbps)

G.729

8 Kbps

G.711

64 Kbps

OPUS

6-510 Kbps

G722

64 Kbps

1、G.711
采样率:8kHz 
信息量:64kbps
理论延迟:0.125msec 
品质:MOS值4.10

2、G.729
采样率:8kHz 
信息量:8kbps 
理论延迟:15msec 
品质:MOS值3.9

3、G.722
采样率:16kHz 
信息量:64kbps 
理论延迟:0.125msec
品质:MOS值4.5

4、OPUS
采样率:8kHz--48kHz 
信息量:6kbps--510kbps 
理论延迟:5 ms - 65.2 ms
品质:MOS值4.5

三、自研的音频编解码算法库

为了解决各种音频编解码的差异性,我根据多年的音视频编解码经验自研整理了一个编解码算法库,可以支持多种平台应用,项目支持g711u,g711a,g729,g722,opus等音频编解码算法及测试程序和音频文件,后续还会继续更新迭代算法,接口调用也特别简单,几行代码就可以解决所有的音频编解码工作,让音视频开发更简单;

项目地址

https://download.csdn.net/download/unique_no1/85069469

里面包含测试程序和可执行文件,windows平台和linux平台的我都已经编译好了,大家可以测试看下效果,其他平台如有需要也可以支持,如果需要沟通交流可以跟我联系。

微信:unique_no_1

音频编解码算法库 (可支持g711u,g711a,g729,g722,opus等)相关推荐

  1. 音频编解码-speex库的使用方法

    Speex是近年来开发出的一套功能强大的语音引擎,能够实现高质量和低比特率的编码.它不仅提供了基于码激励线性预测(CELP)算法的编/解码模块,而且在其最新发布的版本中还提供了声音预处理和声学回声消除 ...

  2. G711(PCM/PCMA/PCMU),G721,G723,G729等 音频编解码

    G711,G721,G723音频编解码,G729音频库,Android G711(PCMA/PCMU).G726.PCM音频转码到AAC,ffmpeg接收g723音频流,Android G726语音编 ...

  3. 音频编解码基础知识(一)

    音频编解码常用的三种实现方案 1)采用专用的音频芯片对语音信号进行采集和处理,音频编解码算法集成在硬件内部,如 MP3 编解码芯片.语音合成分析芯片等.使用这种方案的优点就是处理速度块,设计周期短:缺 ...

  4. 蓝牙音频双剑客(二)--高质量音频分布协议(A2DP) SBC编解码算法

    零. 概述 主要介绍下蓝牙协议栈(bluetooth stack)传统蓝牙音频协议之高质量音频分布协议(A2DP) SBC编解码算法 Codec Specific Infomation Element ...

  5. 移植Opus音频编解码库到FreeScale iMX6q(飞凌嵌入式的OKMX6Q-C开发板)平台

    移植Opus音频编解码库到FreeScale iMX6q(飞凌嵌入式的OKMX6Q-C开发板)平台 交叉编译器 使用飞凌提供的最新版交叉编译工具链,fsl-imx-x11-glibc-x86_64-m ...

  6. Android音频开发(六)音频编解码之初识MediaCodec上

    前五篇我们介绍了关于音频的基础知识,今天来讲述一下音频的重点和难点部分,这一节依然是分上下俩个节点,深入讲述Android音频开发的编解码技术. 1.MediaCodec 介绍 MediaCodeC是 ...

  7. 从编解码算法到全链路RTC架构,揭秘淘系直播技术演进之路

    从2016年直播元年至今,纯粹的直播已经逐渐失去竞争力,越来越多形式创新映入眼帘,而众多企业开始走向内容垂直化--秀场.游戏.电商.广电等内容特点深度结合.伴随2020年疫情爆发,电商为人们日常生活提 ...

  8. 语音编码 c语言,语音编解码算法G.723.1在DSP - 嵌入式新闻 - 电子发烧友网

    1 引言 G.723.1是删组织于1996年推出的一种低码率的语音编码算法标准,也是目前该组织颁布的语音压缩标准中码率最低的一种标准.G.723.1主要用于对语音及其它多媒体声音信号的压缩,目前在一些 ...

  9. 详解音频编解码的原理、演进和应用选型等

    本文来自网易云音乐音视频实验室负责人刘华平在LiveVideoStackCon 2017大会上的分享,并由LiveVideoStack根据演讲内容整理而成(本次演讲PPT文稿,请从文末附件下载). 1 ...

  10. 音频编解码之G711

    <音视频应用开发系列文章目录> G711规定了如何将128kbps的raw pcm信号转为64kbps的g711u/g711a音频信号.本文在前人的基础上封装了G711的编解码算法,有两种 ...

最新文章

  1. 使用jQuery制作手风琴效果.(转)
  2. python解析任意json
  3. 【C#】详解C#委托
  4. 性能测试方案_MeterSphere案例分享丨基于JMeter的性能测试方案演进之路
  5. 脱胎换骨 XIV Gen3摆脱最后的“羸弱点”
  6. php str_replace多个参数,php str_replace()函数的用法,有那些参数?
  7. scrapy框架_Python:Scrapy框架
  8. 作者:刘强强(1992-),男,贵州大学公共管理学院硕士生。
  9. MyBatis框架 动态SQL
  10. VMware10 安装centos6.7 设置NAT模式固定ip
  11. 阿里HBase的GC优化实践,能够降低java垃圾回收时间!
  12. 亚马逊在中国失败,而中国却在亚马逊成功
  13. 手机APP测试需要注意的问题
  14. 计算机学院实验室安全管理办法,计算机学院实验室安全管理办法.pdf
  15. 一根不均匀的绳子,全部烧完需要1个小时,问怎样烧能计时1个小时15分钟
  16. python中求差的函数_python3函数取差是什么?如何写代码?
  17. 镍氢电池的特性和使用方法(FDK镍氢电池充电机制)
  18. 【Java】java格式化时间到毫秒
  19. time(),date(),microtime()…
  20. golang实现多协程下载文件(支持断点续传)

热门文章

  1. 一个非常漂亮的简约大气的table
  2. IPC--印制电路板的一种标准
  3. 华为获颁中国首个5G基站设备进网许可证:可支持中国规模部署;IBM推出新一代企业平台Z15;Testin最新AI产品发布……...
  4. spring调用webservice
  5. IDEA利用wsdl文件生成WebService调用接口的方法
  6. ZedBoard 最小系统构建 (一)-硬件结构搭建
  7. OFDM学习笔记(四)(信道估计简介)
  8. 微型计算机自动化控制专业,自动化专业简介
  9. Go Grpc Jwt身份认证和Gateway集成以及HTTPS双向认证
  10. 简历中“项目经历“该如何写?