FreeSWITCH使用了大量的第三方庫,本文檔主要介紹音頻相關庫的信息:html
視頻相關庫的信息介紹參考: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。 spa
② libflite
Flite是一個小型、快速的TTS系統,是著名的語音合成系統festival的c版本。可用於嵌入式系統。設計
官網:http://www.speech.cs.cmu.edu/flite/code
③ 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.72九、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。