音频编解码算法库 (可支持g711u,g711a,g729,g722,opus等)
一、数字音频基础概念
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等)相关推荐
- 音频编解码-speex库的使用方法
Speex是近年来开发出的一套功能强大的语音引擎,能够实现高质量和低比特率的编码.它不仅提供了基于码激励线性预测(CELP)算法的编/解码模块,而且在其最新发布的版本中还提供了声音预处理和声学回声消除 ...
- G711(PCM/PCMA/PCMU),G721,G723,G729等 音频编解码
G711,G721,G723音频编解码,G729音频库,Android G711(PCMA/PCMU).G726.PCM音频转码到AAC,ffmpeg接收g723音频流,Android G726语音编 ...
- 音频编解码基础知识(一)
音频编解码常用的三种实现方案 1)采用专用的音频芯片对语音信号进行采集和处理,音频编解码算法集成在硬件内部,如 MP3 编解码芯片.语音合成分析芯片等.使用这种方案的优点就是处理速度块,设计周期短:缺 ...
- 蓝牙音频双剑客(二)--高质量音频分布协议(A2DP) SBC编解码算法
零. 概述 主要介绍下蓝牙协议栈(bluetooth stack)传统蓝牙音频协议之高质量音频分布协议(A2DP) SBC编解码算法 Codec Specific Infomation Element ...
- 移植Opus音频编解码库到FreeScale iMX6q(飞凌嵌入式的OKMX6Q-C开发板)平台
移植Opus音频编解码库到FreeScale iMX6q(飞凌嵌入式的OKMX6Q-C开发板)平台 交叉编译器 使用飞凌提供的最新版交叉编译工具链,fsl-imx-x11-glibc-x86_64-m ...
- Android音频开发(六)音频编解码之初识MediaCodec上
前五篇我们介绍了关于音频的基础知识,今天来讲述一下音频的重点和难点部分,这一节依然是分上下俩个节点,深入讲述Android音频开发的编解码技术. 1.MediaCodec 介绍 MediaCodeC是 ...
- 从编解码算法到全链路RTC架构,揭秘淘系直播技术演进之路
从2016年直播元年至今,纯粹的直播已经逐渐失去竞争力,越来越多形式创新映入眼帘,而众多企业开始走向内容垂直化--秀场.游戏.电商.广电等内容特点深度结合.伴随2020年疫情爆发,电商为人们日常生活提 ...
- 语音编码 c语言,语音编解码算法G.723.1在DSP - 嵌入式新闻 - 电子发烧友网
1 引言 G.723.1是删组织于1996年推出的一种低码率的语音编码算法标准,也是目前该组织颁布的语音压缩标准中码率最低的一种标准.G.723.1主要用于对语音及其它多媒体声音信号的压缩,目前在一些 ...
- 详解音频编解码的原理、演进和应用选型等
本文来自网易云音乐音视频实验室负责人刘华平在LiveVideoStackCon 2017大会上的分享,并由LiveVideoStack根据演讲内容整理而成(本次演讲PPT文稿,请从文末附件下载). 1 ...
- 音频编解码之G711
<音视频应用开发系列文章目录> G711规定了如何将128kbps的raw pcm信号转为64kbps的g711u/g711a音频信号.本文在前人的基础上封装了G711的编解码算法,有两种 ...
最新文章
- 使用jQuery制作手风琴效果.(转)
- python解析任意json
- 【C#】详解C#委托
- 性能测试方案_MeterSphere案例分享丨基于JMeter的性能测试方案演进之路
- 脱胎换骨 XIV Gen3摆脱最后的“羸弱点”
- php str_replace多个参数,php str_replace()函数的用法,有那些参数?
- scrapy框架_Python:Scrapy框架
- 作者:刘强强(1992-),男,贵州大学公共管理学院硕士生。
- MyBatis框架 动态SQL
- VMware10 安装centos6.7 设置NAT模式固定ip
- 阿里HBase的GC优化实践,能够降低java垃圾回收时间!
- 亚马逊在中国失败,而中国却在亚马逊成功
- 手机APP测试需要注意的问题
- 计算机学院实验室安全管理办法,计算机学院实验室安全管理办法.pdf
- 一根不均匀的绳子,全部烧完需要1个小时,问怎样烧能计时1个小时15分钟
- python中求差的函数_python3函数取差是什么?如何写代码?
- 镍氢电池的特性和使用方法(FDK镍氢电池充电机制)
- 【Java】java格式化时间到毫秒
- time(),date(),microtime()…
- golang实现多协程下载文件(支持断点续传)
热门文章
- 一个非常漂亮的简约大气的table
- IPC--印制电路板的一种标准
- 华为获颁中国首个5G基站设备进网许可证:可支持中国规模部署;IBM推出新一代企业平台Z15;Testin最新AI产品发布……...
- spring调用webservice
- IDEA利用wsdl文件生成WebService调用接口的方法
- ZedBoard 最小系统构建 (一)-硬件结构搭建
- OFDM学习笔记(四)(信道估计简介)
- 微型计算机自动化控制专业,自动化专业简介
- Go Grpc Jwt身份认证和Gateway集成以及HTTPS双向认证
- 简历中“项目经历“该如何写?