freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于網(wǎng)絡(luò)的語音傳輸系統(tǒng)畢業(yè)設(shè)計(參考版)

2025-03-02 12:09本頁面
  

【正文】 初始化 direct 的捕捉緩沖 InitCapture Y = 0 = 1000 = False f = True。HA1 Private Const MMSYSERR_NOERROR = 0 Private Sub Form_Load() 39。保存的 wave 文件名 Dim MyVolume As clsVolume Dim n As Integer Dim f As Boolean Dim Y As Long Dim i As Long Dim length0 As Long Dim length1 As Long 39。按鈕是否被按過的標志 Dim menuPlaywave_flag As Boolean Dim menuconnect_flag As Boolean Dim ByteBuffer() As Byte 39。錄音時間計數(shù)器 Dim wavefilename As String 39。另外由于時間的限制,未實現(xiàn)多方的同時通話,而這可以通過套接字數(shù)組建 立多個連接,并使用 DirectxSound 的混音功能實現(xiàn)。另外,在操作上還不是很完善,比如雙方在通信前必須預(yù)先知道將要進行通信,使服務(wù) 35 器處于監(jiān)聽狀態(tài),而不象普通電話一樣,可以通過振鈴等方式通知對方。 展望 這個語音交互系統(tǒng)是基于 TCP/IP 協(xié)議并利用 Winsock 套接字設(shè)計的,設(shè)計、實現(xiàn)及測試時 都是基于100M局域網(wǎng),這就使得所得到的語音清晰、基本無延遲的結(jié)果都是在良好的網(wǎng)絡(luò)環(huán)境下得到的,如果應(yīng)用在網(wǎng)絡(luò)條件復(fù)雜的廣域網(wǎng)時可能會出現(xiàn)問題,但這時可以通過適當修改算法、緩沖區(qū)大小以及降低聲音的采樣頻率得到改善。另外,我對所使用 Matlab 工具也有了相應(yīng)的了解,基本掌握了 Matlab的一些應(yīng)用。所以,能夠?qū)W到這些實用的知識,對于我將來的發(fā)展具有很大的幫助。另外,通過動手設(shè)計實現(xiàn)一個語音交互系統(tǒng),我對數(shù)字語音通信的過程有了深刻的了解,也掌握了通過以有的編程控件實現(xiàn)語音傳輸?shù)姆椒ǎ鐢?shù)字語音傳輸中的時延的分析,基于 TCP/IP 協(xié)議的連接的建立,以及聲音的采集,編碼,傳輸?shù)取? 34 第六章 總結(jié) 小結(jié) 通過這次畢業(yè)設(shè)計,我學(xué)到了很多東西。如圖 55所示: 圖 55 連接斷開 本章小結(jié) 這一章我門具體實施了我們的程序,模擬了語音的傳輸和識別,得到了以上的截圖。 該系統(tǒng)在 100M 局域網(wǎng)內(nèi),使用計算機為 P3 800, 128M 內(nèi)存的情況下測試,語音清晰,雜聲小,語音質(zhì)量基本令人滿意。連接請求程序段 Private Sub tcpServer_ConnectionRequest(ByVal requestID As Long) If sckClosed Then requestID End Sub 39。相應(yīng)地,建立發(fā)送套接字緩沖區(qū)和接收套接字緩沖區(qū)。相應(yīng)地,選用了數(shù)據(jù)報套接字。初始化 Capturebuffer = capturewave = * 20 = DSCBCAPS_WAVEMAPPED 39。初始化 direct 的捕捉緩沖 , DSSCL_PRIORITY 39。程序段如下: 39。 輸中的技術(shù)問題的實現(xiàn) 采用全雙工聲卡 選用的聲卡有兩個中斷,兩個 DMA 通道。盡管 T1A,T2A,T39。1B 為減少 Tdelay,必須使上式中的 右邊的每一項都盡可能減到最小, T39。 A用戶的話音,首先經(jīng)過聲卡變?yōu)閿?shù)字量并存放于計算機的發(fā)送緩存,當發(fā)送緩存滿后,寫到 Winsock發(fā)送緩沖區(qū),通過網(wǎng)絡(luò)適配器將數(shù)據(jù)發(fā)送到 B 用戶的網(wǎng)絡(luò)適配器,并按相反的過程使 A用戶的語音在 B 用戶的音箱播放出來,從圖 41 可以看出,時延 Tdelay,由以下幾部分組成: 圖 41 包交換模型 T1A 聲卡轉(zhuǎn)換聲音的時間 T2A 聲卡 獲得的數(shù)據(jù)向內(nèi)存寫占用的時間 T3A 寫入到 Winsock 發(fā)送緩沖區(qū)占用的時間 T4A Winsock 發(fā)送緩沖區(qū)發(fā)出數(shù)據(jù)占用的時間 T5A 為介質(zhì)訪問控制的訪問延遲及發(fā)送時間的和 T4B+T5B 網(wǎng)絡(luò)適配器收到數(shù)據(jù)包井將之寫入到 Winsock 緩沖區(qū)的時間 T6 傳播延遲 27 T3B 寫入播放緩沖區(qū)的時間 T2B 接受緩沖區(qū)到聲卡的時間 T39。但隨之而來的是時延問題,下面來分析包交換方式下的時延情況。以此為基礎(chǔ),我們對算法、程序?qū)⒆鼍唧w的探討與設(shè)計。 本章小結(jié) 本章對語音傳輸系統(tǒng)的設(shè)計做了具體的介紹,主要就是服務(wù)器 \客戶端之間是如何進行語音的傳輸識別的。 23 Y 有連接 A 的請求? 初始化音頻設(shè)備 及 W in s o c k 控件 開始監(jiān)聽 W in s o c k 連接 A 建立連接 A 通過 A 獲得對方 IP 地址 發(fā)送連接 B 的請求 B 請求建立成功? 確定雙方建立好連接 開始通信,并顯示狀態(tài) 按語音流程發(fā)送、 接受播放語音 通話結(jié)束,關(guān)閉連接 若發(fā)生錯誤 關(guān)閉連接,結(jié)束通話,并給出相應(yīng)提示,讓用戶進行處理 語音交互流程 結(jié)束 N Y N Y 圖 45 語音交互的流程 24 圖 46至圖 48是該系統(tǒng)實現(xiàn)的一些算法流程和程序流程:語音交互的算法流程 ,音頻設(shè)備初始化程序流程 , Winsock 接收程序流程。并且加入了連接錯誤處理程序,對發(fā)生的錯誤進行相應(yīng)處理。 服務(wù)器端 錄音系統(tǒng) 開始錄音 停止錄音 保存語音文 件 圖 10 服務(wù)器端系統(tǒng)組成 放音系統(tǒng) 打開文件 播放語音 顯示波形 連接 開始監(jiān)聽 斷開連接 音量調(diào)節(jié) 話筒音量調(diào)節(jié) 主音量調(diào)節(jié) 時間顯示 圖 44 服務(wù)器端系統(tǒng)組成 其中 ,要實現(xiàn)雙方的語音 交互 ,首先要建立可靠的連接 ,此處使用 Winsock 控件建立 2 個基于 TCP/IP 的連接 ,每個連接的數(shù)據(jù)傳輸都是單向的 ,即使用 2 個信道實現(xiàn)全雙工通信。同時,基于 DirectX 控件,可方便實現(xiàn)聲音的錄制、播放,故該服務(wù)器端也具有錄音和放音功能,相當于簡單的錄音機程序。同時向客戶端發(fā)起 B連接,等待客戶端接受連接。雙方通信過程如圖 43 所示。如此反復(fù)使得通信雙方都能聽到對方的連續(xù)語音,但要注意,此時的通信是準實時的,即雙方聽到的聲音都是延時 1s 后的聲音,也就是說聽到聲音是前 1s 對方說的話。接收端接收到一秒鐘的語音數(shù)據(jù)后,解壓后開始播放。如圖 42所示。服務(wù)器端的數(shù)據(jù)庫服務(wù) 器主要提供數(shù)據(jù)存儲功能,也可通過觸發(fā)器和存儲過程提供部分應(yīng)用邏輯。其簡單圖示如圖 41: 20 請求 C l i e nt S e r ve r 回答 圖 41 兩層 C/S結(jié)構(gòu)圖 其基本工作原理是,客戶程序向數(shù)據(jù)服務(wù)器發(fā)送 SQL 請求,服務(wù)器返回數(shù)據(jù)和結(jié)果。 兩層 C/S 結(jié)構(gòu) 簡介 20 世紀 80 年代,隨著人們對友好的人機界面的追求以及微機技術(shù)、網(wǎng)絡(luò)技術(shù)的快速發(fā)展和成熟, C/S 結(jié)構(gòu)應(yīng)用逐漸普及。 C/S軟件體系結(jié)構(gòu) 根據(jù)層次的不同又分為 兩層 C/S結(jié)構(gòu) 和三層 C/S結(jié)構(gòu)。在 C/S 結(jié)構(gòu)下,一個或更多個客戶機和一個或更多個服務(wù)器,以及下層的硬件網(wǎng)絡(luò)、操作系統(tǒng)和支撐平臺進程間通信系統(tǒng),共同組成一個支持分布式計算、分析和表示的系統(tǒng),在該模式下,應(yīng)用分為前端的客戶部分和后端的服務(wù)器部分。 [5] 近年來,客戶 /服務(wù)器 (Client/Sever, C/S)體系結(jié)構(gòu)在分布式系統(tǒng)中得到了廣泛的應(yīng)用。設(shè)計方案中本程序?qū)⑹褂脙蓚€分立的應(yīng)用程序,分別作為客戶端和服務(wù)器端。下面我們將就語音傳輸系統(tǒng)做具體的設(shè)計。 同時也大致介紹了 DirectSound 的特性及使用。 本章小結(jié) 本章討論了語音處理的一些技術(shù),主要是 Direct 技術(shù)。對錄音以及放音緩沖區(qū)內(nèi)容使用后,釋放使用的內(nèi)存單元 。打開相應(yīng)的設(shè)備后,我們必須為相應(yīng)的錄音或放音設(shè)備準備相應(yīng)的數(shù)據(jù)結(jié)構(gòu) 。 首先我們必須檢查設(shè)備的能力,看該 設(shè)備所具有的聲音處理能力 。 ,利用通告事件獲得信息 。 ,設(shè)置數(shù)據(jù)格式 。 DirectSound對象,釋放緩沖區(qū)。 3 設(shè)立緩沖區(qū)回放位置通告事件 。 聲音回放 的一般步驟是 : DirectSound對象 。 . 設(shè)置主緩沖區(qū)格式 . 生成緩沖區(qū)對象 . 填充并播放緩沖區(qū)對象 期間涉及到緩沖區(qū)的加鎖、解鎖、聲音播放提醒 (Notify)等內(nèi)容。 DirectSound 使用 DirectSound的使用步驟如下 : . 枚舉輸出設(shè)備 用于尋找可用的硬件驅(qū)動程序并返回驅(qū)動程序信息。 .支持屬性設(shè)置,利用硬件的新特性而不改變 API函數(shù)。 DirectX HAL 硬件 HEL 17 .聲音重現(xiàn)延遲時間短。以下是它優(yōu)于Win32多媒體 API函數(shù)的關(guān)鍵領(lǐng)域 : .當硬件空閑時自動啟用硬件加速。例如,當 Intel推出 MMX技術(shù)之后, DirectX馬上實現(xiàn)了對它的支持,這樣,用 DirectX開發(fā)的多媒體程序都能自動地利用 MMX技術(shù),使程序運行得更快。如果硬件不支持某項功能,那么與其等價的某 HEL命令將會被調(diào)用 .如圖所示, HAL層包圍了硬件層,而 HEL層則為程序開發(fā)人員提供了一組必要的、互相獨立的接口。當 DirectX對象創(chuàng)建時,它會查詢硬件并把參數(shù)添入“兼容表”。 DirectX的目的是使這一延遲盡可能的短 . 底層接口 ,只有實用底層接口才能夠使軟件開發(fā)者自由地操縱硬件,發(fā)揮他 們的創(chuàng)造性,將五彩繽紛的多媒體世界展現(xiàn)給人們。 最短延遲 ,Windows是一個高層的操作系統(tǒng),它能抽象地使軟件從特定的運行環(huán)境中獨立出來。如果硬件提供特定的功能,比如內(nèi)存的移動, DirectX將首先執(zhí)行這一操作,然后立即返回執(zhí)行下一條指令。在這方面需要硬件廠商的大力協(xié)助。 ⑥ Direct Setup 自動安裝 DirectX驅(qū)動程序。 ④ DirectPlay 為多人游戲軟件提供了消息服務(wù),同時還提供啟動和組織多人游戲的功能。它是Direct3D和 DirectShow的基礎(chǔ)。 15 DirectX使 Windows應(yīng)用程序開發(fā)人員能夠直接訪問硬件設(shè)備,又不破壞 Windows的設(shè)備獨立性 。 Direct 技術(shù) DirectX是 Windows下圖形、聲音、輸入和網(wǎng)絡(luò)、游戲等應(yīng)用程序開發(fā)的借口。當我們不斷將此內(nèi)存塊中的聲音數(shù)據(jù)傳向遠端計算機時,而遠端計算機在收到數(shù)據(jù)時就回放,這樣就形成了一個簡單的聲音實時通信的功能利用 DirectX技術(shù)中的 Direct Sound Capture對象來完成對聲音的捕獲, Direct Sound進行聲音的播放。即我們并沒有把聲音形成相應(yīng)的文件方式,而是把采集到的聲音放到內(nèi)存中,形成一種類似流的存儲單元。第二種方法是采用 Windows提供的低級音頻服務(wù),使用低級音頻函數(shù)使應(yīng)用程序與音頻設(shè)備驅(qū)動程序直接通信的方式。程序設(shè)計人員在編寫程序時,可以不考慮硬件設(shè)備而把它當作一個標準的 MCI設(shè)備即可。 14 第三章 關(guān)于語音的處理 聲音的采集 Windows通過高級音頻函數(shù),媒體控制接口 MCI( Media Control Interface)設(shè)備驅(qū)動程序、低級音頻函數(shù)、 MIDI Mapper以及低級音頻設(shè)備驅(qū)動提供了音頻服務(wù) .對于聲音的采集以及回放,可以分別有兩種相應(yīng)的方法。 本章小結(jié) 本章敘述了 現(xiàn)代通信網(wǎng)絡(luò)的基本知識 ,發(fā)展方向 ,分類情況等 ,同時也介紹了一些十分重要的通信協(xié)議以及各自的用途 ,有了這些基本的知識理論我們將可以更好的進行語音處理的研究。如 : 、文本等對誤碼不敏感,一般不需要誤碼重傳機制來保證聲音數(shù)據(jù)的準確率 。這實際上浪費了大量的時間, UDP就是為使用這種方式的應(yīng)用程序開發(fā)的。大腦可能自動補上了。例如在聽 CD時,某 CD凹槽落入了灰塵。不帶保證性的包傳送不僅能夠傳送更多的數(shù)據(jù),而且重發(fā)包也是沒有意義的。因此,UDP非常適用于廣播、網(wǎng)絡(luò)通告或?qū)崟r數(shù)據(jù)傳送。只需要源端口,目標端口,數(shù)據(jù)長度,頭校驗和數(shù)據(jù)。 UDP數(shù)據(jù)報不需要同步參數(shù)或優(yōu)先選項。由于 UDP不要求在 計算機間建立會話,它不能保證包被正確發(fā)送,當包丟失時,也不保證重新發(fā)送。該協(xié)議是基于非連接的協(xié)議,在數(shù)據(jù)傳送前不需在兩臺計算機之間建立會話??蛻舴?wù)器模式的建立基于以下兩點 : 一、建立網(wǎng)絡(luò)的起因是網(wǎng)絡(luò)中軟硬件資源、運算能力和信 息不均等,需要共享,從而造就擁有眾多資源的主機提供服務(wù),資源較少的客戶請求服務(wù)這一
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1