FreeSWITCH第三方库(音频)的简单介绍(一)

FreeSWITCH使用了大量的第三方库,本文档主要介绍音频相关库的信息:

视频相关库的信息介绍参考:http://www.cnblogs.com/yoyotl/p/5488890.html

其他相关库的信息介绍参考:http://www.cnblogs.com/yoyotl/p/5489315.html

 

① libbroadvoice

BroadVoice是一种高清语音编解码,支持窄带8kHz的BV16和宽带16kHz的BV32。

BroadVoice使用LGPL(Lesser General Public License)发布,完全免费,因而被广泛使用在许多开源的电话系统中。

BV16和BV32编码质量很高,低延迟(5ms),和ITU的编码相比,可节省1/2到1/3的CPU。

Bradvoice编码是自去年以来第三个加入FreeSWITCH的高清语音编码,其它两个免费、高质量的语音编码是CELT和G.722。 

 

② libflite

Flite是一个小型、快速的TTS系统,是著名的语音合成系统festival的c版本。可用于嵌入式系统。

官网:http://www.speech.cs.cmu.edu/flite/

 

③ libg7221

G.722.1基于 Polycom 的第三代 Siren 7 压缩技术,1999年被ITU-T批准为G.722.1标准。G.722.1采用16 KHZ 采样频率,16 位数据量化,支持从 50 Hz 至 7 kHz频率范围的音频采样,并将其压缩为 32 与 24 Kbit/s。

它采用20 ms封帧,提供40ms的算法延迟。

G722.1可实现比 G.722 编解码器更低的比特率以及更大的压缩。目标是以大约一半的比特率实现与 G.722 大致相当的质量。这种编码使用许可需要获得Polycom公司的授权。

 

④ libilbc

iLBC是一种专为包交换网络通信设计的编解码,优于目前流行的G.729、G.723.1,对丢包进行了特有处理,即使在丢包率相当高的网络环境下,仍可获得非常清晰的语音效果。

 

⑤ libcodec2

codec2是开源的低比特率的音频编解码器。codec2压缩语音编码方法,支持3200bit/s及更低的带宽。codec2被设计用于无线电和其他高压缩语音应用的领域。

官网地址:http://rowetel.com/codec2.html

 

⑥ libsilk

SILK是一个语音和音频编解码算法, 对于音频带宽、网络带宽和算法复杂度都具有很好的弹性。

支持四种采样率:8KHz、12KHz、16KHz、24KHz。三种复杂度:低、中、高。编码码率在 6~40kbps(不同采样率具有不同的码率范围)以及还支持VAD、DTX、FEC等模块,感觉还是比较全面。

最重要的一点是提供了定点C代码,非常有利于向ARM、DSP移植和优化。

 

⑦ opus

Opus编码器 是一个有损声音编码的格式,由互联网工程任务组(IETF)近来开发,适用于网络上的实时声音传输,标准格式为RFC 6716。opus是一个开源的使用上没有任何专利或限制软件。

Opus的前身是celt编码器。在当今的有损音频格式争夺上,拥有众多不同编码器的AAC格式打败了同样颇有潜力的Musepack、Vorbis等格式,而在Opus格式诞生后,情况似乎不同了。

通过诸多的对比测试,低码率下Opsu完胜曾经优势明显的HE AAC,中码率就已经可以媲敌码率高出30%左右的AAC格式,而高码率下更接近原始音频。

 

⑧ libsoundtouch

SoundTouch是一个音频处理开源库,允许改变声音的节奏,音高和播放速率等各种独立的参数。

 

⑨ openal

OpenAL(Open Audio Library)是自由软件界的跨平台音效API。它设计给多通道三维位置音效的特效表现。其 API 风格模仿自OpenGL。

上善若水,水利万物而不争。

时间: 2024-10-29 07:45:50

FreeSWITCH第三方库(音频)的简单介绍(一)的相关文章

FreeSWITCH第三方库(其他)的简单介绍(三)

FreeSWITCH使用了大量的第三方库,本文档主要介绍关联相关库的信息: 音频相关库的信息介绍参考:http://www.cnblogs.com/yoyotl/p/5486753.html 视频相关库的信息介绍参考:http://www.cnblogs.com/yoyotl/p/5488890.html   ① ldns dns相关的库.   ② libre libre 是一个利用异步 I/O 实现的实时通讯库.采用可移植的 POSIX 源码编写,符合 ANSI C89 和 ISO C99 标

[python知识] 爬虫知识之BeautifulSoup库安装及简单介绍

