1. 程式人生 > >FreeSWITCH第三方庫(音訊)的簡單介紹(一)

FreeSWITCH第三方庫(音訊)的簡單介紹(一)

FreeSWITCH使用了大量的第三方庫,本文件主要介紹音訊相關庫的資訊:

① 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版本。可用於嵌入式系統。

③ 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被設計用於無線電和其他高壓縮語音應用的領域。

⑥ 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。

相關推薦

FreeSWITCH第三方音訊簡單介紹

FreeSWITCH使用了大量的第三方庫,本文件主要介紹音訊相關庫的資訊: ① libbroadvoice BroadVoice是一種高清語音編解碼,支援窄帶8kHz的BV16和寬頻16kHz的BV32。 BroadVoice使用LGPL(Lesser Ge

FreeSWITCH第三方音頻簡單介紹

優勢 帶寬 blog 網絡 ndt 目標 領域 合成 通道 FreeSWITCH使用了大量的第三方庫,本文檔主要介紹音頻相關庫的信息: 視頻相關庫的信息介紹參考:http://www.cnblogs.com/yoyotl/p/5488890.html 其他相關庫的信

FreeSWITCH第三方其他簡單介紹

FreeSWITCH使用了大量的第三方庫,本文件主要介紹關聯相關庫的資訊: ① ldns dns相關的庫。 ② libre libre 是一個利用非同步 I/O 實現的實時通訊庫。採用可移植的 POSIX 原始碼編寫,符合 ANSI C89 和 ISO

android application類簡單介紹

cati theme text color raw sdn water bsp public 每次應用程序執行時。應用程序的application類保持實例化的狀態。通過擴展applicaiton類,能夠完畢下面3項工作: 1.對android執行時廣播的應用程序

android mvp高速開發框架介紹dileber的簡單介紹

activity 數據 -c pos androi mod family 基於 ebe 今天我為大家介紹一款android mvp框架:dileber(https://github.com/dileber/dileber.git) 官方交流qq群:171443

Android平臺Camera實時濾鏡實現方法探討(十)--代碼地址以及簡單介紹20160118更新

div iss 將在 spa 方法 target 用途 net dsm 簡單做了個相機和圖片編輯模塊,時間原因非常多功能還沒有做。尚有BUG,見諒,將在以後抽時間改動 代碼地址 PS:請點個Star^-^ -----------------------

Android界面坐標圖示和Rect矩形簡單介紹

log sof rac android界面 ng- 矩形 blog 介紹 trac Android界面的坐標是以左上角為起始點。平行的為X軸,垂直的為Y軸,數值都是遞增的。例如以下圖所看到的: Android的Rect類是形成一個矩形的區域。區域

差分約束系統簡單介紹入門

難點 兩個 技術 最短 短路徑 裏的 http 最大值 image 一直不知道差分約束是什麽類型題目,最近在寫最短路問題就順帶看了下,原來就是給出一些形如x-y<=b不等式的約束,問你是否滿足有解的問題 好神奇的是這類問題竟然可以轉換成圖論裏的最短路徑問題,下面開始詳

Java靜態檢測工具/Java代碼規範和質量檢查簡單介紹

pub 詳細 職責 web 循環 問題: 集成 死鎖 參考 靜態檢查: 靜態測試包括代碼檢查、靜態結構分析、代碼質量度量等。它可以由人工進行,充分發揮人的邏輯思維優勢,也可以借助軟件工具自動進行。代碼檢查代碼檢查包括代碼走查、桌面檢查、代碼審查等,主要檢查代碼和設計的一致

javascript 對象簡單介紹

則表達式 數字 orange red 1.4 dom 空白字符 手冊 document JavaScript Array(數組) 對象數組對象的作用是:使用單獨的變量名來存儲一系列的值。 什麽是數組?數組對象是使用單獨的變量名來存儲一系列的值。如果你有一組數據(例如:車名字

Hibernate學習1簡單介紹

清理緩存 並發 connect upgrade 定義 之前 對象 value cat 1.什麽是Hibernate? ????????? 首先,Hibernat

salesforce lightning零基礎學習(四) 事件component events簡單介紹

exec 說明 包含 span 目錄 action 當前 一個 events lightning component基於事件驅動模型來處理用戶界面的交互。這種事件驅動模型和js的事件驅動模型也很相似,可以簡單的理解成四部分: 1.事件源:產生事件的地方,可以是頁面中的輸入框

關於pycharm中安裝第三方時報錯的解決辦法

記錄自己的生活!   一、事發背景 在pycharm中直接安裝第三方庫時因為版本問題總是無法安裝成功,事情不大,但是很重要。   二、經過 最開始我自己電腦上安裝了Python3.6和Python2.7兩個版本,我正常使用是3.6版的。因

網絡爬蟲簡單介紹python

我們 大型 搜索 () 介紹 面積 截取 困難 狀況 一、簡介 爬蟲就是利用代碼大量的將網頁前端代碼下載下來使用的一種程序,一般來說常見的目的為下: 1、商業分析使用:很多大數據公司都會從利用爬蟲來進行數據分析與處理,比如說要了解廣州當地二手房的均價走勢就可以到房屋中介的網

gulp node nvm npm bower 簡單介紹

知識點 瞭解什麼是 Node ,什麼是 NPM 掌握 Bower的使用 熟練使用Less/Sass 搭建一個自己的自動化工作流環境 自動編譯, 自動合併, 自動重新整理, 自動部署 GIT 與 GITHUB master 託管原始檔 g

JVM 結構簡單介紹分割槽的比喻有點意思

文章來自這裡 jvm區域總體分兩類,heap區和非heap區。heap區又分:Eden Space(伊甸園)、Survivor Space(倖存者區)、Tenured Gen(老年代-養老區)。 非heap區又分:Code Cache(程式碼快取區)、Perm Gen(永久代)、Jvm Stack

QT4串列埠通訊QT4需要用第三方,QT5自帶串列埠通訊

在Qt5之前的版本中並沒有特定的串列埠控制類,現在大部分人使用的是第三方寫的qextserialport類,本文章主要是講解怎樣利用此類實現串列埠通訊。 2、檔案下載地址:      http://sourceforge.net/projects/qextserialport/files/ 3、檔案內容:

fiddler的簡單介紹inspectors-Raw

此圖為post請求的介面資訊(上邊部分為request請求,下半部分為response響應) 一.inspectors-Raw: post請求分為4部分圖中綠色框的1234.  第一部分為請求的url地址  第二部分為請求的host地址  第三

Java集合框架詳解--Collection介面簡單介紹

一、Collection介面簡單介紹        Collection介面是處理物件集合的根介面,其中定義了很多對元素進行操作的方法。Collection介面有兩個主要的子介面List和Set,注意Map不是Collection的子介面。 Collection介面中的方

JDBC1簡單介紹/資料庫的連線

初始JDBC: JDBC是java連線資料庫的一個工具,沒有這個工具,java將無法和資料庫進行連線。 JDBC API: JDBC是個“低階”介面,也就是說,他直接用於呼叫SQL命令。 JDBC驅動型別: JDBC是應用程式程式設計介面,描述了在訪問關係資料庫的標準 java類庫。並且還為資料庫廠商提