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

正文內容

基于網絡的語音傳輸系統(tǒng)畢業(yè)設計-資料下載頁

2025-02-26 12:09本頁面

【導讀】始向話音通信等傳統(tǒng)業(yè)務延伸。由于Inter技術上的先進性,它可以以更低。廉的價格提供話音服務,尤其是長途電話服務。未來的語音通信必定會統(tǒng)一到。進行了探討,討論基于分組交換技術的語音連續(xù)傳輸問題。作為開發(fā)工具,開發(fā)出基于TCP/IP網絡的語音實時交互系統(tǒng)。實驗結果表明,在網絡傳輸時延小,傳輸質量良好的條件下,該系統(tǒng)進行語。音交互時語音清晰,雜聲小,語音質量基本令人滿意。通過大量測試比較發(fā)現該。系統(tǒng)具有一定實用性。

  

【正文】 題,下面來分析包交換方式下的時延情況。 圖 41為 A與 B語音通訊時包交換方式的模型圖。 A用戶的話音,首先經過聲卡變?yōu)閿底至坎⒋娣庞谟嬎銠C的發(fā)送緩存,當發(fā)送緩存滿后,寫到 Winsock發(fā)送緩沖區(qū),通過網絡適配器將數據發(fā)送到 B 用戶的網絡適配器,并按相反的過程使 A用戶的語音在 B 用戶的音箱播放出來,從圖 41 可以看出,時延 Tdelay,由以下幾部分組成: 圖 41 包交換模型 T1A 聲卡轉換聲音的時間 T2A 聲卡 獲得的數據向內存寫占用的時間 T3A 寫入到 Winsock 發(fā)送緩沖區(qū)占用的時間 T4A Winsock 發(fā)送緩沖區(qū)發(fā)出數據占用的時間 T5A 為介質訪問控制的訪問延遲及發(fā)送時間的和 T4B+T5B 網絡適配器收到數據包井將之寫入到 Winsock 緩沖區(qū)的時間 T6 傳播延遲 27 T3B 寫入播放緩沖區(qū)的時間 T2B 接受緩沖區(qū)到聲卡的時間 T39。1B 由數據變?yōu)槁曇舻臅r間 Tdelay=T1A+T2A+T3A+T4A+T5A+T6+T5B+T4B+T3B+T2B+T39。1B 為減少 Tdelay,必須使上式中的 右邊的每一項都盡可能減到最小, T39。1A、 T1A取決于聲卡; T2A、 T3A 都是存儲器間的數據傳輸,所以值較??; T4A要經過從內存到網卡再到網線的過程,所以其值要在毫秒數量級; T5A中的訪問延遲取決干介質訪問控制的方法及信道的擁擠程度,本系統(tǒng)采用 CSMA/ CD(載波監(jiān)聽、沖突檢測)方法,若信道過于擁擠, T5A 增加,反之減小,但在局域網情況下,該值幾乎為零,在廣域網情況下,該值較大; T6 與傳播途徑有關,局域網的話音傳輸不受 T6 影響,在廣域網上,傳播路徑較為復雜,經過的結點較多,每個結點均會引起時延, T6 成為 話音傳輸的主要影響因素。盡管 T1A,T2A,T39。1A,T3A值都較小,但是由干通話的過程是雙向的,即不僅有發(fā)送數據包,而且還要有接收數據包,如果發(fā)送與接收不能同時進行,勢必增加時延,而且不能做到雙工,從圖 1可以看出,要想減少時延,實現全雙工,必須: ,即可以同時錄、放音; ; Winsock 套接字,一個為發(fā)送套接字,另一為接收套接字; ; ; 基于以上 5點,提出了以下技術。 輸中的技術問題的實現 采用全雙工聲卡 選用的聲卡有兩個中斷,兩個 DMA 通道。在對該聲卡編程時,初始化放音設備及錄音設備。程序段如下: 39。創(chuàng)建 direct 的捕捉緩沖 28 Set directx = New DirectX7 Set directs = (vbNullString) Set directsc = (vbNullString) 39。初始化 direct 的捕捉緩沖 , DSSCL_PRIORITY 39。初始化 Waveformat = WAVE_FORMAT_PCM = 1 = 11025 = 8 = * 8 / 8 = * = 0 39。初始化 Capturebuffer = capturewave = * 20 = DSCBCAPS_WAVEMAPPED 39。創(chuàng)建 Capturebuffer Set directscb = (directscd) 雙套接字技術 根據聲音、圖像的網絡傳輸要求,選用 TCP/ IP 協(xié)議。相應地,選用了數據報套接字。 為了實現全雙工通信,采用了雙套接字技術:建立兩個套接字,端口分別是1000,1001 分別用于語音的發(fā)送和接收。相應地,建立發(fā)送套接字緩沖區(qū)和接收套接字緩沖區(qū)。 29 Winsock 套接字的部分事件處理模塊 : 39。連接請求程序段 Private Sub tcpServer_ConnectionRequest(ByVal requestID As Long) If sckClosed Then requestID End Sub 39。數據接收程序段 Private Sub tcpServer_DataArrival(ByVal bytesTotal As Long) If f = True Then f = False = True End If If n = 0 Then ReDim Preserve SoundByteBuffer8_0(Y + bytesTotal) For i = Y To Y + bytesTotal 1 SoundByteBuffer8_0(i), vbByte Next i Y = Y + bytesTotal length0 = Y Else ReDim Preserve SoundByteBuffer8_1(Y + bytesTotal) For i = Y To Y + bytesTotal 1 SoundByteBuffer8_1(i), vbByte Next i Y = Y + bytesTotal length1 = Y End If 30 End Sub 采用雙緩沖區(qū)實現的語音的記錄與播放 為了保證連續(xù)錄音和播放波形音頻數據時數據不丟失,采用了雙緩沖區(qū)(SoundByteBuffer8_0()和 SoundByteBuffer8_1())技術,交錯地用來接收語音數據播放: 部分程序段如下 : If n = 0 Then = length0 * Else = length1 * End If = DSBCAPS_CTRLVOLUME Or DSBCAPS_STATIC Set directsb = (directsd, ) If n = 0 Then 0, length0, SoundByteBuffer8_0(0), _ DSBLOCK_DEFAULT Else 0, length1, SoundByteBuffer8_1(0), _ DSBLOCK_DEFAULT End If Y = 0 If n = 0 Then n = 1 Else n = 0 31 End If 0 DSBPLAY_DEFAULT 下面通過具體實例來說明這個系統(tǒng)的實現結果:先打開服務器端,并開始監(jiān)聽,如圖 51 所示: 圖 51 程序界面 然后打開客戶端,點擊連接按鈕,打開連接窗體,如圖 52 所示: 圖 52 連接界面 32 在目的地址處填入對方的 IP 地址(假設為 ),然后點擊連接,出現如圖 53 所示: 圖 53 連接成功 且在服務器端會顯示出相應的連接信息,如圖 54 所示: 圖 54 連接狀態(tài) 這時雙方就可以進行語音通信了,同時在聲音時間處顯示通話是時間。 該系統(tǒng)在 100M 局域網內,使用計算機為 P3 800, 128M 內存的情況下測試,語音清晰,雜聲小,語音質量基本令人滿意。 如此時出現連接錯誤,如網絡出現故障,無法傳輸數據時,會出現提示,然 33 后由用戶處理。如圖 55所示: 圖 55 連接斷開 本章小結 這一章我門具體實施了我們的程序,模擬了語音的傳輸和識別,得到了以上的截圖。并獲得了成功。 34 第六章 總結 小結 通過這次畢業(yè)設計,我學到了很多東西。 首先,在此次畢業(yè)設計的過程中,我通過查閱相關資料,了解了使用網絡來傳輸語音的必要性,在傳輸過程中需要解決 的一些問題、相關的協(xié)議標準和實現的方法,以及目前國際上對網絡傳輸語音的研究現狀、發(fā)展及趨勢。另外,通過動手設計實現一個語音交互系統(tǒng),我對數字語音通信的過程有了深刻的了解,也掌握了通過以有的編程控件實現語音傳輸的方法,如數字語音傳輸中的時延的分析,基于 TCP/IP 協(xié)議的連接的建立,以及聲音的采集,編碼,傳輸等。隨著網絡技術的發(fā)展,語音通信技術的完善,基于網絡的語音傳輸技術的應用范圍將越來越廣。所以,能夠學到這些實用的知識,對于我將來的發(fā)展具有很大的幫助。 其次,在實現這個應用程序的同時,我對 Visual 這個編程工具有了一定的掌握,特別是對于一些W indows 中的 API 函數以及一些控件的用法和功能有了一定的了解,現在我已經可以較熟練的使用 Visual 編制一些應用程序。另外,我對所使用 Matlab 工具也有了相應的了解,基本掌握了 Matlab的一些應用。同時,在開發(fā)該系統(tǒng)的過程中,我碰到了很多的問題,不管是程序上的還是算法上的,最終在指導老師的幫助下,我都一一解決了這些問題。 展望 這個語音交互系統(tǒng)是基于 TCP/IP 協(xié)議并利用 Winsock 套接字設計的,設計、實現及測試時 都是基于100M局域網,這就使得所得到的語音清晰、基本無延遲的結果都是在良好的網絡環(huán)境下得到的,如果應用在網絡條件復雜的廣域網時可能會出現問題,但這時可以通過適當修改算法、緩沖區(qū)大小以及降低聲音的采樣頻率得到改善。但由于條件限制,故此次未將其應用擴展到廣域網中。另外,在操作上還不是很完善,比如雙方在通信前必須預先知道將要進行通信,使服務 35 器處于監(jiān)聽狀態(tài),而不象普通電話一樣,可以通過振鈴等方式通知對方。這是與其所使用的原理有關,需要進一步的研究。另外由于時間的限制,未實現多方的同時通話,而這可以通過套接字數組建 立多個連接,并使用 DirectxSound 的混音功能實現。 36 致謝 37 參考文獻 [1] 黃永峰 . 因特網語音通信技術及其應用 . 北京 人民郵電出版社 ,2021 [2] (美 )Behrouz Forouzan[福羅森 ],Catherine Coombs[庫波斯 ],Sophia Chung Fegan[范肯 ].數據通信與網絡 .北京 北京大學出版社 , 2021 [3] 遲偉雅 . 網絡發(fā)展過程的回顧 . 世界科學技術 ,2021( 2): 2122 [4] 朱春喜,吳佳鮮 . DirectX 5/6 高級多媒體程序開發(fā) . 北京 北京航空航天大學出版社 ,1999 [5] (美 )[ ]Brian Siler, (美 )[ ]Jeff Spotts . Visual Basic 6開發(fā)使用手冊 . 北京 機械工業(yè)出版社 ,1999 [6] 劉軼 . Inter上的應用 . 微型電腦應用 ,1999(10):2931 [7] 杜娟 鄧德祥 . 編譯碼算法的 DSP 實現 .通信技術與設備,2021(4 ): 2426 38 附錄:程序代碼 Option Explicit Dim CNT As Integer 39。錄音時間計數器 Dim wavefilename As String 39。被打開的 wave 文件名 Dim menuRecwave_flag As Boolean 39。按鈕是否被按過的標志 Dim menuPlaywave_flag As Boolean Dim menuconnect_flag As Boolean Dim ByteBuffer() As Byte 39。存放由 directsoundbuffer 提取的數據 Dim Wavefile As String 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。拖動窗體的 API Private Declare Function SendMessage Lib user32 Alias SendMessageA (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Const HTCAPTION = 2 Private Declare Function ReleaseCapture Lib user32 () As Long Private Const WM_NCLBUTTONDOWN = amp。HA1 Private Const MMSYSERR_NOERROR = 0 Private Sub Form_Load() 39。創(chuàng)建 direct 的捕捉緩沖 Set directx = New DirectX7 Set directs = (vbNullString) Set directsc = (vbNullString) 39。初始化 direct 的捕捉緩沖 InitCapture Y = 0 = 1000 = False f = Tr
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1