• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            牽著老婆滿街逛

            嚴以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            speex開源項目的學習

            轉載自:http://www.cnblogs.com/chef/archive/2012/07/20/2600846.html

                昨天講了speex編譯http://www.cnblogs.com/chef/archive/2012/07/19/2599067.html,今天又有空閑時間,簡單分析一下項目中各工程的作用,以下為學習筆記。

             

                項目是用C寫的。solution中包含了以下10個project:

            1.libspeex

                speex動態庫,核心project,用戶使用的就是它,在solution中,接口頭文件很貼心的放在了一個單獨的文件夾中,名為Public Header Files。

            2.libspeexdsp

                靜態庫,從頭文件名稱可以看出,功能應該是回音抑制、抗抖動等專業算法,本以為它是由libspeex抽離出來的一個下層庫,咱上層用戶跟它是非耦合的。仔細看了看,發現它們并沒有從屬關系。后面看到的project 4依賴于1、2,  7、8、9只依賴于1,說明2和1是平級的關系,2為1的補充,當需要使用speex的一些高級功能選項時,就需要使用到2了。

            3.speexdec

                示例exe,功能比較全的speex解碼控制臺程序,輸入是格式為raw PCM或者WAVE文件,輸出是speex編碼文件,我嘗試了一下,VLC可以播放。搜索到main函數,可以看到一堆控制臺參數提示信息。

            4.speexenc

                同上,只是編碼換成解碼了。

            5.testdenoise

                測試libspeexdsp中的噪音消除功能。

            6.testecho

                測試libspeexdsp中的AEC即回音抑制功能。

            7.testenc

                測試窄帶編碼。

            8.testenc_uwb

                使用SPEEX_MODEID_UWB初始化編碼。

            9.testenc_wb

                測試寬帶編碼。

             

            7、8、9的區別

                speex三種主要的采樣率8kHz、16kHz、32kHz,它們分別對應 narrowband、wideband、ultra-wideband(即7、9、8)。

                

            那么7、8、9和4有什么區別呢?

                其實它們都是很小的測試或示例程序,3可以通過控制臺參數來控制編碼選項(即上面所說的,使用了project 2)。個人感覺,看看9就可以動手寫自己的代碼了,日后需要用到一些選項時(應該是做優化工作)再去看manual手冊+project 4。

             

            10.testresample

                這個工程有點搞,里面就一個名為testresample.c的文件,可是竟然不存在!這個工程依賴于libspeexdsp,個人感覺(我又開始猜了)應該是測試resample功能的。

             

            manual手冊關于resamper的說明:

                在一些情況下,把音頻從一種抽樣率(sampling rate)轉化成另一種是很有用的。比如說以下場景:混合不同抽樣率的流,有的抽樣率聲卡不支持,轉碼等等。所以我們需要resampler。

             

            后記:

                speex項目中各工程作用就簡單分析到這了,真要使用speex的話,看manual文檔是必不可少的。日后如果有時間繼續學習speex,我會把筆記分享上來的。

            posted on 2012-11-23 11:37 楊粼波 閱讀(1826) 評論(0)  編輯 收藏 引用 所屬分類: 文章收藏

            亚洲成色999久久网站| 欧美久久亚洲精品| 国产精品久久久久久福利69堂| 久久天堂AV综合合色蜜桃网| 99国产欧美久久久精品蜜芽| 51久久夜色精品国产| 亚洲一级Av无码毛片久久精品| 久久亚洲精品无码AV红樱桃| 91精品国产综合久久四虎久久无码一级 | 久久久久久亚洲精品成人| 国产精品久久一区二区三区| 久久久久久国产精品免费免费| 亚洲精品国产美女久久久| 9191精品国产免费久久| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 久久91综合国产91久久精品| 久久久亚洲精品蜜桃臀| 久久久久久国产精品无码超碰| 久久久久久一区国产精品| 久久人人爽人人爽人人片AV不 | 午夜精品久久影院蜜桃| 国产精品女同久久久久电影院| 久久青青国产| 人人狠狠综合久久亚洲88| 久久精品99久久香蕉国产色戒| 亚洲欧美日韩久久精品 | 久久五月精品中文字幕| 久久国产精品国产自线拍免费| 久久人妻AV中文字幕| 亚洲精品NV久久久久久久久久| 国产亚洲色婷婷久久99精品91| 777米奇久久最新地址| 久久久久亚洲精品无码蜜桃| 久久99久国产麻精品66| 亚洲国产精品无码久久久久久曰| 国内精品久久久久久中文字幕| 国产精品久久自在自线观看| 日本强好片久久久久久AAA| 麻豆精品久久久久久久99蜜桃| 人妻精品久久久久中文字幕| 亚洲成av人片不卡无码久久 |