0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

带你玩转OpenHarmony AI:打造智能语音子系统

OpenAtom OpenHarmony 来源:OpenAtom OpenHarmony 作者:OpenAtom OpenHarmony 2022-12-23 14:40 次阅读

开源项目 OpenHarmony 是每个人的 OpenHarmony 036ad762-828c-11ed-8abf-dac502259ad0.jpg

陆冕

博泰车联网(南京)有限公司

OpenHarmony知识体系工作组

0386bd88-828c-11ed-8abf-dac502259ad0.jpg

杨波

博泰车联网(南京)有限公司

OpenHarmony知识体系工作组

以下内容来自嘉宾分享,不代表开放原子开源基金会观点

简介

AI时代,智者当先,判断一个终端设备是否智能,语音能力是必不可缺的。智能家居、智慧厨房、智能汽车等等,一切衣食住行都在往智能方向发展,那我们该如何在OpenAtom OpenHarmony(简称“OpenHarmony”)系统现有的能力下,搭建一套完整的语音子系统呢? 本文介绍了博泰车联网的研发同学如何搭建一套属于OpenHarmony的语音子系统CarVoiceAssistant,并以车载交互的形态研发语音助理项目的过程。

效果展示

开发环境

硬件平台:DAYU200 系统版本:OpenHarmony 3.1 Release 开发语言:C++,JS,eTS IDE:VS Code、DevEco Studio

功能介绍

039b357e-828c-11ed-8abf-dac502259ad0.png

交互流程介绍

本样例包含两个关键能力库:QGWebRTCVAD,用作有效音频检测和截取;QGPocketSphinx,用作唤醒词训练和识别,主要流程如下: 03d003b2-828c-11ed-8abf-dac502259ad0.png  
设备唤醒之后,需要持续采集用户音频数据,并传输给博泰QingAI云端,做持续识别和最终语义识别,识别之后客户端根据语义做具体动作执行 。 040b9a4e-828c-11ed-8abf-dac502259ad0.png

两步带你实现语义助理集成

1.语音子系统集成 (1)下载语音助理项目代码 (2)解压【data.zip】文件 (../../dev/team_x/PATEO_CarVoiceAssistant/data.zip) (3)使用hdc工具将data中的文件发送到OpenHarmony系统中

#1. 将动态库和资源文件发送到OpenHarmony系统中
   # 如果提示Read only system;进入OH系统后执行:"mount -o rw,remount /"命令后再发送文件
   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/
   
   #在系统/system/etc/下,创建目录pocketsphinx; 创建目录命令: 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系统中解压zh.tar
   tar xvf zh.tar
   
   #确保/system/etc/pocketsphinx/下文件目录结构如下:
   ├── zh
   │ ├── zh
   │ │ ├── feat.params
   │ │ ├── feature_transform
   │ │ ├── mdef
   │ │ ├── means
   │ │ ├── mixture_weights
   │ │ ├── noisedict
   │ │ ├── transition_matrices
   │ │ └── variances
   │ ├── zh_cn.dic
   │ └── zh_cn.lm.bin
   ├── voice_tip.mp3
   
#重启系统
2.语音助理App集成 (1)引入语音助理声明文件
import carvoiceassistant from '@ohos.carvoiceassistant'
// 获取语音助理管理类
letvoiceManager=carvoiceassistant.getManager();
(2)开启唤醒
voiceManager.enableWakeUp()
(3)注册热词
voiceManager.registerHotwords(JSON.stringify(hotwords))
(4)经纬度设置,用于云语音定位地理位置;例如“今天天气怎么样?”语义可以返回设置的经纬度地区的天气信息
voiceManager.setCoord(23.025978,113.754969)
(5)监听回调,可以监听识别状态、语义解析回调、TTS播报状态
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)识别接口
voiceManager.startRecognize(); //开始识别
voiceManager.stopRecognize();//停止识别
以上步骤完成后,你也就完成了OpenHarmony系统下语义能力集成。

总结

通过本篇文章介绍,您对OpenHarmony系统下CarVoiceAssistant项目功能应该有了初步的了解。如果您对本篇文章内容以及所实现的Demo感兴趣,可以根据本篇文章介绍自行下载CarVoiceAssistant源码进行研究和使用。同时也欢迎更多开发者与我们共享开发成果,分享技术解读与经验心得。 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知识体系工作组

https://gitee.com/openharmony-sig/knowledge

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AI
    AI
    +关注

    关注

    87

    文章

    31000

    浏览量

    269341
  • 智能语音
    +关注

    关注

    10

    文章

    786

    浏览量

    48800
  • 鸿蒙
    +关注

    关注

    57

    文章

    2363

    浏览量

    42892
  • OpenHarmony
    +关注

    关注

    25

    文章

    3726

    浏览量

    16376

原文标题:带你玩转OpenHarmony AI:打造智能语音子系统

