999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于LabVIEW實現網絡語音通信

2015-04-29 00:00:00楊海明馬志強龔松顯李悅
電子產品世界 2015年7期

摘要:為了實現虛擬儀器的遠程網絡語音通信,依托LabVIEW強大的網絡通信能力,采用NI公司開發的基于TCP/IP協議的DataSocket技術,編程實現遠程語音數據的點對點傳輸。用此技術可以很大程度上簡化甚至免除網絡通訊編程,可以很容易在網絡上實現高速語音數據傳遞。本文網絡版地址:http:∥www.eepw.com.cn/article/276360.htm

關鍵詞:DataSocket;語音通信;LabVIEW

DOI:10.3969/j.issn.1005-5517.2015.6.013

引言

LabVIEW具有強大的信號采集功能和網絡通信功能,這些功能使得LabVIEW的用戶可以很容易編寫出具有強大網絡通訊能力的LabVIEW應用軟件,實現遠程虛擬儀器。為了將人的語音或某個地點現場的聲音信號遠傳,可以依托LabVIEW這些功能,將聯網計算機聲卡上采集的語音信號,進行遠程語音數據的點對點傳輸。應用環境的網絡拓撲圖,如圖1所示。

1 利用DataSocket技術傳輸語音

LabVIEW實現網絡通信有3大類方法:(1)使用網絡通信協議編程實現網絡通信,可以使用的通信協議類型包括TCP/IP協議、UDP、串口通信協議等;(2)使用基于TCP/IP的數據傳輸協議DSTP的JDataSocket技術實現網絡通信;(3)使用共享變量實現網絡通信。由于網絡語音通信要求實時性強。本文采用第二種方法即DataSocket技術實現網絡語音通信。

DataSocket是NI公司提供的一種實時數據傳輸技術,可用于一個計算機內或網絡中多個應用程序之間的數據交換,是專門面向測量和自動化工程的網絡實時高速數據交換的編程技術。DataSocket克服了傳統TCP/IP傳輸協議需要較為復雜的底層編程、傳輸速率較慢(特別是對動態數據)等缺點,大大簡化了實時數據傳輸問題,它提供了一種易用、高效、可編程的軟件接口,能夠很方便地實現網絡上的多臺計算機之間的實時數據交換。

DataSocket包括了DataSocketServer Manager、DataSocket Server和DataSocket函數庫這幾個工具軟件,以及DSTP(DataSocket transferprotocol,DataSocket傳輸協議)、URL(uniform resource locator,通用資源定位符)和文件格式等技術規范。在LabVIEW中,用戶可以很方便地使用這些工具來實現遠程數據采集。

語音傳輸程序用到以下兩個DataSocketⅥ:

(1)讀取DataSocket函數(ReadDataSocket.vi):該節點用于從打開的URL連接中讀取數據。

(2)寫入DataSocket函數(WriteDataSocket.vi):該節點用于向打開的URL連接中寫入數據。這里的數據可以是單個或數組形式的字符串、邏輯(布爾)量和數值量等多種類型。

2 語音采集

利用聲卡采集語音信號實現語音信號雙聲道模擬輸入。將麥克風(話筒)插在聲卡的話筒輸入端口,并將其插入聲卡上的標記為“Mic In”的插孔中。通過該端口可以采集人的語音信號。

語音采集程序用到以下三個聲音處理相關Ⅵ:

