Day 9 - [Zenbo开发系列] 06-安装DDE语料到Zenbo

今天使用的范例出自高焕堂老师的书《AI机器人、蓝芽与Android整合开发技术》,需要完整程序码请参考书中内容喔。
本篇会以 Ex14-01-ZenboWiFi 这份程序码说明如何将语料安装到 Zenob 中。

准备材料

你需要

  • 一台 Zenbo
  • 一份做好的 DDE 语料 (制作方式请参考上一篇)
  • 一份 Ex14-01-ZenboWiFi Sample code

在 DDE info 设定的地方,Launch Activity 要填 APP 启动的第一个 Activity,完整路径可以看 Manifest。
project_info
launch_activity

绑定 Domain

还记得你的 Domain UUID 吗?
在 DDE info 最上面 点选 All 可以查看你所有的 uuid。
all_uuid

打开 Android 专案,范例中基本都已经打好了,我们只须把自己的 Domain 换上去。
特别注意,总共有 3 个地方要改唷

  • Manifest 2 个
  • ZenboWiFiActivity 1 个

manifest_uuid
activity_uuid

第一次安装,开启时应该会自动更新语料。
去 DS Tools 确认是否有更新成功

DS Tools 可以在 DDE Tutorial-Links 找到下载连结。
把 APK 装到 Zenbo 的方法很多,用随身碟或云端硬碟都行。

DS Tools

可以管理自己安装在 Zenbo 上的语料库。
如果刚才 DDE 有安装成功的话,这里点选 Show APP List 会看到 Package name、UUID 和 更新时间。确认一下 PKG 和 UUID 是不是都符合前面的设定。
以後如果要更新 DDE 的话,可以先点选要更新的 APP,让 UUID 自动带到上方栏位,再按 Update by ID
dstools

删除 Zenbo 中的 DDE

这就是我前几篇提到,我写信给客服信箱的问题了。我前面不知道怎麽弄的,PKG 和 UUID 一直对不上,所以没办法更新。客服请我先把装坏的 DS 资料清掉,这边纪录一下作法。

  1. 先把装坏的 APP 删除: 设定 > 应用程序 > [你的APP] > 储存空间 > 清除资料
  2. 把 APP 删掉
  3. 参考 Zenbo-Scratch-语句听不懂问题的解决方式  将 LocalDS 的资料清除
    • 这篇就是客服寄给我的
  4. Zenbo 关机重开
  5. DDE 重新 Publish、Deploy to Download Server
  6. APP 重装
  7. 去 ASUS Update Tools 确认

成果

我有改过 Ex14-01-ZenboWiFi 的画面和部份的 code 成品大概像影片这样。

DDE 的问题

截自我的论文:

根据文献(朱佑萱,2019;白丽等,2018),Zenbo 的语音识别功能,不能清楚辨识指令,是其主要问题。再加上本研究尝试使用 Zenbo SDK 实作语音回答时,发现 Zenbo 无法处理破音字的发音。例如,「长照」正确念法是「长(ㄔㄤˊ)照」,但 Zenbo SDK 会念作「长(ㄓㄤˇ)照」。有时也会跳过句子中的某些字,例如,「台中市政府长期照顾管理中心」的「长」、「原住民」的「民」。

经过尝试,最後本研究决定在 APP 中,使用 Android 官方提供的两个函式库「android.speech.RecognizerIntent」(以下简称 RecognizerIntent)与「android.speech.tts.TextToSpeech」(以下简称 TextToSpeech)。根据官方文件 RecognizerIntent(Android Developers, 2021)可以透过 Intent(意图)启动语音辨识;TextToSpeech(Android Developers, 2021)可以从文本合成出语音後,立即播放或储存成音档。

为了解决 Zenbo 反应迟钝,我们在 APP 中提供按钮,按下按钮便会触发 RecognizerIntent 开始聆听使用者的问题,并将问句显示在画面上,使用者可以确认语音输入的结果是否正确再点选送出

这就是我最後没有使用 DDE 和 Zenbo SDK 的原因。

参考资料


本文同步发布在: https://dreambo4.github.io/2021/08/10/Zenbo%E9%96%8B%E7%99%BC%E7%B3%BB%E5%88%97-06-%E5%AE%89%E8%A3%9DDDE%E8%AA%9E%E6%96%99%E5%88%B0Zenbo/


<<:  Ruby on Rails layout

>>:  Python - Scrabble Word Finder - Python 爬虫练习笔记

[FGL] TYPE / FUNCTION / INTERFACE 让FGL更贴近物件语言

这一篇是我很纠结的,但是总是要来面对。 TYPE 定义基本或结构化数据类型 从 Genero 2....

用电脑判断路段车辆数->控制红绿灯 小论文求解(急

各位大大好 小论文的主旨在於 用电脑判断路段车辆数依照车辆数去调节红绿灯的秒数的实例 老师说有两种但...

英雄列表范例:删除英雄

接下来介绍「删除英雄」的实作方法。 删除介面设计 我规划是在每个项目後面增加一个删除按钮,按下该按钮...

Android学习笔记25

Android TV 首先要先在gradle中加入 implementation 'androidx...

TypeScript | Type 研究心得纪录 1

我习惯理解一个东西,可以套用日常的生活经验,找出类比、拟人化会帮助我更好理解,今天的议题是最近看到 ...