热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

SpeexSpeexhttp:blog.csdn.netxyz_lmnarticledetails8013490简介Speex是一套主要针对语音的开源免
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性能比较






推荐阅读
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
author-avatar
幸福树袋熊2502903015
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有