新聞中心

        EEPW首頁 > 電源與新能源 > 設計應用 > 基于Wifi的電子看板語音系統設計實現

        基于Wifi的電子看板語音系統設計實現

        作者: 時間:2012-06-08 來源:網絡 收藏

        2 上位機程序
        語音傳輸采用單聲道,16位,8 000 Hz采樣頻率,每秒采集數據16 k。上位機程序使用delphi編寫,調用windowsAPI-WaveInOpen函數打開設備。并設置:
        d.JPG
        調用waveInAddBuffer獲取聲音數據,得到的聲音數據采用自適應差分脈沖編碼調制。該算法中對量化步長的調整使用了簡單的映射方法,對于一個輸入的PCM值X(n),將其與前一時刻的X(n-1)預測值做差值得到d(n),然后根據當前的量化步長對d(n)進行編碼,再用此sample點的編碼值調整量化步長,同時還要得到當前sample點的預測值供下一sample點編碼使用。通過此算法可將樣點編碼成4bit的碼流,一個符號位和3個幅度位。該算法編解碼簡單只進行相減、查表運算。對CPU要求不高。
        壓縮的數據通過idudpclient控件傳輸。參考代碼如下:
        idudpclient 1.host:=IP
        idudoclient 1.port:=PORT
        idudoclient 1.SendBuffer
        idudpclient控件brodcastenable屬性可以打開廣播。采用廣播方式,所有下位機都可以接收到上位機發出的數據包。
        Delphi使用IdUDPServer控件監聽端口讀取下位機聲音數據,解碼調用waveOutOpen(),
        waveOutPrepareHeader(),wave()utWrit()播放聲音。程序流程參如圖4所示。

        本文引用地址:http://www.104case.com/article/176994.htm

        f.JPG




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 曲阳县| 肇源县| 固原市| 旬邑县| 图木舒克市| 山东省| 彭阳县| 库车县| 宁武县| 沈丘县| 清原| 体育| 秦皇岛市| 稷山县| 文水县| 靖安县| 福州市| 拜泉县| 全椒县| 襄城县| 泽州县| 吉木萨尔县| 皋兰县| 南乐县| 卓资县| 雅江县| 栾川县| 宁夏| 辽宁省| 昆明市| 清流县| 若尔盖县| 新巴尔虎右旗| 横峰县| 布拖县| 城步| 长宁区| 浦江县| 邹城市| 大新县| 宝鸡市|