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

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

優勢 帶寬 blog 網絡 ndt 目標 領域 合成 通道

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。

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