基于App Inventor的语音识别与文本翻译器App的设计与调试

2020-10-09 10:24牛潇秦健
电脑知识与技术 2020年22期
关键词:语音识别人工智能

牛潇 秦健

摘要:随着科技的不断发展以及国家政策的支持推动,人工智能技术的发展逐步趋于成熟,智能语音交互技术与自然语言处理技术的应用越来越广泛。人工智能技术在K12教育应用中逐渐受到大家的密切关注,国内人工智能课程的开设以推广编程教育为主[1],App Inventor图形化编程类工具降低了学生学习编程以及制作App的门槛,为开展编程教育提供了可能。本文在给出了系统总体设计以及各功能模块设计的基础上,利用App Inventor制作了语音识别与文本翻译器App,展示了智能语音交互技术与自然语言处理技术的开发过程,说明App Inventor无须复杂的计算机语言编写程序,就能很快完成开发项目并能根据创意对项目进行修改,是培养中小学生计算思维、编程思维与设计思维的最佳利器。

关键词:App Inventor;人工智能;语音识别;文本翻译

中图分类号:TP18 文献标识码:A

文章编号:1009-3044(2020)22-0020-03

开放科学(资源服务)标识码(OSID):

1 引言

近年来,由于深度学习技术、大数据、移动互联网、云计算等技术的发展,人工智能技术获得了快速、跨越式的发展。作为人工智能技术中的重要领域,智能语音技术与自然语言处理逐渐成熟,成为最为落地一,引起业界各方的持续广泛关注,行业发展已迅速进入场景应用布局阶段[2]。与此同时,智能语音技术和自然语言处理技术在移动智能终端、智能家居领域高速发展,其中涉及的关键技术有语音识别技术、语音合成技术、中英语音互转技术等,已成为目前人工智能技术中最受人们关注的领域。

国务院在《新一代人工智能发展规划》中指出:”在中小学阶段设置人工智能相关课程,逐步推广编程教育”。教育部在《教育信息化2.0行动计划》中提出:“充实适应信息时代、智能时代发展需要的人工智能和编程课程内容”[3]。国家两会提案《关于稳步推动编程教育纳入我国基础教学体系着力培养数字化人才的提案》建议将少儿编程纳入学业水平考试,作为综合素质评价重要内容。以上政策的出台,意味着我国的编程教育正在紧跟世界的步伐。只有加快普及中小学编程教育,努力探索编程教育的新途径和新方法,才能为学生的终身发展打下基础,使他们在人工智能的浪潮中不断前行[3]。

今天我们使用的各类移动端高科技产品,对于大多数使用者来说都是一个黑箱系统,其内部的系统结构比较复杂。我们如何将这些复杂的黑箱系统转变为易理解的开放系统,并允许使用者改动它们。其中,App Inventor作为一款可视化编程平台,在编程教育中起着重要的作用,在全国不少地区已经把App Inventor作为开展人工智能课程的技术载体并自编教材。本文中笔者设计了一款语音识别与文本翻译器App,一款涉及人工智能语音技术与自然语言处理技术的App。该案例是在中国大学MOOC爱课程平台秦健教授主持的《如何做创客教育》在线教学特辑一拓展篇中王德贵老师提供的案例基础上进行改进制作与完善。

2 App Inventor开发环境简介

2.1 App Inventor简介

App Inventor是由Google公司开发的一款完全在线的图形化、积木式手机编程工具软件,它将代码全部封装成各种组件,使用者只需拖曳积木来完成Android软件开发,避免了烦琐的软件开发代码编写环节。App Inventor于2012年1月由麻省理工学院( MIT)行动学习中心发布,目前已经发布至第2版本,可以在多种浏览器中使用,例如:Firefox、Chrome等,但不支持IE浏览器,支持MacOSX、GUI/Linux、Windows等操作系统。它也支持乐高NXT与EV3机器人,可以完成手机控制机器人运动。

2.2 App Inventor特点

2.2.1简易在线编程环境

