開源項(xiàng)目 OpenHarmony 是每個(gè)人的 OpenHarmony
陸冕
博泰車聯(lián)網(wǎng)(南京)有限公司
OpenHarmony知識(shí)體系工作組
楊波
博泰車聯(lián)網(wǎng)(南京)有限公司
OpenHarmony知識(shí)體系工作組
以下內(nèi)容來自嘉賓分享,不代表開放原子開源基金會(huì)觀點(diǎn)
簡介
AI時(shí)代,智者當(dāng)先,判斷一個(gè)終端設(shè)備是否智能,語音能力是必不可缺的。智能家居、智慧廚房、智能汽車等等,一切衣食住行都在往智能方向發(fā)展,那我們?cè)撊绾卧贠penAtom OpenHarmony(簡稱“OpenHarmony”)系統(tǒng)現(xiàn)有的能力下,搭建一套完整的語音子系統(tǒng)呢? 本文介紹了博泰車聯(lián)網(wǎng)的研發(fā)同學(xué)如何搭建一套屬于OpenHarmony的語音子系統(tǒng)CarVoiceAssistant,并以車載交互的形態(tài)研發(fā)語音助理項(xiàng)目的過程。
效果展示
開發(fā)環(huán)境
硬件平臺(tái):DAYU200 系統(tǒng)版本:OpenHarmony 3.1 Release 開發(fā)語言:C++,JS,eTS IDE:VS Code、DevEco Studio
功能介紹
交互流程介紹
本樣例包含兩個(gè)關(guān)鍵能力庫:QGWebRTCVAD,用作有效音頻檢測和截??;QGPocketSphinx,用作喚醒詞訓(xùn)練和識(shí)別,主要流程如下: ?
設(shè)備喚醒之后,需要持續(xù)采集用戶音頻數(shù)據(jù),并傳輸給博泰QingAI云端,做持續(xù)識(shí)別和最終語義識(shí)別,識(shí)別之后客戶端根據(jù)語義做具體動(dòng)作執(zhí)行 。
兩步帶你實(shí)現(xiàn)語義助理集成
1.語音子系統(tǒng)集成 (1)下載語音助理項(xiàng)目代碼 (2)解壓【data.zip】文件 (../../dev/team_x/PATEO_CarVoiceAssistant/data.zip) (3)使用hdc工具將data中的文件發(fā)送到OpenHarmony系統(tǒng)中
#1. 將動(dòng)態(tài)庫和資源文件發(fā)送到OpenHarmony系統(tǒng)中 # 如果提示Read only system;進(jìn)入OH系統(tǒng)后執(zhí)行:"mount -o rw,remount /"命令后再發(fā)送文件 hdc_std.exe file send voice_assistant_service.xml /system/profile/ hdc_std.exe file send libcarvoiceassistant.z.so /system/lib/module/libcarvoiceassistant.z.so hdc_std.exe file send libvoiceassistant_service.z.so /system/lib/libvoiceassistant_service.z.so hdc_std.exe file send libpocketsphinx.z.so /system/lib/module/libpocketsphinx.z.so hdc_std.exe file send libps_vad.z.so /system/lib/module/libps_vad.z.so hdc_std.exe file send libvoicecloud.z.so /system/lib/libvoicecloud.z.so hdc_std.exe file send voice_assistant_service.cfg /system/etc/init/ #在系統(tǒng)/system/etc/下,創(chuàng)建目錄pocketsphinx; 創(chuàng)建目錄命令: mkdir /system/etc/pocketsphinx hdc_std.exe file send voice_tip.mp3 /system/etc/pocketsphinx/ hdc_std.exe file send zh.tar /system/etc/pocketsphinx/ #在OpenHarmony系統(tǒng)中解壓zh.tar tar xvf zh.tar #確保/system/etc/pocketsphinx/下文件目錄結(jié)構(gòu)如下: ├── zh │ ├── zh │ │ ├── feat.params │ │ ├── feature_transform │ │ ├── mdef │ │ ├── means │ │ ├── mixture_weights │ │ ├── noisedict │ │ ├── transition_matrices │ │ └── variances │ ├── zh_cn.dic │ └── zh_cn.lm.bin ├── voice_tip.mp3 #重啟系統(tǒng)2.語音助理App集成 (1)引入語音助理聲明文件
import carvoiceassistant from '@ohos.carvoiceassistant' // 獲取語音助理管理類 letvoiceManager=carvoiceassistant.getManager();(2)開啟喚醒
voiceManager.enableWakeUp()(3)注冊(cè)熱詞
voiceManager.registerHotwords(JSON.stringify(hotwords))(4)經(jīng)緯度設(shè)置,用于云語音定位地理位置;例如“今天天氣怎么樣?”語義可以返回設(shè)置的經(jīng)緯度地區(qū)的天氣信息
voiceManager.setCoord(23.025978,113.754969)(5)監(jiān)聽回調(diào),可以監(jiān)聽識(shí)別狀態(tài)、語義解析回調(diào)、TTS播報(bào)狀態(tài)
voiceManager.on(carvoiceassistant.EventType.VoiceAssistantEventTypeRecognizeStateChanged, (err, data) => { this.isRecognizing = data['isRecognizing'] if (this.isRecognizing) { this.voiceText = "我正在聽..." } else if (this.voiceText == "我正在聽...") { this.voiceText = '' } }) voiceManager.on(carvoiceassistant.EventType.VoiceAssistantEventTypeAsrResult, (err, data) => { let json: AsrModel = JSON.parse(data['result']) ... }) voiceManager.on(carvoiceassistant.EventType.VoiceAssistantEventTypeTTSPlayStateChanged, (err, data) => { let isPlaying = data["isPlaying"] if (isPlaying == false) { if (this.needDeclare) { this.isUserStopRecognizing = false; this.needDeclare = false; voiceManager.startRecognize(); } this.voiceText = ''; } }) }(6)識(shí)別接口
voiceManager.startRecognize(); //開始識(shí)別 voiceManager.stopRecognize();//停止識(shí)別以上步驟完成后,你也就完成了OpenHarmony系統(tǒng)下語義能力集成。
總結(jié)
通過本篇文章介紹,您對(duì)OpenHarmony系統(tǒng)下CarVoiceAssistant項(xiàng)目功能應(yīng)該有了初步的了解。如果您對(duì)本篇文章內(nèi)容以及所實(shí)現(xiàn)的Demo感興趣,可以根據(jù)本篇文章介紹自行下載CarVoiceAssistant源碼進(jìn)行研究和使用。同時(shí)也歡迎更多開發(fā)者與我們共享開發(fā)成果,分享技術(shù)解讀與經(jīng)驗(yàn)心得。 OpenHarmony PATEO_CarVoiceAssistant倉庫地址
https://gitee.com/openharmony-sig/knowledge_demo_travel/tree/master/docs/PATEO_CarVoiceAssistant
參考鏈接
博泰OpenHarmony語音助理
https://gitee.com/openharmony-sig/knowledge_demo_travel/tree/master/docs/PATEO_CarVoiceAssistant
OpenHarmony知識(shí)體系工作組
https://gitee.com/openharmony-sig/knowledge
-
AI
+關(guān)注
關(guān)注
88文章
35164瀏覽量
280021 -
智能語音
+關(guān)注
關(guān)注
11文章
804瀏覽量
49529 -
鴻蒙
+關(guān)注
關(guān)注
60文章
2620瀏覽量
44063 -
OpenHarmony
+關(guān)注
關(guān)注
29文章
3854瀏覽量
18628
原文標(biāo)題:帶你玩轉(zhuǎn)OpenHarmony AI:打造智能語音子系統(tǒng)
文章出處:【微信號(hào):gh_e4f28cfa3159,微信公眾號(hào):OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
快速打造一套可以語音控制的智能家居系統(tǒng)
1小時(shí)玩轉(zhuǎn)AI語音識(shí)別
直播福利:1小時(shí)玩轉(zhuǎn)AI語音識(shí)別
AI語音智能機(jī)器人開發(fā)實(shí)戰(zhàn)
【OpenHarmony資料合集】Sensor子系統(tǒng)/圖形子系統(tǒng)/Ability子系統(tǒng)介紹
【學(xué)習(xí)打卡】OpenHarmony的電源管理服務(wù)子系統(tǒng)介紹
【CC3200AI實(shí)驗(yàn)教程11】瘋殼·AI語音人臉識(shí)別-AI語音系統(tǒng)架構(gòu)
帶你玩轉(zhuǎn)OpenHarmony AI:打造智能語音子系統(tǒng)
帶你玩轉(zhuǎn)OpenHarmony AI-基于海思NNIE的AI能力自定義
OpenHarmony Dev-Board-SIG專場:OpenHarmony顯示子系統(tǒng)架構(gòu)

OpenHarmony Dev-Board-SIG專場:OpenHarmony音頻子系統(tǒng)以及相機(jī)子系統(tǒng)架構(gòu)

評(píng)論