毕业论文
毕业论文
基于移动端APP控制的智能语音玩具
基于移动端APP控制的智能语音玩具
摘要
随着计划生育政策实施以来,孩子的成长不容忽视,而对于孩子而言,玩具是陪伴时间最长的,本开题开发的智能语音玩具则可以成为孩子的伙伴来帮助其成长,让玩具成为与父母沟通的桥梁,在一定程度能缓解父母因为工作忙无法陪伴孩子的问题,也能起到培养孩子良好的品德的作用。
本文设计的基于移动端APP控制的智能语音玩具,首先,详细介绍了本课题的意义、背景和未来发展潜力,论文的主要内容;对移动端、玩具端用到的关键技术做了相应的分析;对本项目进行需求与模块分析。该课题的移动端以HBulider作为开发环境,通过MUI实现app移动端应用布局,HTML5PLUS实现移动操作系统的硬件驱动调用及系统调用,玩具端则以Pycharm为开发环境,采用Python的Flask框架搭建,与数据库进行交互以处理相应的业务逻辑。数据库使用MongoDB实现数据存储,如存取玩具信息及用户信息。
其次,本文对系统设计的各个模块做了详细的研究、设计和对其功能的实现,包括页面的设计等等。最后对此次设计做了总结,以及对未来的规划与展望。
关键词:HTML5PLUS;百度AI开放技术;Flask;MongDB
Intelligent voice toy based on
mobile APP control
Summary
With the implementation of the family planning policy, the growth of children can not be ignored, and for children, the toy is the longest companion time. The intelligent voice toy developed by this title can become a partner of the child to help them grow and let the toy become The bridge of parental communication can relieve the problem that parents can\’t accompany their children because they are busy with work, and can also play a good role in cultivating children\’s good moral character.
The intelligent speech toy based on mobile APP control designed in this paper firstly introduces the significance, background and future development potential of this topic in detail, the main content of the thesis; the corresponding analysis of the key technologies used in mobile and toy end ; Demand and module analysis of the project. The mobile terminal of the subject uses HBulider as the development environment, implements the app mobile application layout through MUI, HTML5PLUS implements the hardware driver call and system call of the mobile operating system, and the toy end uses Pycharm as the development environment, and uses Python\’s Flask framework to build. The database interacts to handle the corresponding business logic. The database uses MongoDB for data storage, such as access to toy information and user information.
Secondly, this paper has done a detailed study, design and implementation of its functions for each module of the system design, including the design of the page. Finally, the design is summarized and the future planning and outlook.
Keywords: HTML5PLUS; Baidu AI open technology; Flask; MongDB
第一章 绪 论
1.1研究背景及意义
从人类进入工业时代后,人类就可以制造并使用各种机器,但是,随着人类的不断发展进步,便有了更广阔的理想,那便是能够使机器听从人的口头指令并作出相应的反映动作,从而实现人机无障碍交流的最终目标。问题又来了,如果玩具不在自己的身边,那么人又来如何控制玩具呢?这就需开发一款移动端APP,无论距离多远,都能通过你手里的移动端(例如手机、平板等)App输入命令,从而达到控制玩具的目的。
语音合成以及语音识别是这一类型儿童语音玩具的关键性技术,其重要性在语音信息处理方面显而易见,也是现今这一研究领域内的核心研究方向,是语音学技术以及数字信号处理技术相互结合,相互交融而生发出来的创新性产物,其中包括的重要知识内容有人工智能、模式识别、计算机学、语言学、心理学,形成了人机交互的便捷化操作过程,实现了运用计算机语言连通用户与机器的重要目标。
此课题的玩具端所用到的编程语言是Python语言,所需要的语音识别技术采用的是百度AI开放技术,而Python则能完美的使用百度AI的baidu-aip模块和ffpeg去实现语音合成和语音识别。这一语音识别系统与其他语音系统在细节方面的处理和实现上有一定的差异性,但都采用了较为相似的基础性技术,最为典型的语音识别系统,其实现过程如下图1.1所示。
图1.1
此外,移动端APP则使用Websocket实现语音IM通讯。WebSocket 协议,使得玩具端和移动端之间的联系更加方便简单,能更好的节省资源,不用考虑距离长短,能够更实时地进行通讯。下图图1.2 为Websocket传输方式
图1.2 Websocket传输方式
随着科学技术的高速发展和我国科技创新环境的不断完善,玩具智能化必然会成为未来玩具市场向前发展的必由之路。目前,在智能玩具的市场分类中,语音玩具能从众多行业中脱颖而出,原因就是语音是人类最简单、最直接、最方便地交流工具的声音形式。在物联网产业不断发展前进的大背景影响下,许多玩具企业都尝试将通讯、电子、计算机等相关领域内优秀的可学习可利用的技术植入到孩子们的玩具中,从而使简单的功能性玩具优化升级,达到一个更高得水平,突破了传统玩具一直以来都保有的局限性,即创新性不足,无法实现与用户的沟通交流,使用户体验大大降低,而智能玩具能够赋予玩具“听、说、读”等实际有用的功能,与人进行互动交流,是玩具在家长心中提升到了一个新的地位上,它不仅具有传统的娱乐功能,而且还可以帮助孩子学习进步。人们通过移动端APP控制智能语音玩具,使人与玩具之间的联系更加紧密,形成了“人与玩具”、“人与人”、“人与语言”、“人与机器”交互沟通的良好氛围,去创造“前无古人,后无来者”的体验场景。
1.2 智能玩具未来发展趋势
科学技术的发展一方面为我们的生活带来了许多便利的同时也为我们提供了非常多的快乐与活力,就玩具市场而言,由科学技术植入的玩具产品形成了新型的市场需求,提高了该类产品对于其相关顾客群体的吸引能力。智能化玩具的出现和崛起必然成为玩具市场的发展潮流,深刻影响着各个家庭的日常生活,其需求量也必然大幅上升,由此看来在未来玩具市场上,智能化玩具的可挖掘潜力非常巨大,市场前景十分广阔。
但是我国智能玩具就国外相比还是面临巨大的挑战:首先,国内智能玩具厂商的知名度较低,所占市场份额较少,不利于占领目标市场,获得规模效益和既定的报酬;其次,本国的智能玩具市场对国外的厂商有着较为严重的依赖性,极易受到外国政治经济以及客观条件的影响;最后,本国厂商对玩具的定位与设计过于单一,创新能力较差,不利于更好的吸引目标顾客群,提升用户体验。
1.3论文的主要内容
智能语音玩具是现代玩具行业发展的一个必然趋势,其在市场上的主要功能是语音交流,即是由人与玩具之间进行交流对话模式,人们通过移动端APP给玩具发送语音,在有限范围内,语音玩具能自行回答或者提问,本课题的项目根据移动端和玩具端的语言代码编写不同,回答和提问的范围也不同。
1.3.1玩具设计要求
1、简单语音对话交流
2、语音点播:唱儿歌、成语接龙、古诗朗诵、讲科普知识、讲故事等
1.3.2.本课题所用到的人工智能技术
语音类 : 语音识别、语音合成
图像类 : 图像识别、文字识别、人脸识别、视频审核
语言类 : 自然语言处理、机器翻译、词法分析、依存句法分析、文本纠错、对话情绪识别、词向量表示、短文本相似度、词义相似度、情感倾向分析
第二章 玩具端与移动端APP关键技术分析
2.1 玩具端的关键技术分析
2.1.1 Python
Python语言是一种解释型编程语言。号称是最接近人工智能的语言,因为它的动态便捷性和灵活的三方扩展,成就了它在人工智能领域的丰碑,走进Python,靠近人工智能。在开发的过程中,可以为开发者省去编译的这个环节。语法简洁清晰,特色是强制用空白符作为语句缩进,具有简洁性、易读性以及可扩展性的优点,代码风格简洁易懂易于维护。Python就为我们提供了非常完善的基础代码库,包含了文件、GUI、数据库、网络、文本等内容。除了内置的库外,Python还有大量的他人开发的第三方库,供你直接使用的东西。用Python开发,许多功能不必从零编写,直接使用现成的即可,可以很大程度上减少工作量。它已被逐渐广泛应用于系统管理任务的处理和Web编程。
2.1.2 Flask
Flask框架是一个基于 Python 开发的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2。微架构通常是很小的不依赖于外部库的框架,优点是框架很轻量,更新时依赖少,并且专注安全方面的 bug,可以减少开发的复杂度,它还保留了扩增的弹性,可以用Flask-extension加入这些功能:ORM、窗体验证工具、文件上传、各种开放式身份验证技术等。Flask的特点在于它让开发者做主,使其能对程序具有全面的创意控制。在大多数的框架中,你想使用的解决方案不受到框架官方支持的方法会为你带来许多的麻烦。而在Flask中,你可以自主的选择程序的组件,如果找不到合适的组件,还可以自己开发。
2.1.3 MongDB数据库
MongoDB是NoSQL数据库的一种,是最流行的关系型数据库管理系统之一,
它基于分布式文件存储,由C++语言编写。在WEB应用方面,MongDB为其提供可扩展的高性能数据存储解决方案。特点是;高性能、易部署、方便使用、存储数据非常方便。
Mongo主要解决的是海量数据的访问效率问题。它和我们使用的关系型数据库最大的区别就是约束性,可以说文件型数据库几乎不存在约束性,理论上没有主外键约束,没有存储的数据类型约束等等。MongoDB中也同样有以上的概念,但是名称发生了一些变化,严格意义上来说,两者的概念极为相似,但又有些出入,不过无所谓。由于Mongo可以支持复杂的数据结构,而且带有强大的数据查询功能,因此非常受到欢迎。
2.1.4 Baidu-AI开放平台与图灵机器人
随着电子科技的飞速发展,智能产品越来越普及,智能产品芯片的技术不止仅限于单片机,还可以借用第三方技术来完成芯片的开发,将其作为芯片的嵌入式硬件技术,这样未来公司在制作中,不只能节约人力还能节省资金使用,可以将大量成本投入到硬件研发中。本课题所使用的编程语言Python则能完美的使用第三方平台 — 百度AI开放平台的语音技术、图像识别、自然语言处理和图灵机器人的问答实现语音识别、语音合成、人与玩具对话、识别关键词语等功能。
2.2 移动端APP的关键技术分析
2.2.1 HTML5 PLUS
HTML5 PLUS是一款加强版的移动端浏览器引擎,它是HBulider利用自己的IDE结合不同平台的借口再加上html5的东西开发出来的一套框架,它有自己的使用规范,它允许和提供了一些借口和函数来让web开发者实现原生app所能实现的功能。本课题HTML5PLUS用于实现移动操作系统的硬件驱动调用及系统调用。
2.2.2 MUI
由于jq的jqmobe、bootstrap、framework7、angular的ionic等框架在某些移动端平台的性能参差不齐,UI风格差强人意,APP制作效果不佳,学习门槛较高,无法得到我们想要的高性能APP框架,所以中国高手基于ratchel框架改造,实现了第一版的MUI。
MUI框架,不依赖任何第三方JS库,核心就是一个UI框架,且是原生UI,高性能,有着丰富模板,非常满足本课题移动端APP的设计理念。
第三章 项目分析
3.1构架概述
3.1.1 功能构架
智能玩具项目分为移动端和玩具端,购买玩具的普通用户使用移动端(手机、平板等)app注册登录后成为玩具管理员,进入好友列表,选择你的玩具好友,用户可以通过APP的IM通讯发送语音指令给玩具,玩具接收指令后,就会按照指令做出相应指示。例如:“我想听儿歌小毛驴”,指令一下,玩具马上音乐响起。下图图3.1展示的是整个智能玩具项目的功能:
图3.1 项目功能模块图
3.1.2 模块需求描述
3.2 项目开发环境
3.2.1 移动端
3.2.2 玩具端
3.3 项目任务的可行性分析
3.3.1 技术可行性
智能语音玩具移动端APP使用HTML5 PLUS实现移动操作系统的硬件驱动调用及系统调用。使用原生MUI进行APP的应用布局,通过MUI对APP中元素位置的排版进行控制和它对页面效果的加强,为用户提供更流畅美观的浏览效果和高性能体验。
智能玩具的玩具端采用python的flask框架搭建。Python具有简洁性、易读性以及可扩展性的优点,代码风格简洁易懂易于维护。Flask是一个轻量级 Web 应用框架,可以减少开发的复杂度,可以更加灵活、自由的组织模块。通过Websocket实现语音IM通讯,当启动玩具端后台程序时,Websoket随之启动,即可无视距离长短进行语音通讯。
数据库使用Mongdb来实现数据的存储,如存储用户信息和玩具信息等。
3.3.2 经济可行性分析
第四章 项目设计
第五章 项目实现
第六章 项目测试
6.1 玩具调试
6.1.1 玩具检查
检测流程如图6.1
图6.1
- 玩具端Websocket是否能接收移动端APP发送的语音指令
- 玩具声音是否录制成功
- 人类的语音指令能否正常发送给玩具端
- 玩具能否正常接收人类命令并作出相应指令
6.1.2 玩具功能检查
根据编写的语言要求,检查玩具是不是能正常按照程序运行
6.1.3 玩具功能的调试
根据功能图6.1所示,检查玩具是否能完成上述要求
6.2 移动端APP模块的调试
1.根据编写的语言要求,检查HBulider能否正常运行,运行后,能否和移动端模拟器mumu建立连接
2.移动端APP能否接收玩具端发送的语音指令
6.3 综合调试
将玩具端和移动端APP两个项目进行整合,对期间出现的故障和BUG进行排除和调试,使其能正常建立连接,实现完整的功能。
第七章 致谢
在本次毕业设计的过程中,我得到了指导老师王宏志老师的悉心指导和大力支持。他在玩具的设计与构思上帮我做出了理性的分析,在APP和玩具功能的实现上给予了我很大的帮助。在此,非常感谢王宏志老师,他耐心的指导,对于我顺利完成这次毕业设计起到了至关重要的作用。同时,在论文的书写过程中,感谢老师们提出的宝贵意见。使我将设计和论文完成的更加完善。
毕业设计作为大学生活整体的一次考核,能够完成毕设自然也离不开过去四年中的各科老师的教导,无论是编码、数据库、测试、绘图,甚至于论文的撰写,都受益于他们每个人,是他们教会了我知识,给予了我完成任务的能力。
除此之外,还要特别的感谢在毕设过程中帮助过我的同学们,他们不仅帮助我解决了问题,还在我遇到挫折的时候激励着我,给了我完成任务的勇气。因为有你们在学习和生活中的并肩同行,一同学习,一同成长,我才能有如此美好的大学时光,让我以积极向上的态度来完成大学四年的学习生活。
大学的生活转瞬即逝,在过去四年中,母校为我提供了优秀的学习、生活环境,它见证了我的进步与成长,而在毕业设计这个任务繁重、时间紧张的阶段,我感到自己的能力又得到了进一步的提升。我相信自己能将在大学四年中学到的知识应用到将来的生活和工作中,感谢母校的栽培。最后对在过去帮助过我的父母,老师,同学致以最诚挚的感谢,祝大家身体健康,心想事成。
参考文献
[1] Miguel Grinberg.Flask Web开发[M],人民邮电出版社,2015,15-19.
[2]崔婷婷.基于Flask框架的骆驼帮系统的设计与实现 [D],山东大学,2016.
[3]叶峰.Python最新Web编程框架Flask研究[J],电脑编程技巧与维护,2015,
[4]王浩,智能语音玩具[D],扬州职业大学–电子工程系,2015,
[5]赵力,语音信号处理[M],机械工业出版社,2009.06.
随时补充