采用浏览器+云服务模式,服务器可以自行架构,也可以使用国内几家架设好的服务器,如广州市教育信息中心(电教馆)架设的App Inventor2服务器((http://App. gzjkw.net)[4]、華南理工大学杨道全老师架设的App Inventor2 WxBit汉化版服务器( https://App.wxbit.com/login/)、金从军老师与她的丈夫张路架设的App Inventor2汉化并退出离线版(http://ai2.17coding. net/)。用户只需通过浏览器访问以上服务器网址即可在进行App开发,无需进行复杂的开发环境布置。

2.2.2可视化图形编程组件

App Inventor的界面设计(UI)与逻辑设计都可以通过可视化图形模块进行组件的拖曳来完成,使用者无须掌握复杂的C、C++、VB等高级程序语言就可完成App的开发。它封装了不同类型的组件模块,如:多媒体组件、绘画动画组件、Maps组件、数种传感器组件、社交应用组件、数据存储组件、通信连接组件,甚至乐高机器人( NXT、EV3)组件,更应用满足设计者的创新想法。编程时只需将所需要的组件拖曳至工作面板,进行组件的属性设计和逻辑设计,以实现不同的算法。

2.2.3 开发项目易于存储

App Inventor中所有的组件代码以及项目程序代码都存储在云服务器上的,开发者可以在任何时间、任何地点随时查看并修改源程序。使用者只需登录App Inventor开发环境个人专属账号即可查看“我的项目”,哪怕前几个月做的项目,只要登录账号就能查到源项目,这在一定程度上保证了源代码的一致性和安全性,并易于项目的存储。

2.2.4开发者即时调试

App Inventor提供了非常强大的调试功能,使用者可在手机端下载安装AI伴侣、利用电脑端aiStarter模拟器、将开发项目打包apk显示至手机这三种方法都可进行项目的调试。其中,在手机端下载安装AI伴侣、利用电脑端aiStarter模拟器进行调试较为方便且高效快速,可以即时查看App运行情况并方便对部分内容做出修改,在App Inventor中对项目进行界面设计与逻辑设计的调整,都会自动同步到设备中,无须下载安装App。

2.2.5 初学者快速入门

App Inventor界面简单,它无须代码,属于区块化编程,只需要在网页上进行在线版或离线版编程,无须下载安装软件。它使用积木块式拖曳编排的编程方式更能使抽象的逻辑程序具体化生动化,更适合初学者入门学习和理解,也为C++、JA-VA、Python等语言的学习打下基础。

3 系统总体设计

本系统设计了一款基于Andriod系统的语音识别与文本翻译器App。系统功能包括文本转语音、开始录音、停止录音、播放录音、语音识别、清空文字、转至文本翻译(汉译英、英译汉)等七大功能。具体框架安排如下:进入App后,主页面会显示七个功能按钮,用户可以根据需要点击使用。语音识别与文本翻译器结构框架图如图1所示。

系统软件的设计流程为:首先打开主界面后,然后点击主屏幕上文本转语音、开始录音、停止录音、播放录音、语音识别、清空文字、转至文本翻译等七大模块中按需选择。可以在文本输入框1中输入文本,点击文本转语音按钮即可朗读文本;可以单击开始录音按钮,将自己想录的音频录制并播放;可以点击语音识别按钮说出自己显示的文本,并将其显示在标签2一显示语音识别文本框内;可以单击清空文字按钮,将标签2一显示语音识别文本框内文字清空。单击转至文本翻译按钮,可跳转至Screen2屏幕;在文本输入框1-输入翻译文本内输入想要翻译的文本,如输人为中文,则单击汉译英按钮,将翻译后英文显示于标签2一翻译后文本框中;如输人为英文,则单击英译汉按钮,将翻译后中文显示于标签2一翻译后文本框中。单击返回语音识别按钮,则跳转至Screenl屏幕。

4 系统功能设计与实现

4.1 主界面设计

打开App用户端,进入主界面,该主界面逻辑清晰且美观大方。其该界面总体分为四大模块,第一:在文本输入框输入想要朗读的文本,单击文本转语音按钮可实现此功能;第二:点击开始录音,可以将想录制的音频进行录音并播放;第三:点击语音识别按钮,说出自己想要呈现的文字,即可显示在标签中,也可清空该内容;第四:可跳转至文本翻译( Screen2)界面。其主界面显示如图2所示。

4.2 文本转语音模块

该模块可将输入的文本转成语音,为了使该组件正常运行,手机上需要安装有相应的文本识别成语音的引擎,如TTS,一般情况下Andriod手机默认都有安装。在该案例中用到了App Inventor中多媒体模块的文本语音转换器,该组件设计中语言为默认,可转换多国语言,还可调节音调与音速。其文本转语音按钮组件的逻辑设计如图3所示。

4.3 录音模块

该模块可将喜欢的音频进行录制并播放,录制过程中可以暂停。该模块用到App Inventor中多媒体组件的录音机和音频播放器两个组件,使得该App可以录制声音并将录制好的音频进行播放。录音机是录制音频的多媒体组件,当声音录制完成后,会自动保存声音文件到特定的目录。音频播放器可以播放音频,在组件设计及逻辑设计中,用源属性来定义音频来源。其开始录音、停止录音、播放录音以及两个组件的逻辑设计如图4所示。

4.4 语音识别模块

该模块可将识别的文本呈现在主屏幕标签中,可以节省大量打字的时间以及方便复制文本。语音识别出的文本可叠加显示,如不需要该文本则可单击清空文字按钮,将其删除。该模块用到App Inventor中多媒体组件的语音识别器来实现语音识别功能。其语音识别、清空文字两个按钮以及语音识别器组件的逻辑设计如图5所示。

4.5 文本翻译模块

该模块可将文本输入框中输入的中文字符转化为英文,也可将输入的英文字符转化为中文。该模块用到App Inventor中多媒体组件的Yandex语言翻译器,Yandex是俄罗斯重要网络服务门户之一,它可以实现在不同语言之间翻译单词和句子。该组件需访问网络或请求Yandex.Translate服务。其汉译英、英译汉两个按钮以及Yandex语言翻译器组件的逻辑设计如图6所示。

5 App Inventor调试方式

5.1 手機AI伴侣在线调试

使用者可在App Inventor帮助菜单中下载AI伴侣至手机端,可通过提示的二维码扫描下载,也可通过Download URL链接下载。下载安装完成后,返回App Inventor界面中,点击连接AI伴侣,可通过使用手机端AI伴侣扫描App Inventor中AI伴侣信息或输入六位编码字符,即可将开发好的项目呈现在手机端,进行多次测试,如存在问题则返回App Inventor主程序进行修改,并多次进行调试以使得开发的App无程序问题。

5.2 aiStarter模拟器在线调试

在没有Andriod设备前,可用模拟器来进行案例测试,但模拟器在部分功能方面无法提供测试(如重力传感器等)。使用者可通过在国内模拟软件下载安装模拟器( https://pan. baidu.com/s/leSAtels)[5],也可下载其他类型模拟器,如靠谱天天模拟器等。在电脑端进行模拟时,需提前打开模拟器,并在App In-ventor界面中点击连接模拟器按钮,这时就会发现电脑端有个类似早期手机的窗口,就会显示项目运行界面,以方便及时进行调试。但通过模拟器进行测试也存在很多问题,例如项目中利用了加速度传感器,但模拟器无法实现、无法利用模拟器实现拍照与摄像功能、模拟器启动卡顿等问题,都会降低用户使用感。

5.3 打包apk下载安装调试

在所有程序编写完成后,使用者即可在App Inventor界面中单击打包apk。其中有两种方式,第一种是打包apk并显示二维码,用手机扫描此二维码即可将该项目下载至手机端,进行正常安装步骤,安装完成后进人该项目进行调试;第二种是打包apk并下载至电脑,将此apk文件下载至一定位置,下载完成后可直接打开进行项目查看并调试。该调试方法能够真实体验所开发的App项目,对于模拟器中无法查看的功能运用打包apk方法也可解决,但此方法也存在一定的弊端,例如每调试一次就要打包一次apk,这不仅大大使用者浪费时间,还使得过程复杂化。

综上所述,本文语音识别与文本翻译器App案例采用aiSt-arter模拟器+打包apk至手机两种方式组合进行多次调试与改进来完善此案例。笔者起初在进行该案例界面设计时,就开启了aiStarter模拟器进行即时监测,在完成每一模块的逻辑设计时,会调用模拟器测试,如有问题方便及时更正。在完成所有界面和逻辑设计后,将此项目打包apk至手机端,手机安装此程序后,笔者进行了多次操作并调试,并邀请家人使用该App进行演练并提出不足之处,积极采纳修改意见后对此案例进行了最终的修改调试。

6 结束语

本文利用App Inventor作为程序开发工具,设计了一款语音识别与文本翻译器App,运用简单的组件设计和逻辑设计二者结合搭建而成,无需复杂的计算机语言编写过程,实现了文本转语音、录音、语音识别、汉译英、英译汉等多种功能,充分体现了人工智能语音技术与自然语言处理技术,中小学生也能很快地掌握并完成项目,也可以根据创意对项目进行修改。AppInventor电子应用平台是一个很好的创作平台,通过此项目设计能够激发初学者学习编程的兴趣,能将创新思维与动手能力很好地结合[6]。经过不断地测试与完善,该App的用户体验也有了很大的提升,具有良好的发展前景。

参考文献:

[1]罗倩茹,秦健,刘全铭.小学初级人工智能作品“智能夜灯”设计与开发——以ai2控制micro:bit通信系统的教学设计与实践为例[J].中国教育信息化,2019(21):60-63.

[2]李玮,朱岩.AI语音交互技术及测评研究[J].信息通信技术与政策,2019(12):83-87.

[3]杨希.基于STEAM理念的高中App Inventor创意编程课教学研究[D].石家庄:河北师范大学,2019.

[4]钱晨露,基于App Inventor 2的绘画App设计与制作[J].电脑迷,2018(12):80-81.

[5]爱课程.App Inventor-零基础Android移动应用开发[EB/OL].(2020-02-17) [2020-05-22]. https://www. icourse163. org/course/ZUCC-1205776807.

[6]梁展鋒.基于App Inventor的创客教育实践[J].教育信息技术,2016(6):21-23.

【通联编辑:唐一东】

基金项目:全国教育科学“十二五”规划课题教育部重点课题“机器人在中小学创客教育中的应用研究”(DHA150287);陕西师范大学2019年研究生教育教学改革研究项目教改一教育实践类(项目名称:VEX教育机器人结构设计及运用研究;立项号:GERP-19-50;课题编号:JCJY002);VEX教育机器人在中小学创客教育中的应用研究(项目编号:JCJY002);中国大学MOOC爱课程平台一教师教育专题“如何做创客教育”阶段性研究成果(课题编号:0401iCourse045)

作者简介:牛潇(1997-),女,硕士研究生在读,主要研究方向:信息技术教育应用,机器人与创客教育;通讯作者:秦健(1962-),女,副教授,硕士,硕士研究生导师,主要研究方向:人工智能与机器人,通用技术,创客教育。

猜你喜欢
语音识别人工智能
人工智能与就业
通话中的语音识别技术