• 
    

    
    

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

      車載移動(dòng)場景下語音識(shí)別系統(tǒng)設(shè)計(jì)

      2019-10-21 11:17:15路遠(yuǎn)爭張凱亮曹興旗許武
      科學(xué)與財(cái)富 2019年31期
      關(guān)鍵詞:語音識(shí)別

      路遠(yuǎn)爭 張凱亮 曹興旗 許武

      摘 要:在汽車駕駛中,由于各種意外情況,駕駛者經(jīng)常需要去控制手機(jī)或者車內(nèi)的其它設(shè)備,這時(shí)手就會(huì)離開方向盤,這顯然給汽車安全駕駛埋下安全隱患。因此,利用智能語音識(shí)別技術(shù)來改變駕駛環(huán)境下現(xiàn)有的人機(jī)交互方式,從而解放駕駛者的雙手,有效的提高駕車安全性。本設(shè)計(jì)以Android開發(fā)平臺(tái)為基礎(chǔ),為車載環(huán)境下的用戶提供一個(gè)可以直接識(shí)別語音指令的系統(tǒng)。該系統(tǒng)主要實(shí)現(xiàn)語音識(shí)別、語音合成、查看當(dāng)前位置、導(dǎo)航、控制車輛天窗等功能。結(jié)果表明,該系統(tǒng)具有較好的識(shí)別效果,界面友好操作簡便,能夠消除一定的駕駛環(huán)境下的安全隱患。該平臺(tái)也可以作為語音云體驗(yàn)質(zhì)量測試的基礎(chǔ)平臺(tái)。

      關(guān)鍵詞:Android Studio;百度語音SDK;語音識(shí)別;語音合成

      1設(shè)計(jì)背景與意義

      服務(wù)機(jī)器人以服務(wù)為目的,但是在處理一些特定場景下的人機(jī)交互的時(shí)候,比如駕車時(shí),這時(shí)候交互就會(huì)比較困難,因?yàn)闆]法空出雙手沒法去操控機(jī)器。因此人們需要一種更方便、更自然、更加人性化的方式與機(jī)器交互,而不僅僅是復(fù)雜的鍵盤和按鈕操作?;诼犛X的人機(jī)交互是該領(lǐng)域的一個(gè)重要發(fā)展方向。語音識(shí)別技術(shù),也被稱為自動(dòng)語音識(shí)別,即讓機(jī)器通過識(shí)別把人類的語音信號(hào)轉(zhuǎn)變?yōu)橄鄳?yīng)的文本或命令的技術(shù),能讓計(jì)算機(jī)理解和運(yùn)用人類的自然語言,實(shí)現(xiàn)人機(jī)之間的自然語音通信。自動(dòng)語音識(shí)別技術(shù)所要解決的問題是就是讓計(jì)算機(jī)能夠“聽懂”人類的語言,將語言中包含的文字信息“提取”出來。

      語音識(shí)別技術(shù)是一門交叉學(xué)科 ,語音識(shí)別正逐步成為信息技術(shù)中人機(jī)交互的關(guān)鍵技術(shù),語音識(shí)別技術(shù)與語音合成技術(shù)的結(jié)合,開啟了人機(jī)交互方式的新時(shí)代,它將徹底解放用戶的雙手與眼睛,使人們能夠甩掉鍵盤,通過語音命令進(jìn)行操作。語音技術(shù)的應(yīng)用已經(jīng)成為一個(gè)具有競爭性的新興高技術(shù)產(chǎn)業(yè)。當(dāng)今,語音識(shí)別產(chǎn)品在人機(jī)交互應(yīng)用中占到越來越大的比例。不難想象,語音命令操作一定會(huì)完美替代現(xiàn)如今智能設(shè)備上最為流行的按鍵以及觸摸操作。

      如今汽車工業(yè)在不斷發(fā)展,人們的生活品質(zhì)隨著可以駕車出行有著巨大的提升,同樣的,智能車載系統(tǒng)也是人們最為看重的。隨著車載語音系統(tǒng)及各類語音識(shí)別軟件的開發(fā),語音識(shí)別開始走入人們的生活,憑借其實(shí)用性和準(zhǔn)確性得到了用戶的認(rèn)可?;ヂ?lián)網(wǎng)和移動(dòng)通訊技術(shù)的不斷發(fā)展加快了移動(dòng)APP的廣泛應(yīng)用,這意味著語音識(shí)別技術(shù)逐漸走進(jìn)了移動(dòng)APP中。本系統(tǒng)摒棄了傳統(tǒng)的、繁雜的手動(dòng)操作的累贅。系統(tǒng)旨在改變傳統(tǒng)的人機(jī)交互方式,使人們能夠在生活環(huán)境中采用更為直接便利的方式與手機(jī)對(duì)話,獲取更為便捷有效的人機(jī)交互。

      2系統(tǒng)的總體設(shè)計(jì)

      系統(tǒng)的總體功能模塊結(jié)構(gòu)如圖1所示,其中,語音識(shí)別模塊和語音合成模塊的實(shí)現(xiàn)利用的是百度語音技術(shù)服務(wù)提供的軟件開發(fā)工具包。GPS定位模塊和APP拉起模塊利用的是安卓自帶的軟件開發(fā)工具包來實(shí)現(xiàn)的。

      本次設(shè)計(jì)所采用的百度語音識(shí)別技術(shù)是通過百度語音開放平臺(tái)為廣大開發(fā)者提供精準(zhǔn)、免費(fèi)、安全、穩(wěn)定的服務(wù)。不同于以往的識(shí)別模塊,百度的語音識(shí)別技術(shù)采用的是類似神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)算法,這個(gè)算法是比目前主流語音識(shí)別系統(tǒng)更為簡單更為有效的方法,所以也大幅度的提升了識(shí)別效率。

      上傳整個(gè)錄音文件。百度語音識(shí)別要求安靜的環(huán)境,真人的正常語速的日常用語,并且不能多個(gè)人同時(shí)發(fā)音。

      以下場景講會(huì)導(dǎo)致識(shí)別效果變差:

      1)吵雜的環(huán)境;

      2)有背景音樂,包括揚(yáng)聲器在播放百度合成的語音;

      3)使用非遠(yuǎn)場語音時(shí),離麥克風(fēng)較遠(yuǎn)。

      語音識(shí)別SDK的主要輸入事件如表1所示

      其中,主要利用ASR_START 事件常用的輸入事件參數(shù)如表2所示。

      3 系統(tǒng)的功能設(shè)計(jì)與實(shí)現(xiàn)

      3.1軟件的總體設(shè)計(jì)

      軟件主要包括五個(gè)功能,分別為語音識(shí)別功能、語音合成功能、位置獲取功能、音樂播放功能以及交互功能。語音識(shí)別功能實(shí)現(xiàn)將外界的語音信息識(shí)別轉(zhuǎn)換為機(jī)器可以理解的字符序列。語音合成功能實(shí)現(xiàn)的是將語音識(shí)別的字符序列合成為語音并播放。位置獲取功能是通過手機(jī)GPS獲取當(dāng)前的位置信息并保存。音樂播放功能是啟動(dòng)新界面并自動(dòng)開始播放音樂。交互功能通過語音識(shí)別的結(jié)果,判斷外界語音的目的。例如外界語音內(nèi)容為“打開蝦米音樂”,語音識(shí)別模塊將進(jìn)行識(shí)別,并顯示識(shí)別結(jié)果“打開蝦米音樂”,語音合成模塊將會(huì)合成內(nèi)容“正在打開蝦米音樂”并且播放,同時(shí)交互模塊會(huì)啟動(dòng)手機(jī)里面的蝦米音樂APP,系統(tǒng)的總體流程圖如圖1所示。

      3.2 語音識(shí)別功能實(shí)現(xiàn)

      語音識(shí)別的實(shí)現(xiàn)首先新建事件監(jiān)聽類對(duì)象EventListener yls,并實(shí)現(xiàn)回調(diào)接口OnEvent(String name, String params, byte[] data, int offset, int length),OnEvent方法會(huì)處理識(shí)別過程中的回調(diào)事件。OnEvent方法中,name是輸出事件名,params是事件返回的JSON格式數(shù)據(jù),(data,offset, length)三者一起組成額外數(shù)據(jù)。如回調(diào)的音頻數(shù)據(jù),從data[offset]開始至data[offset + length] 結(jié)束,長度為length。

      然后需要新建一個(gè)EventManager類對(duì)象asr,并初始化EventManager對(duì)象asr,即EventManager asr =EventManagerFactory.create(this, "asr");同時(shí)為asr設(shè)置語音識(shí)別監(jiān)聽器asr.registerListener(yls)。

      事件管理器以及事件監(jiān)聽器設(shè)置完之后,開始識(shí)別只需要利用EventManager類中的send 方法發(fā)送asr_star參數(shù),即asr.send(SpeechConstant.ASR_START, json, null, 0, 0),其中json參數(shù)用來存放需要發(fā)送的識(shí)別參數(shù)。

      同樣的,停止識(shí)別與取消識(shí)別也是通過該方法實(shí)現(xiàn),代碼如下:

      asr.send(SpeechConstant.ASR_STOP,null,null,0,0);? asr.send(SpeechConstant.ASR_CANCE, null, null, 0, 0);

      開始事件發(fā)送之后,程序開始進(jìn)行語音識(shí)別,然后需要觀察回調(diào)事件中的輸出事件名,當(dāng)輸出事件名為final_result時(shí),代表著識(shí)別結(jié)束。這時(shí),識(shí)別結(jié)果就是params中的best_result數(shù)據(jù)。程序的語音識(shí)別流程圖如圖2所示。

      3.3語音合成功能實(shí)現(xiàn)

      首先新建一個(gè)SpeechSynthesizer對(duì)象mSpeechSynthesizer并設(shè)置當(dāng)前的Context。同時(shí)為mSpeechSynthesizer設(shè)置監(jiān)聽器,即? ? ?mSpeechSynthesizer.setSpeechSynthesizerListener(listener);

      回調(diào)成功后,SDK會(huì)調(diào)設(shè)置的SpeechSynthesizerListener 里的回調(diào)方法。在語音合成前,還需要進(jìn)行合成參數(shù)的設(shè)置以及合成引擎的初始化。

      百度語音合成SDK提供了兩個(gè)合成播放接口即synthesize方法和speak方法,synthesize方法只有合成功能,speak方法是在合成后立即播放,此設(shè)計(jì)選用的是speak方法。

      需要注意的是,合成的每個(gè)文本text不能超過1024的GBK字節(jié),即512個(gè)漢字或英文字母數(shù)字。超過需要按照句號(hào)問號(hào)等標(biāo)點(diǎn)切分,調(diào)用多次合成接口。在合成播放完成之后,需要釋放資源,即將mSpeechSynthesizer設(shè)為null。

      語音合成模塊的流程圖如圖3所示。

      3.4定位功能實(shí)現(xiàn)

      如果只需要一個(gè)簡單定位,Android已經(jīng)提供了兩個(gè)獲取經(jīng)緯度的方式。GPS獲取當(dāng)前位置和網(wǎng)絡(luò)定位獲取當(dāng)前位置。相對(duì)來說,GPS準(zhǔn)確度高但耗電多,網(wǎng)絡(luò)定位耗電少但準(zhǔn)確度低。通過GPS芯片接收衛(wèi)星的定位信息,定位精度達(dá)10米以內(nèi),因此本次開發(fā)選擇的是GPS獲取當(dāng)前位置。

      要利用GPS獲取位置信息首先需要在AndroidMainfest.xml中添加一個(gè)權(quán)限,即

      該權(quán)限是允許程序訪問精良位置(如GPS)。然后編寫beginLocatioon()方法用來獲取位置信息。具體實(shí)現(xiàn)流程如圖4所示。

      3.5交互功能實(shí)現(xiàn)

      交互功能實(shí)現(xiàn)的是判斷語音識(shí)別內(nèi)容,然后執(zhí)行語音命令,比如打開高德地圖,本軟件就會(huì)自動(dòng)拉起高德地圖APP。此次是利用包名,特定Activity名拉起方式。具體代碼如下:

      Intent it=new Intent();//交互功能的實(shí)現(xiàn)

      ComponentName cn = new ComponentName("com.autonavi.minimap",

      "com.autonavi.map.activity.SplashActivity");

      it.setComponent(cn);

      startActivity(it);

      4總結(jié)

      本設(shè)計(jì)使用Android Studio開發(fā)環(huán)境,利用百度提供的語音識(shí)別技術(shù)服務(wù)員開發(fā)一款可以識(shí)別語音指令的系統(tǒng)。用戶只要通過語音指令就可以控制手機(jī)導(dǎo)航、播放音樂、獲取當(dāng)前位置、拉起APP以及控制車輛天窗等。此外,該系統(tǒng)還會(huì)根據(jù)語音識(shí)別的反饋結(jié)果合成播放特定語音。在該系統(tǒng)的開發(fā)以及調(diào)試的過程中,也遇到一些很難解決的問題,如回調(diào)數(shù)據(jù)的解析,百度語音識(shí)別SDK的回調(diào)函數(shù)中的回調(diào)數(shù)據(jù)是JSON格式的,應(yīng)該怎樣去解析然后獲取識(shí)別結(jié)果。在通過資料的查找之后,發(fā)現(xiàn)只需要先將數(shù)據(jù)轉(zhuǎn)換成字符串,然后再通過getString方法就可以獲取到識(shí)別結(jié)果。

      參考文獻(xiàn):

      [1] 馬顏軍.科技與企業(yè).基于Android系統(tǒng)的APP開發(fā)[J]. 2015(22)

      [2] 高輝.浙江大學(xué).智能車載信息系統(tǒng)共享平臺(tái)及安全機(jī)制的研究與實(shí)現(xiàn)[D]. 2015

      [3] 何明均,劉成,黃上. GPS技術(shù)在地質(zhì)測量中的應(yīng)用與分析[J]. 科技信息. 2014(01):70.

      [4] 張頔.吉林大學(xué).基于Android的車載多媒體信息交互終端的研發(fā)[D]. 2015

      [5] 新技術(shù)新工藝.基于語音控制的人機(jī)交互智能系統(tǒng)研究[J].梁漢泉,陳錦彪. 2015(09)

      [6] 中國工程機(jī)械學(xué)報(bào).基于HMM的非特定人漢語語音識(shí)別系統(tǒng)[J].聞靜. 2014(05)

      [7] 李彥奇.吉林大學(xué).基于語音控制的車載娛樂系統(tǒng)的研究[D]. 2015

      [8] 歐陽丹.湖北大學(xué).基于ARM的車載語音識(shí)別系統(tǒng)的設(shè)計(jì)[D]. 2014

      [9] 丁亦喆,廖楠楠,田津浩.基于Android系統(tǒng)的智能交互APP設(shè)計(jì)思路研究[J]. 信息記錄材料. 2018(05)

      [10]肖方. 車載多媒體語音指令控制系統(tǒng)的開發(fā)[D].南京航空航天大學(xué),2010.

      基金項(xiàng)目:徐州工程學(xué)院大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(xcx2019254)

      猜你喜歡
      語音識(shí)別
      通話中的語音識(shí)別技術(shù)
      面向移動(dòng)終端的語音簽到系統(tǒng)
      農(nóng)業(yè)物聯(lián)網(wǎng)平臺(tái)手機(jī)秘書功能分析與實(shí)現(xiàn)
      基于Android手機(jī)語音和Arduino控制板的機(jī)器人控制系統(tǒng)
      康保县| 来宾市| 巴林左旗| 南投市| 珠海市| 文水县| 老河口市| 梁山县| 阿瓦提县| 灌阳县| 锡林郭勒盟| 德江县| 宣汉县| 墨玉县| 清原| 万州区| 平泉县| 阿鲁科尔沁旗| 内乡县| 长武县| 鲁甸县| 万宁市| 巩留县| 古浪县| 许昌市| 射阳县| 彭阳县| 合川市| 西华县| 盐城市| 万山特区| 马尔康县| 蕉岭县| 偏关县| 亳州市| 龙游县| 都江堰市| 尤溪县| 马龙县| 开江县| 保定市|