• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于web3d智能交互技術(shù)應(yīng)用研究

      2012-04-29 23:23:00陳宇玲向卓元
      電腦知識(shí)與技術(shù) 2012年21期

      陳宇玲 向卓元

      關(guān)鍵詞:Vrml;場(chǎng)景交互;語(yǔ)音交互

      中圖分類號(hào):TP393文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2012)21-5172-02

      Applied Research Based on Web3d Interactive Technology

      CHEN Yu-ling, XIANG Zhuo-yuan

      (School of Information and Safty Engineering,Zhongnan University of Economics and Law,Wuhan 430000,China)

      Abatract: Use VRML combined with JavaScript to construct and change 3d scene, Use Java speech API and speech engine to realize voice interaction. The two points make it that web interaction can simulate real communication, and be more real, convenient.

      Key words: Vrml; scene interaction; speech interaction

      隨著互聯(lián)網(wǎng)和軟件的不斷發(fā)展和對(duì)人們工作和生活的不斷滲透,產(chǎn)生了對(duì)各種智能交互系統(tǒng)的需求,在工作和生活中的各種信息查詢、檢索和信息分析和指導(dǎo)、以及智能輔助和決策系統(tǒng)中,都有這種需求。充分發(fā)揮網(wǎng)絡(luò)的沒有時(shí)空限制、受眾廣泛、數(shù)據(jù)信息量大,將數(shù)字展覽融入到3D虛擬社區(qū)的架構(gòu)上,使得虛擬社區(qū)能像真實(shí)環(huán)境一樣有效、有趣。

      1 3D場(chǎng)景技術(shù)

      1.1 vrml場(chǎng)景創(chuàng)建

      VRML(Virtual Reality Modeling Language)即虛擬現(xiàn)實(shí)建模語(yǔ)言,是一種用于建立真實(shí)世界的場(chǎng)景模型或人們虛構(gòu)的三維世界的場(chǎng)景建模語(yǔ)言,也具有平臺(tái)無(wú)關(guān)性。VRML的對(duì)象稱為結(jié)點(diǎn),子結(jié)點(diǎn)的集合可以構(gòu)成復(fù)雜的景物。結(jié)點(diǎn)可以通過(guò)實(shí)例得到復(fù)用,對(duì)它們賦以名字,進(jìn)行定義后,即可建立動(dòng)態(tài)的VR(虛擬世界)。為了構(gòu)建真實(shí)精細(xì)的3d場(chǎng)景,可以采用3dmax輔助建模后導(dǎo)出為vrml語(yǔ)言,繼續(xù)用vrml語(yǔ)言進(jìn)行更改完善。

      1.2場(chǎng)景交互

      VRML不同于其他虛擬技術(shù)的一大特點(diǎn)就是其有著很好的交互性。VRML的交互方法主要分為三類,一類是通過(guò)VRML內(nèi)部的Script節(jié)點(diǎn)與其他高級(jí)語(yǔ)言編寫的腳本程序、VRML事件以及各種感應(yīng)器配合進(jìn)行交互,這種方法的交互能力有限,只能做一些簡(jiǎn)單交互,不能提供豐富的交互手段。另一種就是通過(guò)利用JAVA APPLET調(diào)用EAI(External Authoring Interface)進(jìn)行交互。還有一種是通過(guò)HTML語(yǔ)言中的JavaScript腳本直接改變VRML中節(jié)點(diǎn)屬性值從而達(dá)到交互的目的,這種交互方法適用范圍很大,能夠設(shè)計(jì)出豐富的交互界面[3]。本此研究主要采用第三種方法,用法方便簡(jiǎn)單,如下:

      設(shè)置場(chǎng)景屬性:document.CC3D.setNodeEventIn(node,field, value);獲取場(chǎng)景屬性:document.CC3D.getNodeEventOut(node,field);

      2語(yǔ)音交互技術(shù)

      2.1簡(jiǎn)介

      Java Speech API是一套語(yǔ)音技術(shù)接口規(guī)范,包含三方面的內(nèi)容:語(yǔ)音引擎中心、語(yǔ)音識(shí)別引擎和語(yǔ)音合成引擎,組織成三個(gè)包:javax.speech,javax.speech.recognition和javax.speech.synthesis,允許開發(fā)人員將語(yǔ)音技術(shù)整合到Java applet和應(yīng)用程序的用戶界面中。但JSAPl只提供了接口標(biāo)準(zhǔn),不同開發(fā)者實(shí)現(xiàn)該接口時(shí),使用的方法會(huì)各不相同[2]。例如可以運(yùn)用cloudgarden的cgjsapi實(shí)現(xiàn)。

      2.2語(yǔ)音合成

      JSAPI語(yǔ)音合成引擎具有基本功能如下:1)合別器模式和屬性:從JSAPI引擎中心繼承而來(lái),確定要?jiǎng)?chuàng)建識(shí)別引擎的更具體的模式和屬性;2)合別結(jié)果:對(duì)識(shí)別器處理完語(yǔ)音輸入后給出的結(jié)果進(jìn)行管理;3)異?;蝈e(cuò)誤處理。

      EngineList syns = Central.availableSynthesizers(null);

      final SynthesizerModeDesc desc = (SynthesizerModeDesc)syns.elementAt(2);

      Voice[] vcs = desc.getVoices();

      Voice vc= vcs[0];

      synth = Central.createSynthesizer(desc;); synth.allocate(); synth.waitEngineState(synth.ALLOCATED); synth.getSynthesizerProperties().setVoice(v);

      2.3語(yǔ)音識(shí)別

      JSAPI語(yǔ)音識(shí)別引擎具有基本功能如下[2]:1)識(shí)別器模式和屬性:從JSAPI引擎中心繼承而來(lái),確定要?jiǎng)?chuàng)建識(shí)別引擎的更具體的模式和屬性;2)識(shí)別語(yǔ)法:限定語(yǔ)音表達(dá)方式的詞匯和句式,語(yǔ)法有規(guī)則名稱和標(biāo)識(shí)。標(biāo)識(shí)可以分組或選擇??梢允褂猛獠空Z(yǔ)法規(guī)則文件或者內(nèi)部語(yǔ)法規(guī)則設(shè)置;3)識(shí)別結(jié)果:對(duì)識(shí)別器處理完語(yǔ)音輸入后給出的結(jié)果進(jìn)行管理;4)異?;蝈e(cuò)誤處理。例子代碼如下:

      grammar robot;

      public = ([ Good ] Bye) | So long {bye};

      ……

      EngineList ryns = Central.availableRecognizers(null);

      final RecognizerModeDesc rdesc = (RecognizerModeDesc)ryns.elementAt(0);

      rec = Central.createRecognizer(rdesc);

      rec.allocate();

      rec.waitEngineState(Recognizer.ALLOCATED);

      rec.addResultListener(new ResultAdapter(){

      public void resultAccepted(ResultEvent et) {//識(shí)別后的處理程序

      FinalRuleResult result =(FinalRuleResult)re.getSource();

      String[] tags = result.getTags();

      System.out.println("First tag was :" +tags[0]); }};

      3工程實(shí)例

      3.1系統(tǒng)功能

      在采用Java EE+MySql架構(gòu)的基礎(chǔ)上運(yùn)用web的3d智能交互技術(shù)構(gòu)建一個(gè)與虛擬人交互的系統(tǒng)——基于web的3d智能虛擬人。該系統(tǒng)中的3D智能虛擬人可以與用戶簡(jiǎn)單對(duì)話,并根據(jù)語(yǔ)音指令或文字指令做各種操作,回答各種資訊并且能根據(jù)問(wèn)題的內(nèi)容做出相應(yīng)的表情和動(dòng)作。

      3.2系統(tǒng)關(guān)鍵流程

      與場(chǎng)景中的虛擬卡通交流采用語(yǔ)音交互技術(shù)實(shí)現(xiàn),虛擬卡通在場(chǎng)景中走動(dòng),場(chǎng)景智能化變動(dòng)或場(chǎng)景自定義設(shè)置則是采用Vrml語(yǔ)言實(shí)現(xiàn)的。場(chǎng)景變動(dòng)和語(yǔ)音交互要協(xié)調(diào)同步,所以系統(tǒng)交互大概框架流程圖如圖2。

      4結(jié)束語(yǔ)

      該文主要介紹了web3d智能交互技術(shù)——基于vrml語(yǔ)言的場(chǎng)景交互技術(shù)和基于JSAPI的語(yǔ)音交互技術(shù)。Vrml具有可交互性,支持多媒體,節(jié)省網(wǎng)絡(luò)帶寬等特點(diǎn),非常適合開發(fā)三維網(wǎng)上應(yīng)用程序。但由于自身的局限性需要用3dmax輔助。對(duì)于JSAPI,隨著Java技術(shù)的廣泛應(yīng)用和語(yǔ)音技術(shù)的不斷發(fā)展,加之JSAPI自身的完善、簡(jiǎn)單易用、定義的嚴(yán)密、概括等特點(diǎn),JSAPI將廣為Java語(yǔ)音技術(shù)開發(fā)者所采用。

      參考文獻(xiàn):

      [1]倪素萍,董濱,趙慶衛(wèi),顏永紅.基于Java Speech API規(guī)范的語(yǔ)音識(shí)別引擎的實(shí)現(xiàn)[J].微計(jì)算機(jī)應(yīng)用,2006,2(2).

      [2]李健,萬(wàn)群生.VRML交互研究與基于H-Animation人體骨架的個(gè)性化定制[DB/OL].(2012-06-19).http://www.ahcit.com/lanmuyd.asp id=2493.

      宁陵县| 千阳县| 屏南县| 新郑市| 汉源县| 六盘水市| 孟津县| 息烽县| 化德县| 阳春市| 德庆县| 安新县| 阳春市| 略阳县| 青州市| 卓尼县| 桦川县| 仁化县| 南江县| 墨玉县| 铜鼓县| 本溪| 武邑县| 城市| 怀来县| 青浦区| 松阳县| 敦化市| 肇庆市| 大余县| 南康市| 友谊县| 昭通市| 博爱县| 通州区| 武夷山市| 丰顺县| 渭源县| 唐山市| 象州县| 易门县|