• <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>

            牽著老婆滿街逛

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

            speex開源項(xiàng)目的學(xué)習(xí)

            轉(zhuǎn)載自:http://www.cnblogs.com/chef/archive/2012/07/20/2600846.html

                昨天講了speex編譯http://www.cnblogs.com/chef/archive/2012/07/19/2599067.html,今天又有空閑時(shí)間,簡(jiǎn)單分析一下項(xiàng)目中各工程的作用,以下為學(xué)習(xí)筆記。

             

                項(xiàng)目是用C寫的。solution中包含了以下10個(gè)project:

            1.libspeex

                speex動(dòng)態(tài)庫(kù),核心project,用戶使用的就是它,在solution中,接口頭文件很貼心的放在了一個(gè)單獨(dú)的文件夾中,名為Public Header Files。

            2.libspeexdsp

                靜態(tài)庫(kù),從頭文件名稱可以看出,功能應(yīng)該是回音抑制、抗抖動(dòng)等專業(yè)算法,本以為它是由libspeex抽離出來的一個(gè)下層庫(kù),咱上層用戶跟它是非耦合的。仔細(xì)看了看,發(fā)現(xiàn)它們并沒有從屬關(guān)系。后面看到的project 4依賴于1、2,  7、8、9只依賴于1,說明2和1是平級(jí)的關(guān)系,2為1的補(bǔ)充,當(dāng)需要使用speex的一些高級(jí)功能選項(xiàng)時(shí),就需要使用到2了。

            3.speexdec

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

            4.speexenc

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

            5.testdenoise

                測(cè)試libspeexdsp中的噪音消除功能。

            6.testecho

                測(cè)試libspeexdsp中的AEC即回音抑制功能。

            7.testenc

                測(cè)試窄帶編碼。

            8.testenc_uwb

                使用SPEEX_MODEID_UWB初始化編碼。

            9.testenc_wb

                測(cè)試寬帶編碼。

             

            7、8、9的區(qū)別

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

                

            那么7、8、9和4有什么區(qū)別呢?

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

             

            10.testresample

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

             

            manual手冊(cè)關(guān)于resamper的說明:

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

             

            后記:

                speex項(xiàng)目中各工程作用就簡(jiǎn)單分析到這了,真要使用speex的話,看manual文檔是必不可少的。日后如果有時(shí)間繼續(xù)學(xué)習(xí)speex,我會(huì)把筆記分享上來的。

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

            伊人色综合久久天天网| 97超级碰碰碰久久久久| 国产国产成人久久精品| 爱做久久久久久| 中文字幕久久精品| 无码专区久久综合久中文字幕| 国产精品久久久久久影院| 久久毛片免费看一区二区三区| 国产精品成人久久久| 国产亚洲综合久久系列| 武侠古典久久婷婷狼人伊人| 久久夜色精品国产欧美乱| 99久久精品免费观看国产| 久久精品国产亚洲av影院| 久久精品无码一区二区三区免费| 97精品伊人久久久大香线蕉| 精品多毛少妇人妻AV免费久久| 亚洲精品无码久久久久| 久久久久久噜噜精品免费直播| 国产午夜福利精品久久2021| 午夜精品久久影院蜜桃| 精品久久人人妻人人做精品| 久久99国产精一区二区三区| 一本一本久久a久久综合精品蜜桃 一本一道久久综合狠狠老 | 99精品久久精品一区二区| 久久中文字幕视频、最近更新| 久久精品国产69国产精品亚洲| 精产国品久久一二三产区区别| 国产精品99久久久久久董美香 | 久久夜色精品国产| 久久综合综合久久97色| 久久伊人精品青青草原高清| 欧美黑人又粗又大久久久| 久久国产乱子伦免费精品| 久久综合给合久久狠狠狠97色| 一本色道久久综合狠狠躁| 久久久久波多野结衣高潮| 伊人久久综合精品无码AV专区| 久久亚洲精品成人无码网站| 久久成人国产精品免费软件| 99久久这里只精品国产免费|