基於Linux開源VOIP系統LinPhone[三]

來源:互聯網
上載者:User

***************************************************************************************************************************
作者:EasyWave                                                                                 時間:2013.01.26

類別:Linux 應用LinPhone組件speex                                             聲明:轉載,請保留連結

注意:如有錯誤,歡迎指正。這些是我學習的日誌文章......

***************************************************************************************************************************

在LinPhone這個系統中,第二個我們要介紹的第三方庫組件:speex,Speex是一套主要針對語音的開源免費,無專利保護的音頻壓縮格式。Speex工程著力於通過提供一個可以替代高效能語音編解碼來降低語音應用輸入門檻 。另外,相對於其它轉碼器,Speex也很適合網路應用,在網路應用上有著自己獨特的優勢,廢話少說,進入speex功能介紹吧,主要功能如下:

Speex是基於CELP並且專門為碼率在2-44kbps的語音壓縮而設計的。特點如下:
        ■ 窄帶(8kHz),寬頻(16kHz)和超寬頻(32kHz)壓縮於同一位流。
        ■ 強化立體編碼
        ■ 資料包丟失隱蔽
        ■ 可變位元速率(VBR)
        ■ 語音捕捉(VAD)
        ■ 非連續傳輸(DTX)
        ■ 定點運算
        ■ 感官回聲消除(AEC)
        ■ 噪音消除

對於噪音消除,這個功能,我做過測試,效果還是不錯的,雖然消噪之後,聲音會有一些.....但是,通過軟體和硬體處理,效果還是不錯的。

 

一:ARM Linux的編譯

 

1):libogg的編譯

如果想在ARM平台上編譯speex,需要用到libogg,這是因為speex的測試demo程式用到了libogg,當然具體的應用不一定會用到libogg,所以,首先需要下載libogg,同時也要先編譯libogg。http://www.xiph.org/downloads/ 是libogg的,我在解壓之後的libogg的目錄下建立了一個build.sh檔案,同時還建立一個_install的檔案夾,如下:

   ./configure --prefix= ./_install/ \               --host=arm-linux \      --target=arm-linux \      --disable-static \      --enable-fixed-point   make   make install

編譯完成之後,會在libogg的路徑下的_install目錄下,會有libogg的相關庫,之後將其拷貝到speex的_install的目錄下。

 

2):speex的編譯

speex的源碼是在www.speex.org 網站上下載,首先在speex目錄下先建立_install檔案夾,同時也在speex的目錄下建立一個build.sh檔案。其設定支援是通過Speex配置指令碼的:
-prefix=<path> 指定Speex安裝其本路徑(如 /usr)
-enable-shared/-disable-shared  是否編譯共用庫
-enable-static/-disable-static  是否編譯靜態庫
-disable-wideband 取消Speex的寬頻部分(典型的節省空間的)
-enable-valgrind  為調試目的啟用額外valgrind的命中率
-enable-sse  啟用SSE指令(只在 x86/浮點)
-enable-fixed-point 編譯Speex為無浮點單位(FPU)處理器
-enable-arm4-asm 啟用彙編指定為ARMv4架構(只在gcc)
-enable-arm5e-asm 啟用彙編指定為ARMv5E架構(只在gcc)
-enable-fixed-point-debug 只使用調試定點碼(非常慢)
-enable-epic-48k 啟用一個專門(不相容)4.8kbps窄帶模式(在1.1.x和1.2beta)
-enable-ti-c55x 啟用支援TI C5x族
-enable-blackfin-asm 啟動彙編指定為Blackfin DSP架構
-enable-vorbis-psycho 使編碼器使用Vorbis心理學模型。

如下所示:

#./configure --prefix=/_install/ \             --host=arm-linux \             --target=arm-linux \             --disable-static \             --enable-fixed-point \             --enable-arm-asm \   #make   #make install


編譯之後,可以在_install的檔案夾下的bin檔案下,可以看到speexdec和speexenc兩個測試程式。 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.