(1)配置聲音輸入函數(SoundInput Configure.vi):利用該Ⅵ配置聲卡,并開始進行語音采集。采樣率設置為44.1kHz。通道數為2(即立體聲雙聲道輸入),每采樣比特數(即采樣位數為16位,采樣模式為連續采樣,緩存大小設置為每通道10000個樣本。

(2)讀取聲音輸入函數(SoundInput Read.vi):利用該Ⅵ從緩存中讀取數據。程序中,為了連續采集語音信號,將“讀取聲音輸入Ⅵ”放在了一個While循環中,用于從緩存中連續讀取語音數據,設置每次從每個通道中讀取樣本數為4410個。

(3)聲音輸入清零函數(Sound InputClear.vi):利用該Ⅵ停止采樣,并進行清除緩存和清除占用的內存等操作。

3 語音播放

利用聲卡輸出語音信號實現語音信號雙聲道模擬輸出。將揚聲器(喇叭)插在揚聲器輸出端口,并將其插入聲卡上的標記為“Speaker”或“SPK”的插孔中。通過該端口可以外接音箱的音頻線插頭,從而播放通過網絡傳輸過來的語音信號。

語音播放程序用到以下四個聲音處理相關Ⅵ:

(1)配置聲音輸出函數(SoundOutput Configure.vi):利用該Ⅵ配置聲卡,并開始聲音輸出。采樣率設置為44.1kHz。通道數為2(即立體聲雙聲道輸入),每采樣比特數(即采樣位數為16位,采樣模式為連續采樣,緩存大小設置為每通道10000個樣本。

(2)調用讀取聲音輸入函數(SoundInput Write.vi):該Ⅵ用于向緩存中寫入信號,本項目用來向緩存中寫入由網絡傳輸過來的語音信號。程序中,在其外邊添加一個While循環,實現連續寫入語音數據。

(3)設置聲音輸出音量函數(SoundOutput Set Volume.vi):該Ⅵ使用時串接在“設置聲音輸出音!Ⅵ”上,用于控制輸出音量大小。

(4)聲音輸出清零Ⅵ(sound OutputClear.vi):該Ⅵ用于停止輸出并執行相應的清除操作。

4 程序實現

程序采用C/S(Client/Server)模式,即客戶/服務器模式,包括一個服務器Ⅵ和一個客戶機Ⅵ。這種模型設計人員要做兩方面的開發,一是客戶端采集程序和數據遠程發布的程序的設計,另一個是客戶端數據的接收程序的設計。

程序的URL輸入端口設置數據連接網絡地址,可以使用psp、opc、ftp、http和file等通信協議傳輸數據,本程序根據寫入數據的類型及網絡配置使用dstp協議。dstp協議是LabVIEW專門為測試數據的安全快速的傳輸而設置。

(1)服務器端Ⅵ采集語音信號,并利用寫入DataSocket節點將數據發布到URL“dstp:∥127.0.0.1/TestWave”指定的位置中。服務器Ⅵ的程序框圖如圖2所示。

(2)客戶端Ⅵ,將傳輸過來的語音信號通過聲卡播放出來。客戶機Ⅵ利用讀取DataSocket節點將數據從URL“dstp:∥127.0.0.1/TestWave”捂定的位置讀出,并還原為原來的語音數據送到聲卡中。客戶端Ⅵ的程序框圖如圖3所示。

本程序的URL輸入端口地址配置為:dstp:∥127.0.0.1/TestWave,即只使用一臺電腦模擬網絡傳輸。另外,需要注意的是,在利用上述兩個Ⅵ進行DataSocket通信之前,必須首先運行DataSocket Servertsr。

5 結束語

DataSocket面向測量和網上實時高速數據交換,可用于一個計算機內或者網絡中多個應用程序之間的數據交換。使用DataSocket技術,可以更加方便地編寫出LabVIEW的遠程數據采集應用程序。所以本例利用DataSocket技術開發網絡語音通信模塊既能實現開發快速,又能實現軟件模塊的高效可靠。

主站蜘蛛池模板: 国产爽妇精品| 色综合天天操| 日韩免费毛片| 国产精品免费福利久久播放| 色婷婷天天综合在线| 中文字幕亚洲精品2页| 天天色天天综合网| 亚洲成人www| 久久久受www免费人成| 免费看一级毛片波多结衣| 国产麻豆另类AV| 日本黄网在线观看| 欧美日本在线观看| 亚洲av无码成人专区| 香蕉eeww99国产精选播放| 免费国产在线精品一区| 曰韩人妻一区二区三区| 欧美日韩福利| AV天堂资源福利在线观看| 99视频在线免费| 亚洲三级成人| 99一级毛片| 欧美日韩高清在线| 少妇人妻无码首页| 日韩精品成人在线| 成人福利视频网| 亚洲无码高清视频在线观看| 99精品免费欧美成人小视频| 无码国产伊人| 亚洲欧美日韩动漫| 在线免费无码视频| 妇女自拍偷自拍亚洲精品| 免费一极毛片| 中文字幕无线码一区| 中文字幕欧美日韩高清| 无码人中文字幕| 拍国产真实乱人偷精品| 日韩精品毛片人妻AV不卡| 无码日韩视频| 午夜精品区| 日韩精品无码免费专网站| 国产欧美日韩视频一区二区三区| 日本一区高清| 国产亚洲欧美在线专区| 亚洲第一区精品日韩在线播放| 国产亚洲精品97AA片在线播放| 99爱视频精品免视看| 久久午夜夜伦鲁鲁片不卡| 日韩高清一区 | 欧美影院久久| 永久免费无码日韩视频| 永久毛片在线播| 国产在线高清一级毛片| 99精品视频播放| 国产拍揄自揄精品视频网站| 香蕉国产精品视频| 99精品国产自在现线观看| 欧美高清国产| 福利一区在线| 美女无遮挡免费网站| 亚洲欧洲日产国码无码av喷潮| 国产欧美又粗又猛又爽老| 亚洲国产精品久久久久秋霞影院| 国产精品一区二区不卡的视频| 精品国产乱码久久久久久一区二区| 高h视频在线| 一区二区偷拍美女撒尿视频| 欧美成人看片一区二区三区| 国产一级二级在线观看| 伊人国产无码高清视频| 99re66精品视频在线观看| 精品视频福利| 欧美日韩在线成人| 欧美中文字幕在线视频| 国产欧美日韩综合一区在线播放| 中文字幕无线码一区| 中国丰满人妻无码束缚啪啪| 亚洲免费三区| 毛片基地美国正在播放亚洲| 国产又大又粗又猛又爽的视频| 成人伊人色一区二区三区| 内射人妻无码色AV天堂|