国外知名音频库一站式资料和简介

2023-05-16

Speex


Speex

http://blog.csdn.net/xyz_lmn/article/details/8013490

 

简介

Speex是一套主要针对语音的开源免费,无专利保护的音频压缩格式。Speex工程着力于通过提供一个可以替代高性能语音编解码来降低语音应用输入门槛。另外,相对于其它编解码,Speex也很适合网络应用,在网络应用上有着自己独特的优势。同时,Speex还是GNU工程的一部分,在改版的BSD协议中得到了很好的支持。Speex是基于CELP并且专门为码率在2-44kbps的语音压缩而设计的。Speex源码是基于c语音实现的(也有Java实现,效率相对较低)。


 

特性

·    开源的自由软件,免专利,免版权

·    通过嵌入的比特流集成窄带和宽带

·    可大范围改变比特率(bit-rate)(从2.15kbps44kbps

·    动态比特率交换(AMR)和变比特率(VBR)操作

·    静音检测(VAD,和变比特率(VBR)集成)和非连续性传输(DTX

·    可变复杂度

·    嵌入的宽带结构(可变的比特率)

·    32kHz的超宽带采样率

·    强立体声编码选项

·    定点执行

节约流量。使用Speex来压缩音频文件,可以将音频压文件小数倍。

 

主要内容

资源地址

speex 回声消除的用法

http://www.cnblogs.com/kinyer/p/3326570.html

 

Speex回声消除原理深度解析

http://blog.csdn.net/leixiaohua1020/article/details/51187668

Speex回声消除代码分析

http://blog.csdn.net/leixiaohua1020/article/details/50159563

 

speex算法在android上的移植

http://www.360doc.com/content/15/0818/07/9200790_493005949.shtml

 

Speexmanul(手册)中文版

http://www.cnblogs.com/rosesmall/archive/2012/04/18/2455395.html

 

编译speex

http://www.cnblogs.com/chef/archive/2012/07/19/2599067.html

 

基于C的Speex 音频编解码

http://www.cnblogs.com/myitm/archive/2011/07/21/2113299.html

 

SPEEX抖动缓存

http://blog.163.com/yuan_zhch/blog/static/193790046201172743047588/

 

Opus音频编解码库

 

简介

Opus是一款完全开放,免版税,高度通用的音频编解码器。Opus是通过互联网进行交互式语音和音乐传输的无与伦比的,同时也适用于存储和流媒体应用。它由互联网工程任务组(IETF)标准化为RFC 6716,其中包含Skype的SILK编解码器和Xiph.Org的CELT编解码器的技术。

特性

Opus的前身是celt编码器。在当今的有损音频格式争夺上,拥有众多不同编码器的AAC格式打败了同样颇有潜力的Musepack、Vorbis等格式,而在Opus格式诞生后,情况似乎不同了。通过诸多的对比测试,低码率下Opsu完胜曾经优势明显的HE AAC,中码率就已经可以媲敌码率高出30%左右的AAC格式,而高码率下更接近原始音频。

以上来自百度百科(PS:百度百科对opus的介绍都很少)

简单来说,opus是一个高保真的适合在网络中传输的开源的语音编码格式,相对于其他编码格式来讲,保真性更好,但体积会稍微大一些。

 

²  比特率从6 kb / s到510 kb / s

²  从8 kHz(narrowband)到48 kHz(全频)的采样率

²  帧大小从2.5 ms到60 ms

²  支持恒定比特率(CBR)和可变比特率(VBR)

²  音频带宽从窄带到全频

²  支持言语和音乐

²  支持单声道和立体声

²  支持多达255个通道(多帧)

²  动态可调比特率,音频带宽和帧大小

²  良好的稳定性和丢包隐藏(PLC)(Good loss robustness and packet loss concealmen

²  浮点和定点实现

地址

官网

https://www.opus-codec.org/

 

编译 Android 版本的 Opus 音频编解码库的方法

http://www.linuxidc.com/Linux/2015-12/126094.htm

 

 

ffmpeg

简介

FFmpeg是一个自由软件,可以运行音频和视频多种格式的录影、转换、流功能1,包含了libavcodec─这是一个用于多个项目中音频和视频的解码器库,以及libavformat——一个音频与视频格式转换库。

ffmpeg 是1个非常快速的音视频转换器,还能够从实时的音视频流源中获得音视频。它还能在任意的采样率之间转化.

 

资源地址

官网

http://ffmpeg.org/

 

雷神零基础学习ffmpeg

http://blog.csdn.net/leixiaohua1020/article/details/15811977/

 

入门

http://www.fx114.net/qa-244-147595.aspx

 

 

 

iLBC-Android

简介

 iLBC 是为专为提供稳健的 IP 语音通信而开发的语音 codec,以窄带语音为设计基础,具有 8 kHz 的采样率。iLBCcodec 支持两种基本的帧长度:13.3kbps 比特率下编码帧长度为30 ms;而15.2 kbps比特率下编码帧长度则为20 ms。

      采用 iLBC 算法可以获得一个具有丢包响应控制的语音编码系统。iLBC对每一个数据包的处理都能够独立于其它数据包来进行,是数据包通信的理想选择。即使IP 丢包和/或延迟现象的恶化,这种 codec 的语音质量下降情况也不会太差。这与基于CEIP 模型的一般codec 的行为不同,这类codec 最先是为交换电路网络或无线网络而设计的,是设计来恢复位错误而非丢包的。

      丢包现象发生时,语音codec 的一项相关基准是从单个丢包情况下恢复过来所需的帧/包数量。在 iLBC 的情况中,数量是零。在丢包之后的第一个数据包总仍能按原本安排的被精确解码。

      iLBC 是一种窄带语音codec,使用了整个4kHz 频带,而大多数标准低比特率codec 只利用从300 Hz 到3400 Hz 的频带。这一点对音质的影响是相当明显的。此外,iLBC语音编码的频谱特性精确模拟了原始信号的特性,其语音比标准低比特率codec 的更自然清晰。

      总而言之,iLBC 算法为数据包网络实现了尖端的固定比特率编码,在质量与比特率之间取得了非常出色的平衡。

源码地址

https://github.com/bjdodson/iLBC-Android 

code.google:(http://code.google.com/p/android-ilbc/

Android-ilbc的Demo(国内):http://download.csdn.net/detail/xyz_lmn/4594662

 

OpenSL ES

简介

OpenSL ES用于嵌入式系统的开放式声音库)是用于2D3D音频的免版税,跨平台,硬件加速的C语言音频API。它提供对3D位置音频MIDI播放等功能的访问。它是为移动和游戏行业的开发人员制造的,并且正在努力允许在多个平台上轻松移植应用程序。

 

OpenSL ES 提供了一个 C 语言接口,您也可以使用C++ 访问此接口。它提供了类似于下列 Android Java API 音频部分的功能:

android.media.MediaPlayer

android.media.MediaRecorder

地址

Android音频开发之OpenSL ES

http://www.jianshu.com/p/2b8d2de9a47b

·       OpenSLES 官网

·       OpenSLES Wiki

·       Google官方的OpenSLES介绍

·       Android OpenSL ES编程要点

·       高性能音频基础

 

AAC音频编码

MPEG-2的音频编码技术。由Fraunhofer IIS、杜比实验室、AT&TSony等公司共同开发,目的是取代MP3格式。2000年,MPEG-4标准出现后,AAC重新集成了其特性,加入了SBR技术和PS技术,为了区别于传统的MPEG-2 AAC又称为MPEG-4 AAC

AAC优点:相对于mp3AAC格式的音质更佳,文件更小。

AAC不足:AAC属于有损压缩的格式,与时下流行的APEFLAC等无损格式相比音质存在本质上的差距。加之,传输速度更快的USB3.016G以上大容量MP3正在加速普及,也使得AAC头上小巧的光环不复存在了。

Android-Recorder(Demo)

https://code.google.com/archive/p/android-recorder/downloads

 

Demo特点:

使用android中的AudioRecord类,获取原始PCM数据.

将PCM数据用speex编码.

将编码后的数据打包录制成flv文件.

使用android-rtmp-client库将编码,打包后的数据直接发布到流媒体服务器.

本地与服务器端录音同时进行.

在手机上通过rtmp协议回放服务器端录好的文件.

 


使用android-rtmp-client库将编码,打包后的数据直接发布到流媒体服务器.

本地与服务器端录音同时进行.

在手机上通过rtmp协议回放服务器端录好的文件.



音频库PESQ性能比较





本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

国外知名音频库一站式资料和简介 的相关文章

  • 你见过的最全面的Python重点知识总结!

    这是一份来自于 SegmentFault 上的开发者 64 二十一 总结的 Python 重点 由于总结了太多的东西 xff0c 所以篇幅有点长 xff0c 这也是作者 34 缝缝补补 34 总结了好久的东西 xff0c 强烈建议收藏再慢慢
  • 程序员经典语录

    程序员编程语录 1 一个好的程序员是那种过单行线马路都要往两边看的人 xff08 Doug Linder xff09 2 程序有问题时不要担心 如果所有东西都没问题 xff0c 你就失业了 xff08 软件工程的Mosher定律 xff09
  • 使用fastboot命令刷机流程详解

    一 Fastboot是什么 1 1 首先介绍Recovery模式 卡刷 在系统进行定制时 xff0c 编译系统会编译出一份ZIP的压缩包 xff0c 里面是一些系统分区镜像 xff0c 提供给客户进行手动升级 恢复系统 需要提前将压缩包内置
  • 【谷歌插件】谷歌插件制作

    文章目录 谷歌浏览器插件制作教程实现步骤成功示例问题未封装的扩展程序并非来自 Chrome 网上应用商店 谷歌浏览器插件制作 教程 教程1 xff1a https blog csdn net github 35631540 article
  • 一个刚毕业大学生的四个月苦逼程序员经历

    先来一个自我介绍 大学时排名老三 就暂且叫老三吧 xff0c 毕业于河南的一个还算可以的二本院校 xff0c 专业 地球信息科学与技术 首先介绍一下我的专业 xff0c 听着名字很高大上 xff0c 其实 xff0c 我们都叫他四不像专业
  • JS中的require、import、default、export

    刚开始学的时候经常弄混总结一下 xff1a 懒人 xff1a 1 require xff08 导入 xff09 是Commonjs的规范与module exports xff08 导出 xff09 搭配使用 2 import xff08 导
  • Ubuntu安装python3

    sudo apt get install python3 安装python3 xff0c 安装完之后系统默认还是python2 xff0c 要删除python link文件 sudo rm rf usr bin python 然后建立新连接
  • ubuntu安装shutter出现E:无法修正错误

    使用Ubuntu16 04安装shutter时出现如下错误 通过换源可以解决
  • Ubuntu不能访问Windows分区

    将Windows的快速启动关闭即可解决次问题 在电脑中安装了双系统 xff0c 但有时候在Ubuntu中访问Windows分区会出现如下错误 xff1a 以前出现过这种错误 xff0c 是因为windows系统没有完全关闭 xff0c 当时
  • Ubuntu和Windows双系统时间不对的解决办法

    在使用一系统再切换到另一个系统之后 xff0c 系统时间好像是停留在上次关闭该系统的时间 在网上的解决办法通常是 xff1a sudo gedit etc default rcS xff0c 将UTC 61 yes改成UTC 61 no 但
  • Ubuntu出现依赖关系问题 - 仍未被配置问题

    安装软件包时候出现如下错误 xff1a 但这并不是依赖问题 xff0c 使用sudo apt get f install 无法解决 其实问题是因为这六个软件包没有被完全安装或卸载 在安装其他软件的时候会出现 xff1a 就是指这六个软件 使
  • 熬夜总结!最全的Pycharm常用快捷键大全!

    版权声明 xff1a 本文为博主原创文章 xff0c 遵循 CC 4 0 BY SA 版权协议 xff0c 转载请附上原文出处链接和本声明 本文链接 xff1a https blog csdn net momoda118 article d
  • iOS底层-对象里都有什么

    前言 上篇文章说了iOS中alloc方法是怎么创建对象的 xff0c 以及对象的本质是结构体 接下来继续探究对象的内存分布 xff0c 以及对象的isa是个什么样的结构体 xff0c 存储了哪些信息 对象内存分布 已知系统给对象分配内存是1
  • iOS底层-类的三顾茅庐(一)

    前言 了解完对象的底层 xff0c 知道isa指向的是类对象 那么类 xff08 Class xff09 的本质究竟是什么 xff1f 本文顺序isa的指向 xff0c 探索类的继承链 xff0c 和类对象的结构 xff0c 并且尝试获取方
  • iOS底层-alloc方法之旅

    前言 通过汇编调试和源码分析 xff0c 介绍iOS开发当中alloc方法到底做了什么 追踪 alloc 实例化一个对象往往是通过 xxx alloc init 那么alloc和init的区别是什么 xff1f 将两个方法分开调用 xff0
  • iOS底层-类的三顾茅庐(二)

    前言 上篇文章分析了objc class里存储数据的bits xff0c 了解到方法和属性的存储的位置class rw t xff08 以下简称rw xff09 本文将继续研究rw里包含的其他内容 类数据的存储 书接上文 xff0c rw结
  • iOS底层-类的三顾茅庐(三)

    前言 上文讲解完了类对象的结构体objc class用来存储类信息的成员bits xff0c 整个结构还剩下方法的缓存cache xff0c 放在压轴来讲解 简化版 struct objc class objc object 类对象指针 x
  • iOS底层-消息发送机制

    前言 通过对类的缓存探索了解到方法缓存在类对象的成员cache中 xff0c 而缓存的目的是为了方法调用的时候能更快的进行响应 缓存的时候 xff0c cache t结构体用到insert方法进行插入的 xff0c 那么本次就探索怎么读取
  • iOS底层-消息的转发

    前言 上篇文章介绍了方法调用的本质是消息发送 那如果经过查找后 xff0c 没有找到方法 xff0c 系统会怎么处理 xff1f 这就是本文接下来介绍的方法的动态决议和消息转发 动态决议 当方法查找一直查到父类为nil之后 xff0c 有i
  • 指针地址+1的理解

    指针向后移动一个单位 xff0c 如果是char指针 xff0c 就是1 xff0c 如果是int指针 xff0c 就是4 xff0c 如果是数组 xff0c 还要看是哪一维的下标 xff0c 要加上相应的维 include lt stdi

随机推荐

  • ConcurrentHashMap、synchronized与线程安全

    最近做的项目中遇到一个问题 xff1a 明明用了ConcurrentHashMap xff0c 可是始终线程不安全 除去项目中的业务逻辑 xff0c 简化后的代码如下 xff1a public class Test40 public sta
  • Spring MVC集成slf4j-logback

    1 Spring MVC集成slf4j log4j 关于slf4j和log4j的相关介绍和用法 xff0c 网上有很多文章可供参考 xff0c 但是关于logback的 xff0c 尤其是Spring MVC集成logback的 xff0c
  • 安装spinningup填坑ERROR: Could not build wheels for mpi4py which use PEP 517

    深度强化学习教程 xff1a Spinning Up项目中文版 Spinning Up 文档 ERROR Failed building wheel for mpi4py Failed to build mpi4py ERROR Could
  • Spring Bean 创建过程

    0 通常 xff0c 无论是DispatcherServlet ContextLoaderListener还是ClassPathXmlApplicationContext xff0c 首次实例化bean的入口并不是在每次调用getBean的
  • MySQL DataSource 性能对比(2015-8-19)

    1 本地性能测试耗时 xff08 一 xff09 共同条件 xff1a 测试程序与数据库在同一台主机上 xff0c 各DataSource均采用默认配置 xff0c 每个线程循环1000次 xff0c 查询语句为select from ta
  • MySQL 乐观锁 简例

    乐观锁与悲观锁不同的是 xff0c 它是一种逻辑上的锁 xff0c 而不需要数据库提供锁机制来支持 当数据很重要 xff0c 回滚或重试一次需要很大的开销时 xff0c 需要保证操作的ACID性质 xff0c 此时应该采用悲观锁 而当数据对
  • HTML5 Canvas 初步:字符串,路径,背景,图片

    HTML5中新增了 lt canvas gt 画布标签 xff0c 通过它 xff0c 可以使用JavaScript在网页中绘制图像 lt canvas gt 标签在网页中得到的是一个矩形空白区域 xff0c 可以通过width和heigh
  • CSS 伪类与伪元素

    CSS的元素选择器除了根据id xff08 xff09 class xff08 xff09 属性 xff08 xff09 选取元素以外 xff0c 还有很重要的一类 xff0c 就是根据元素的特殊状态来选取元素 它们就是伪类和伪元素 跟id
  • CSS3 动画效果总结

    CSS3添加了几个动画效果的属性 xff0c 通过设置这些属性 xff0c 可以做出一些简单的动画效果而不需要再去借助JavaScript CSS3动画的属性主要分为三类 xff1a transform transition以及animat
  • Javassist学习总结

    要想将编译时不存在的类在运行时动态创建并加载 xff0c 通常有两种策略 xff1a 1 动态编译 2 动态生成二进制字节码 xff08 class xff09 对于第二种策略 xff0c 实际上已经有诸多比较成熟的开源项目提供支持 xff
  • viewstub学习笔记

    当需要在运行时动态改变布局的情况下 xff0c 使用viewstub来进行动态的布局架构是逻辑简单控制灵活的 xff0c 并且相比于设置view gone来说viewstub更加的轻量化 xff0c 只有当调用了viewstub infla
  • 程序员的酸甜苦辣——告别Coding

    程序员的酸甜苦辣 告别Coding lt script language 61 34 javascript 34 type 61 34 text javascript 34 gt document title 61 34 程序员的酸甜苦辣
  • 基于参考注释的RNA-seq分析

    Step 1 构建参考序列索引 xff1a mkdirbti 在 stuXX 目录下新建文件夹 cd bti ln s database peixun2015 ref ath fa 在当前目录 xff0c 建立参考序列文件的超链接 bowt
  • maddpg 复现过程中遇到的问题

    最近在复现论文Multi Agent Actor Critic for Mixed Cooperative Competitive Environments https github com openai multiagent partic
  • "error while loading shared libraries: xxx.so.x" 错误的原因和解决办法

    一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误 比如 tmux error while loading shared libraries libevent 1 4 so 2 cannot open shared o
  • SUN VirtualBox 的命令行启动/关闭方法简介

    我们可以使用VBxManager 命令行管理工具来查看当前的虚拟基设置 和状态 QHo 64 qhoferrari1k VBoxManage list vms 下面通过实例来说明如何从命令行启动和关闭VirtualBox 虚拟机的两种常用方
  • 运维日记011 - Ubuntu下更改初始用户名的方法

    运维日记011 Ubuntu下更改初始用户名的方法 引子 Ubuntu每两年一次发布的LTS版本都会倍加引人关注 xff0c 因为LTS版本有长达五年的支持周期 xff0c 对于我等不是太喜欢折腾尝鲜而是希望几年之内不用重装系统的用户颇有吸
  • SWIG学习记录(一)SWIG基础

    SWIG学习记录 1 什么是SWIG 1 2 特性1 2 1 预处理 2 SWIG安装3 SWIG基础介绍3 1 运行SWIG3 1 1 输入格式3 1 2 输出3 1 3 注释3 1 4 预编译3 1 5 SWIG指令3 1 6 解析器的
  • Cpp--重载全局的new和delete

    include lt iostream gt include lt process h gt include lt string h gt include lt stdio h gt define MAX SIZE 30000 char M
  • 国外知名音频库一站式资料和简介

    Speex Speex http blog csdn net xyz lmn article details 8013490 简介 Speex是一套主要针对语音的开源免费 xff0c 无专利保护的音频压缩格式 Speex工程着力于通过提供一