文章出处:【微信号:gh_e4f28cfa3159,微信公众号:OpenAtom OpenHarmony】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    快速打造一套可以语音控制的智能家居系统

    快速打造一套可以语音控制的智能家居系统随着智能家居产业的蓬勃发展,照明、安防、工控等主要制造商已经推出多款
    发表于 09-05 16:43

    1小时玩转AI语音识别

    `报名链接:http://t.elecfans.com/live/563.html直播主题及亮点本次直播讲解AI语音识别核心技术知识以及语音识别系统架构,现场实操写代码实现
    发表于 09-19 13:40

    直播福利:1小时玩转AI语音识别

    `报名链接:http://t.elecfans.com/live/563.html直播主题及亮点本次直播讲解AI语音识别核心技术知识以及语音识别系统架构,现场实操写代码实现
    发表于 09-19 13:46

    AI语音智能机器人开发实战

    第四期直播PPT下载:第三期直播PPT+程序下载:第二期直播PPT下载:第一期直播PPT下载:主题简介及亮点:以AI智能语音陪护机器人为载体,彻底讲解整个机器人研发的全流程,从开发环境搭建、到软硬件
    发表于 01-04 11:48

    OpenHarmony资料合集】Sensor子系统/图形子系统/Ability子系统介绍

    ,移动互联网的快速发展,在数字时代,传感器在智能交通,智能工业,智能穿戴等领域有着广阔的应用空间。  1.1 OpenHarmony架构图  2、O
    发表于 03-14 16:35

    【学习打卡】OpenHarmony的电源管理服务子系统介绍

    设备,例如笔记本电脑和平板电脑。对于OpenHarmony系统,其整个系统分为核心系统子系统等不同类别,每个类别都有其独特的电源要求。电源
    发表于 07-23 22:09

    【CC3200AI实验教程11】疯壳·AI语音人脸识别-AI语音系统架构

    CC3200AI实验教程——疯壳·开发板系列AI语音系统架构AI语音识别
    发表于 08-30 14:54

    带你玩转OpenHarmony AI打造智能语音子系统

    简介AI时代,智者当先,判断一个终端设备是否智能语音能力是必不可缺的。智能家居、智慧厨房、智能汽车等等,一切衣食住行都在往
    发表于 12-23 11:34

    带你玩转OpenHarmony AI-基于海思NNIE的AI能力自定义

    简介相信大家从玩转OpenAtom OpenHarmony(简称“OpenHarmony”)AI系列专题的其他文章中,已经拓展了OpenHarmon
    发表于 01-12 11:39

    OpenHarmony Dev-Board-SIG专场:OpenHarmony显示子系统架构

    OpenHarmony Dev-Board-SIG专场:OpenHarmony显示子系统架构
    的头像 发表于 12-28 14:54 1270次阅读
    <b class='flag-5'>OpenHarmony</b> Dev-Board-SIG专场:<b class='flag-5'>OpenHarmony</b>显示<b class='flag-5'>子系统</b>架构

    OpenHarmony Dev-Board-SIG专场:OpenHarmony音频子系统以及相机子系统架构

    OpenHarmony Dev-Board-SIG专场:OpenHarmony音频子系统以及相机子系统架构
    的头像 发表于 12-28 15:01 1538次阅读
    <b class='flag-5'>OpenHarmony</b> Dev-Board-SIG专场:<b class='flag-5'>OpenHarmony</b>音频<b class='flag-5'>子系统</b>以及相机<b class='flag-5'>子系统</b>架构

    OpenHarmony显示子系统介绍

    OpenHarmony显示子系统介绍 审核编辑:金巧
    的头像 发表于 12-28 15:19 2155次阅读
    <b class='flag-5'>OpenHarmony</b>显示<b class='flag-5'>子系统</b>介绍

    OpenHarmony Dev-Board-SIG专场:打造MCU+语音智能家居单芯片解决方案

    OpenHarmony Dev-Board-SIG专场:打造MCU+语音智能家居单芯片解决方案
    的头像 发表于 12-28 16:25 1603次阅读
    <b class='flag-5'>OpenHarmony</b> Dev-Board-SIG专场:<b class='flag-5'>打造</b>MCU+<b class='flag-5'>语音</b>的<b class='flag-5'>智能</b>家居单芯片解决方案

    【大咖分享】OpenHarmony元能力子系统分享

    带你全面了解元能力子系统。转移,退出中央根据地,进行长征。   直播时间:10月24日晚 20:00 分享嘉宾
    的头像 发表于 10-24 12:20 852次阅读

    带你玩转OpenHarmony AI:基于Seetaface2的人脸识别

    点击蓝字 ╳ 关注我们 开源项目 OpenHarmony 是每个人的 OpenHarmony 钟禄平 OpenHarmony知识体系工作组 以下内容来自嘉宾分享,不代表开放原子开源基金会观点 简介
    的头像 发表于 12-20 21:10 1330次阅读