一. 前言         在前面的几篇文章中我介绍了如何通过Python分析源代码来爬取博客.维基百科InfoBox和图片,其文章链接如下:        [python学习] 简单爬取维基百科程序语言消息盒         [Python学习] 简单网络爬虫抓取博客文章及思想介绍         [python学习] 简单爬取图片网站图库中图片        其中核心代码如下: # coding=utf-8 import urllib import re #下载静态HTML网页 url='h

安卓开发常用工具和第三方库汇总

本文讲的是安卓开发常用工具和第三方库汇总,我的名字叫 Ryan Cooke 我在 Pinterest 的核心体验团队工作.今天在这里我会谈论各种 Android 库:它们各自的优点,缺点和其他相关知识.目的是高效地概述尽可能多的库,这样,当你遇到一个问题的时候,你知道这是不是个已经解决的问题?什么样的方案更好?同时也能帮助你避免那些陷阱. 选择正确的库意味着你可以拥有一个已经成熟的更好的解决方案,而不是花费三个月来重新构建它.了解这些库是第一步. 我听到很多人想要实现第一个库, 我们难道不能用

Linux集群和自动化维2.1 Shell和Python语言的简单介绍

第2章 生产环境下的Shell和Python脚本 接触Linux系统十多年了,Shell和Python脚本都已经完全融入笔者的生活中了.虽然Shell脚本只是一个简单的解释型语言,不受开发人员的重视,但对于系统运维工程师来说,它的作用举足轻重,它就像我们的瑞士军刀一样,可以帮助我们简化日常的工作并减少工作量.在系统维护工作中,Shell脚本常常能比用C或C++语言编写的程序更快地解决相同的问题,此外,Shell脚本具有很好的可移植性,有时跨越Unix与POSIX兼容的系统,只须略作修改即可,甚至

Python标准库与第三方库详解_python

本文详细罗列并说明了Python的标准库与第三方库如下,供对此有需要的朋友进行参考: Tkinter---- Python默认的图形界面接口. Tkinter是一个和Tk接口的模块,Tkinter库提供了对Tk API的接口,它属于Tcl/Tk的GUI工具组.Tcl/Tk是由John Ousterhout发展的书写和图形设备.Tcl(工具命令语言)是个宏语言,用于简化shell下复杂程序的开发,Tk工具包是和Tcl一起开发的, 目的是为了简化用户接口的设计过程.Tk工具包由许多不同的小部件,如一

Python中使用第三方库xlrd来读取Excel示例_python

本篇文章介绍如何使用xlrd来读取Excel表格中的内容,xlrd是第三方库,所以在使用前我们需要安装xlrd.另外我们一般会使用xlwt来写Excel,所以下一篇文章我们会来介绍如何使用xlwt来写Excel.xlrd下载:xlrd 0.8.0 安装xlrd 安装xlrd,只需运行setup即可,另外你也可以直接解压缩到你的project中,也可以直接用 xlrd的API 获取Excel,这里称之为work book 复制代码 代码如下: open_workbook(file_name) 获取

Android Studio添加第三方库的注意事项_Android

前言 很多人开始安卓入门的学习,都会选择Google官方的Android Studio作为开发工具,由于他跟之前的Eclipse不太一样,所以出的问题也比较多.主要是导入的问题和android studio自带的android 高版本SDK所带来的问题. 首先说一说将第三方库导入Android Studio的方法,以xUtils为例,导入jar包的方式,比较简单,再次不做介绍.我门主要讲的是library库文件引入的方式. 第一步我们要做的是将要引入的包,放在我们的工程目录下,如下图 然后在我们

Python中使用第三方库xlrd来写入Excel文件示例_python

继上一篇文章使用xlrd来读Excel之后,这一篇文章就来介绍下,如何来写Excel,写Excel我们需要使用第三方库xlwt,和xlrd一样,xlrd表示read xls,xlwt表示write xls,同样目前版本只支持97-03版本的Excel.xlwt下载:xlwt 0.7.4 安装xlwt 安装方式一样是python setup.py install就可以了,或者直接解压到你的工程目录中. API介绍 获取一个xls实例 复制代码 代码如下: xls = ExcelWrite.Work

Swift 使用Carthage来安装管理第三方库

之前我介绍了如何使用 CocoaPods 来管理第三方库(Swift - CocoaPods的安装使用详解),本文介绍另一个第三方库管理工具:Carthage. 1,Carthage介绍 相较于 CocoaPods 的悠久历史,Carthage 还比较年轻,出现也没几年(自 Swift 语言出来后才有的).它的目标是用最简单的方式来将第三方框架(frameworks)添加到我们项目中来. GitHub 主页地址:https://github.com/Carthage/Carthage.git 2