新聞中心

        EEPW首頁 > 電源與新能源 > 設(shè)計應(yīng)用 > 基于Wifi的電子看板語音系統(tǒng)設(shè)計實現(xiàn)

        基于Wifi的電子看板語音系統(tǒng)設(shè)計實現(xiàn)

        作者: 時間:2012-06-08 來源:網(wǎng)絡(luò) 收藏

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

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

        f.JPG




        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 龙江县| 莱州市| 陆河县| 广德县| 大渡口区| 固阳县| 三门县| 通辽市| 枣阳市| 江孜县| 休宁县| 贵溪市| 通江县| 平凉市| 台东县| 万载县| 五大连池市| 翁源县| 新化县| 蓝田县| 海南省| 崇仁县| 邢台市| 通州市| 泽普县| 民丰县| 景德镇市| 长子县| 家居| 东源县| 朝阳区| 无棣县| 伊金霍洛旗| 会宁县| 武城县| 武邑县| 福清市| 县级市| 尉犁县| 和田县| 读书|