陳剛
哈曼(中國(guó))投資有限公司 上海 200233
根據(jù)語(yǔ)音識(shí)別模塊收到的外部語(yǔ)音識(shí)別順序,給出相應(yīng)的操作列表,識(shí)別結(jié)果通過(guò)并行端口以二進(jìn)制代碼的形式傳遞給內(nèi)核處理器。獲得相應(yīng)的二進(jìn)制代碼后,處理器可以根據(jù)其二進(jìn)制代碼運(yùn)行相應(yīng)的二進(jìn)制代碼。可見(jiàn)語(yǔ)音識(shí)別模塊是系統(tǒng)人機(jī)交互界面。它通過(guò)麥克風(fēng)接收語(yǔ)音控制,執(zhí)行語(yǔ)音識(shí)別,然后將識(shí)別結(jié)果以二進(jìn)制代碼的形式傳遞給中央控制器進(jìn)行處理。語(yǔ)音控制計(jì)劃的結(jié)構(gòu)簡(jiǎn)單易行。只要配備了語(yǔ)音識(shí)別模塊,語(yǔ)音控制功能就可以很好的完成[1]。
該軟件使用開(kāi)放源代碼An-droid 操作系統(tǒng)。硬件結(jié)構(gòu)包括A R M 控制器、LCD 觸摸屏和硬件驅(qū)動(dòng)電路、脫機(jī)語(yǔ)音識(shí)別單元和外圍硬件模塊。其中,主控車載采用Samsung 四核處理器Exynos4412(基于Cortex-A9 結(jié)構(gòu)),具有1GBDD R 3 內(nèi)存和最高2GHz 工作頻率。Exy-nos4412 配備了高性能數(shù)據(jù)處理引擎,為收集和處理車輛數(shù)據(jù)信號(hào)提供了有利條件。系統(tǒng)配備支持多點(diǎn)觸控、800×480 分辨率和快速響應(yīng)的AT070TN92 觸摸屏。顯示器通過(guò)45pin 接口直接連接主控制器,可以掃描控制現(xiàn)場(chǎng)信號(hào)、背光控制信號(hào)和能量信號(hào)[2]。
在線語(yǔ)音識(shí)別采用神經(jīng)網(wǎng)絡(luò)識(shí)別算法和HT-TP 模塊的要求,縮短了開(kāi)發(fā)周期,降低了成本。本文通過(guò)訪問(wèn)百度語(yǔ)音API 實(shí)現(xiàn)在線語(yǔ)音識(shí)別此功能主要通過(guò)軟件編程、Java 語(yǔ)言,IDE 為Eclipse環(huán)境實(shí)現(xiàn)??紤]到整個(gè)識(shí)別過(guò)程的長(zhǎng)度,為了不影響其他事件的操作,設(shè)計(jì)采用多線程操作模式,實(shí)現(xiàn)過(guò)程如圖1 所示。
初始化首先包括主控制器和電子設(shè)備的初始化。主要任務(wù)包括Android 系統(tǒng)的初始配置、液晶屏的初始配置、網(wǎng)絡(luò)通信系統(tǒng)的初始配置以及麥克風(fēng)的使用。接下來(lái),打開(kāi)主更新和語(yǔ)音識(shí)別以及用戶界面計(jì)算線程。語(yǔ)音識(shí)別線程必須連接到網(wǎng)絡(luò),這會(huì)導(dǎo)致相對(duì)較長(zhǎng)的處理時(shí)間。但是,要與驅(qū)動(dòng)程序通信,必須將生成的數(shù)據(jù)發(fā)送到主用戶界面線程以進(jìn)行接口更新。
任何其他語(yǔ)音識(shí)別類型都使用中文文本庫(kù)作為匹配對(duì)象。Ld3320 語(yǔ)音識(shí)別芯片通過(guò)比較在芯片中輸入的關(guān)鍵字來(lái)實(shí)現(xiàn)語(yǔ)音識(shí)別。要識(shí)別的關(guān)鍵字以拼音字符串的形式寫入微控制器的工作存儲(chǔ)器ROM。使用LD3320 進(jìn)行語(yǔ)音識(shí)別時(shí),將分析語(yǔ)音信號(hào)并提取特征以匹配關(guān)鍵詞表中的信息。最好的識(shí)別是最相似的標(biāo)識(shí)。利用觸發(fā)識(shí)別技術(shù)實(shí)現(xiàn)車輛的語(yǔ)音環(huán)境特征換句話說(shuō),當(dāng)微控制器收到外部觸發(fā)指令(設(shè)計(jì)為驅(qū)動(dòng)按鈕指令)時(shí),它會(huì)觸發(fā)LD3320 識(shí)別條件,從而同時(shí)觸發(fā)語(yǔ)音識(shí)別過(guò)程。
對(duì)安裝在嵌入式系統(tǒng)上的任何導(dǎo)航軟件進(jìn)行語(yǔ)音控制是指提取駕駛員的語(yǔ)音信息進(jìn)行目標(biāo)搜索,然后使用Android 系統(tǒng)提供的互聯(lián)網(wǎng)機(jī)制將包含目標(biāo)緯度和經(jīng)度信息的目標(biāo)發(fā)送到第三方導(dǎo)航軟件,以實(shí)現(xiàn)語(yǔ)音通信和導(dǎo)航控制。為確保行車安全,數(shù)據(jù)處理線程重新分析了語(yǔ)音命令。當(dāng)解析結(jié)果是正確的導(dǎo)航命令時(shí),從JSON數(shù)據(jù)結(jié)構(gòu)中提取目標(biāo)信息并啟動(dòng)搜索線程以查找目標(biāo)。目的地搜尋有三個(gè)重要變數(shù):poicitysearch 起始搜尋對(duì)象、poicitysearch設(shè)定搜尋物件的參數(shù),以及On Get Poi Search Result Listener 是監(jiān)督有效搜尋結(jié)果的監(jiān)聽(tīng)器類別。porest 結(jié)果資料是使用ongetporest 方法取得的。poirest 包含所有搜索結(jié)果的地址、統(tǒng)一標(biāo)識(shí)符ID、緯度和經(jīng)度信息。每個(gè)結(jié)果都包含在HashMap 中數(shù)據(jù)結(jié)構(gòu),所有HashMap 數(shù)據(jù)構(gòu)成一個(gè)列表。列表被封裝后,將被發(fā)送到用戶界面線程。啟動(dòng)用戶界面線程后,將從列表中提取數(shù)據(jù),并在界面上創(chuàng)建目標(biāo)alertdialog 列表。互聯(lián)網(wǎng)是Android 應(yīng)用程序之間數(shù)據(jù)通信的橋梁。使用緯度和經(jīng)度設(shè)置啟動(dòng)startactivity 導(dǎo)航并將數(shù)據(jù)配置為URI。導(dǎo)線從alertdialog 列表中選擇目標(biāo)時(shí),將觸發(fā)包含緯度和經(jīng)度數(shù)據(jù)的目標(biāo)對(duì)象,并將其傳遞給第三方導(dǎo)航應(yīng)用程序。導(dǎo)航信息顯示在液晶屏上,最終進(jìn)行語(yǔ)音控制導(dǎo)航[3]。
控制模塊聲音通過(guò)藍(lán)牙控制駕駛員的聲音。不同的語(yǔ)音指令會(huì)觸發(fā)不同的AT 指令,因此您可以回應(yīng)、呼叫、重?fù)苣橙撕蛽艽螂娫捥?hào)碼。首先,主用戶界面線程接收語(yǔ)音識(shí)別線程的識(shí)別結(jié)果。此部分與語(yǔ)音導(dǎo)航相同,不會(huì)在此重復(fù)。從JSON 數(shù)據(jù)結(jié)構(gòu)中檢索控制電話信息,如檢測(cè)主電話號(hào)碼數(shù)字命令或直接控制命令(如回調(diào)、拒絕響應(yīng)等)。并將它們直接轉(zhuǎn)換為藍(lán)牙AT 命令。同樣,如果檢測(cè)到呼叫某人的控制命令,則會(huì)提取該姓名,并從通訊簿中提取電話號(hào)碼信息,然后將其轉(zhuǎn)換為藍(lán)牙AT 命令。按名稱查找電話號(hào)碼,然后使用Android 內(nèi)容提供程序和內(nèi)容解析器。Android 通訊簿是一個(gè)內(nèi)容提供商,用于將數(shù)據(jù)(與名稱匹配的電話號(hào)碼信息)傳輸?shù)絻?nèi)容掃描程序(藍(lán)牙串行線程),形成AT 命令并控制藍(lán)牙電話。
汽車駕駛提高了人們的生活質(zhì)量,但是汽車數(shù)量的增加也造成了交通擁堵和交通事故等嚴(yán)重的社會(huì)問(wèn)題。科學(xué)技術(shù)的進(jìn)步促進(jìn)了汽車電子的發(fā)展,而有輔助駕駛技術(shù)的智能車輛系統(tǒng)得到了更多的關(guān)注。因此,推出更安全、更人性化的智能汽車產(chǎn)品成為社會(huì)各界的期待。