基于Java语言的语音编程App设计与实现
2021-01-10朱飞燕周挺
朱飞燕 周挺
摘要:随着人工智能技术的发展,语音识别在智能手机领域的应用日趋广泛。那么把语音识别技术应用于基于手机平台的Java程序编写,能够减少手动敲写代码带来的人为错误,极大地提高代码编写效率。
关键词:语音编程; 语音识别; java编译器
引言
在学习《Java编程语言》这门课程时,发现许多大学生在学习Java编程时候,对于传统的运用台式电脑敲击键盘来编写程序的方式存在着一定的内心抵触,抵触的原因在于老的方式需要手动敲写每行代码,效率低下,而且更容易产生人为敲写的错误,使得程序的编译和查错更加困难,另一方面受到台式电脑的限制,无法实现随时随地学习编程。
反观现在的大学生們更习惯,精通和依赖于智能手机带来的操作快捷和方便。学生们更喜欢在智能手机上学习和编写Java程序。目前手机应用市场上面存在着几款基于智能手机的Java语言编译器IDE,不过这几款IDE都还是需要学生通过手机虚拟键盘来一行一行的敲写代码,由于手机屏幕大小有限,虚拟键盘的敲击还只能通过单指触摸操作,这种通过虚拟键盘敲写代码的方式反而增加的代码编写的难度,降低了程序的编写效率。
随着人工技术的发展,语音识别在智能手机领域的应用日趋广泛。那么把语音识别技术应用于基于手机平台的Java程序编写,能够减少手动敲写代码带来的人为错误,极大地提高代码编写效率。同时采用云编译技术,让学生随时随地实现快捷编程。
1、系统设计
那么如何提高智能手机上的编程速度是我们需要深入探讨和研究的课题。基于人工智能的语音识别技术目前发展日趋成熟,把语音识别技术运用于编程领域已经是可行的方案。本项目主要采用Android技术,语音识别技术实现Java语言的语音编程IDE的功能设计,有效的提高了编程效率,降低了键盘输入带来的人为操作失误,同时我们采用云编译技术实现程序的在线编译和运行。
系统主要设计模块有:代码编辑模块,代码编译模块,知识学习模块、视频模块等。
2、关键技术
要设计和实现一款能够用于教学的基于语音识别的Java编程工具软件。主要研究的关键技术有:讯飞语音开发平台中语音听写SDK开发包的研究,计算机语言的特征研究,后台语音数据库定义和设计,软件UI界面的设计、远程编译技术等。
(1)语音听写SDK开发的研究:主要掌握讯飞语音提供的开发接口的定义和使用方法。以及如何把讯飞语音开发包加载到MyEclipse开发环境中去。
(2)计算机语言特征研究:掌握计算机语言Java语言的语法特征,分析Java语言的JDK包中所报行的开发类,进行归类总结,方便在后期开发中能够自动引用加载这些系统类。同时,对Java基础语法的关键字词进行归类。
(3)后台语音数据库的设计
在对Java语言的特征和用法进行归纳总结后,针对人体语音的特征,利用关系型数据库在后台创建数据库和设计复杂语音和Java语法和语义的对应关系。设计的标准时能够根据语音的识别内容快速查询并构建Java语句。
(4)UI界面的设计
UI界面要求能够简洁美观,操作方便,流程清除,语音编写出来的代码正确,简介,效率高,对产生的异常情况能够及时处理和完善。
(5)远程编译技术
编译Java程序需要几百兆大小的JDK,而手机端不支持安装JDK,所以要编译利用语音编写的Java程序,就需要把程序发送给服务器,让服务器去编译Java代码并把运行结果反馈给用户客户端。
3、总结
本课题实现了一款基于语音编程的Java IDE的App,该系统改变传统的编程模式,利用语音实现更方便快捷的代码编写工作,帮助程序员和学生脱离繁重的手工代码编写,极大的缩小编程所耗费的时间,让程序员留出足够的时间来进行算法设计,提高工作效率。同时可以极大地提高学生学习编程的兴趣,具有一定的应用价值。
基金项目:西安航空职业技术学院自然科学类科研项目:“语音编程教学软件研究与设计”(课题编号:19XHZK-022)。