新聞中心

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

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

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

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

本文引用地址:http://butianyuan.cn/article/176994.htm

f.JPG




評(píng)論


相關(guān)推薦

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

關(guān)閉