智能语音点名系统的设计与实现(论文+源码)_kaic

目  录
中文摘要
英文摘要
1  引  言
1.1 研究背景
1.2 研究意义
1.3 国内外研究现状
1.4 主要工作
1.5 研究工作和章节安排
2  相关技术介绍
2.1 C语言简介
2.2 EasyX Library for C介绍
2.3 VBS
3  教师点名系统需求分析
3.1 设计目标
3.2 功能需求分析
3.3 性能需求分析
3.4 界面需求分析
3.5 可行性分析
4  教师点名系统设计
4.1 教师点名系统总体架构
4.2 教师点名系统详细设计
5  教师点名系统实现
5.1 系统实现环境
5.2 班级添加模块
5.3 班级选择模块
5.4 学生增删改查模块
5.5 语音顺序点名模块
5.6 语音随机点名模块
6  系统测试
6.1 测试方法
6.2 测试计划
6.3 测试用例设计
6.4 测试项目及结果分析
结  论
致  谢
参 考 文 献
摘  要:
随着我国互联网产业的快速发展,高校课堂采用各种新兴的教学方式越来越多,其中教师点名同样也是一项必要工作。目前,大多数教师仍然采用传统的点名方法,部分高校开始尝试与互联网结合的软件点名方式,但由于仍有很多问题尚未解决,能得到绝大多数教师认同的高效的点名系统还没能推广开来。而为了适应计算机技术急剧发展的今天,这样的点名系统很有必要。本文通过对国内外教师点名系统的了解以及对教师需求的分析,设计开发了这款基于C的教师点名系统。该系统运用EasyX图形库进行界面开发,实现了语音顺序和随机点名。本文首先介绍了课题研究背景及意义,而后介绍了实现该系统运用的相关技术,对于系统进行了完备的需求分析,最后根据设计实现了该系统的各项功能模块。系统能够完整的实现设计需要的功能,顺序点名与随机点名功能能够正常实现。
关键词:C语言;EazyX图形库;教师点名
With the rapid development of China's Internet industry, more and more new teaching methods are adopted in college classrooms, among which teacher roll call is also a necessary work. At present, most teachers still use the traditional roll call method, and some colleges and universities have begun to try the software roll call method combined with the Internet, but because there are still many problems to be solved, an efficient roll call system that can be recognized by the vast majority of teachers has not been promoted. In order to adapt to the rapid development of computer technology today, such a roll call system is necessary. Based on the understanding of the teacher roll call system at home and abroad and the analysis of the needs of teachers, this paper designs and develops the teacher roll call system based on C. The system uses EasyX graphics library to develop the interface, and realizes voice order and random roll call. This paper first introduces the research background and significance of the subject, and then introduces the relevant technologies to implement the system, analyzes the needs of the system, and finally realizes the functional modules of the system according to the design. Conclusion The system can fully realize the functions required by the design, and the functions of sequential roll call and random roll call can be realized normally.
Key words: C language; EazyX Graphics Library; Teacher roll call
1  引 言
1.1 研究背景
在面对当今计算机普及与急剧增长,在实际情况的考察下,学校也应该实施一些高效率的软件,教师需要学会使用这些软件,给课堂带来新颖的教学氛围。如今,由于互联网而诞生的各种奇思妙想的软件,不仅仅对传统行业带来巨大压力,同时对于教育业的教师们来说,是一种大胆的尝试。教师能够利用互联网教学,网上授课,学生也可以通过计算机网上查询自己的这个学期的平时表现情况。但是,对于学生上课表现情况,老师更多的采用传统的点名方式以评判学生的平时分数,以其回答问题的质量和次数来进行打分,并没有很好地享受到网络飞速发展所带来的快捷与便利。所以在上课时如果有一个能够面向学生的点名系统,方便老师了解学生到课率以及对学生进行课堂提问,这将能够大大方便老师集中精力教授知识。尽管软件业发展很快,有利于教育行业的软件却很少,对于大部分的教师来说,开发一个兼具点名与提问的软件成为一个十分迫切的要求。通过一些网上调查,方便教师的软件并不常见,且对于公司而言,教育类软件很难获得巨大的利润,所以很少有为学校、为教师便捷而开发一些软件。但是面对日益发展的计算机网络,我相信教育类软件将是未来重要的发展趋势。日常的智能语音识别可以识别生活中如地点、日期、类型等实体,对于点名的识别则无法直接实现,往往会采取人工记录信息等方法解决。语音识别近年来在国内发展迅速,市场上具有语音识别功能的产品也越来越受消费者欢迎。语音识别解放了人的双手,便捷了人们的生活,智慧了生活。设计了一种有限语音识别系统,具有文本翻译、语音翻译和视频文字提取等功能,一定程度上打破了不同地域不同语言沟通困难的堡垒,解决使用者与外国友人的沟通障碍,方便学习外国文化艺术和科技,具有很高的实用价值和广阔的市场前景。    语音识别通过声学模型和语言模型给出可能的结果。对于NLP下的点名识别来说,未登录词的出现是一大困难。问题在于词必须进行分词处理,同时词库没有把这些词收编进去。如缩写的词汇、最新添加的词汇等等。它们都有可能成为上述困难的原因。
特征被声学模型识别成因素。因素被语言模型转换为或者是英文。前者建模效果以LSTM(Long Short-Term Memory)方式方法较佳,后者以N-Gram较佳。
现时的深度神经网络方法,以及传统的方法,在语音识别领域,二者都紧密相联于声学部分与语言部分。声学部分的模型(Acoustic Model, AM)可以抽象于发声。音频输入被以声学表示作为输出。由此,它成了一个概率问题,即某一语音被表示成某一声学上的表示,它在可能性上属于哪一个表示。语言部分的模型(Language Model, LM)可作用于解决多音字现象的问题。音频序列于AM输出后,LM依可能性最大准则,在给出的备选文字段中找出相应的文字序列。
1.2 研究意义
自步入二十一世纪以来,计算机开始广泛推广,进入了千家万户。自有了计算机,互联网开始蓬勃兴起,到如今,各行各业已经离不开互联网了。而相较于社会而言,学校里的互联网应用并没有达到想象中的那样广泛,教师上课仍然需要采用传统的点名方式,而且需要占用老师上课的很多时间,老师不能每次都对学生点名,导致学生逃课现象频繁发生,对于学生代替答到的现象起不到遏制的作用。这种方式不仅增加了老师的教学负担、分散了老师的教学经历,而且对于学生来说也会感觉厌烦,导致上课效果不佳。因此,迫切需要新颖的点名方式来活跃课堂气氛,不仅方便教师的教学工作,还能够促进学生的考勤率提升。
教师点名系统通过软件的方式,取代传统的点名方法来辅助教师上课点名,语音点名的方式还能够为教师解决点学生繁琐复杂的生僻姓名时的尴尬,能够有效的提高教学的质量和效率。教师点名系统重点服务于广大教师,不仅局限于大学的课堂,对于小初高中也能够使用随机点名的方式提问学生,为教师考勤节约大量时间,对课堂氛围也起到了活跃的作用,提高了学生的参与率,对学生的学习效果也起到了增强的作用。
1.3 国内外研究现状
在国内,一些大学已经开始出现一些高效的考勤系统,杭州电子科技大学推出一套AI系统,上课时可帮老师点名并催旷课同学到堂。但如今还没有出现一种行之有效、广泛应用的教师考勤、点名系统,这种方式并没有广泛的推广开来。
在国外,英国剑桥郡伊利市社区学院采用了人脸识别技术进行点名,这一方法的确为教师节约了大量时间,但同时增加了预算,为了点名而增加的人脸识别值不值得尚未可知。而在美国佛罗里达的一所学校,通过扫描指纹的方式来点名,为了更好地记录下学生从来学校、到被安全送回家的全过程,指纹扫描仪还从教学楼搬到了校车上[1]。但是国外的点名方式需要耗费很大的资金,在每间教室安装人脸识别系统对于一些学校来说并不太现实。
1.4 主要工作
本文首先简要介绍目前国内外对于教师点名的现状以及一些点名软件耗资巨大,得不偿失,故推出本文的教师点名系统,通过对系统的主要功能需求分析,设计系统所需的各个模块,最后根据设计需求,编码实现各个模块。系统主要分为6个模块:用户界面模块、班级添加模块、班级选择模块、学生增删改查模块、语音顺序点名模块、语音随机点名模块。用户界面模块是给用户显示一个可视化的图形界面,简洁明朗且方便快捷。班级添加模块是对新班级点名时方便录入学生姓名,而不会仅仅只能对一个班级进行点名。学生增删改查模块是对一些特殊情况的学生,如转入、转出、错误输入等进行修改。语音点名模块是系统最主要的功能模块,实现对学生的顺序点名并语音输出。语音随机点名模块是针对于教师的上课提问环节所添加的模块,同样很有必要。
本系统开发使用的是基于C的图形化界面,使用主流的C语言,具有广泛的应用平台,可视化界面将大大缩短系统操作的时间。
1.5 研究工作和章节安排
第一章简要说明课题的研究背景及意义,对现如今的教师点名系统简要介绍以及劣势,提出本系统相对而言的优势。
第二章主要阐述系统相关的技术,主要是对系统用到的C语言、EazyX图形库以及VBS脚本语言进行简要介绍。
第三章是通过设计目标,提出教师点名系统的需求分析,从而研究系统的可行性,是完成系统设计的前提。
第四章是对系统开发设计,通过对系统的总体架构以及功能分析,详细设计了6个模块的功能,能够有效完成系统的实现。
第五章系统开发实现,主要对系统开发环境进行简要介绍,之后对5大模块的功能实现做了图示分析,展示了系统的功能实现。
第六章是对系统功能进行测试,找出功能上的不足,最后进行结果分析。
2  相关技术介绍
2.1 C语言简介
20世纪80年代,C由美国AT&T贝尔实验室的本贾尼·斯特劳斯特卢普(Bjarne Stroustrup)博士发明并实现,最初这种语言被称作“C with Classes”带类的C[2]。由于C语言结构化的编程,使得程序清晰可靠,维护性好,C语言一度占统治地位。但是用它来编写一些大型的程序时,却会出现很多困难。为了解决这种麻烦,本贾尼·斯特劳斯特卢普根据C语言的基本框架,保留C语言原本的优点,增加了面向对象编程这一机制。最一开始,C是作为C语言的增强版出现的,C支持好几种风格,它是一门多泛型语言[3]。面向对象编程的出现,使得C出现在计算机领域视野当中,C语言开始成为编程的主流语言之一。
面对对象编程首先是设计一个新的类,类中是程序所需求的东西,例如对于本文的系统而言,图形库需要定义一个按钮类,类中要有按钮所需要的各种属性以及鼠标点击按钮需要的响应机制,而使用这些类的对象便可以完成一项程序。从低级组织(如类)到高级组织(如程序)的处理过程叫做自下而上(bottom-up)的编程[4]。
在C语言中,头文件需要包括iostream,表示输入输出流。cin和cout作为istream类和ostream类的对象替代了C语言中的printf和scanf。而后需要使用“using namespace std;”来表示标识符使用命名空间中名为std的namespace中。stdlib.h头文件包含了C最常用的系统函数,其中包括rand函数。sting在C中表示字符串类。C通过fstream的文件流来对文件进行操作。graphics.h则表示图形库。
创建类后,需要使用new button来动态分配内存,从而实现button按钮的创建,动态内存分配可以在程序运行期间判断内存占用的大小,从而分配合适的内存空间,达到节约内存的效果。
在C中,可以使用system函数来调用系统命令,例如用system("notepad")可以打开记事本,从而达到在程序运行时能够打开一个窗口的效果,为实现添加新班级的功能提供了保证。
2.2 EasyX Library for C介绍
EasyX是针对C的图形库,有利于帮助C程序员快速上手图形及游戏编程[5],C作为一个难学易用的语言,本身对于初学者来说就犹如雾里看花,不仅如此,还要忍受黑底白字的控制台界面。因此,用图形库来告别黑框框对于初学者来说是一大福音,为初学者提供一个“玩具”,能够尽早的享受编程的乐趣,更进一步加深对编程的兴趣。EasyX简单易用,同时学习成本极低,应用领域广泛。对于EasyX需要包含头文件#include<graphics.h>,首先需要初始化窗口,采用initgraph(int width,int height),通过设置窗口的长宽来显示合适的用户界面[6]。创建完一个窗口后,可以设置窗口属性,可以绘图,画按钮,文字输出等等。
2.3 VBS
VBScript的全称是:Microsoft Visual Basic Script Editon,VBS(VBScript的进一步简写)是基于Visual Basic的脚本语言,脚本语言, 就是不编译成二进制文件,直接由宿主(host)解释源代码并执行[7]。通过在txt文本中输入代码"CreateObject(\"SAPI.SpVoice\").Speak(\"%s\")",随后可以输入文字,再将文本格式转换为VBS格式,此时文本内容便转换为语音朗读出来。
3  教师点名系统需求分析
3.1 设计目标
本文所设计的教师点名系统需要符合以下要求:
(1)能够实现用户界面简单明了,方便用户操作;
(2)能够实现新班级学生名单的添加;
(3)能够实现对不同班级的点名选择;
(4)能够实现对学生的增删;
(5)能够实现对学生的语音顺序点名;
(6)能够实现对学生的语音随机点名。
3.2 功能需求分析
根据对教师点名系统的设计目标进行了分析,得出本系统具有的主要功能如下:
(1)用户界面模块;
(2)班级添加模块;
(3)班级选择模块;
(4)学生增删改查模块;
(5)语音顺序点名模块;
(6)语音随机点名模块。
3.3 性能需求分析
为了保证教师点名系统可以正常平稳运行,需要在程序入口处添加BeginBatchDraw()以及在程序出口添加EndBatchDraw()的双缓冲来防止闪屏。同时需要使用putimage()用于背景图片的刷新。
3.4 界面需求分析
为了方便教师点名,系统需要尽可能节省时间,所以用户界面需要简洁,为了保证大多数教师能够操作系统,避免复杂操作,因此系统界面设计原则如下:
(1)可视化界面。本系统需要界面图形化,需要鼠标的响应机制。
(2)便捷性。由于本系统是为了方便教师点名,所以需要尽可能简洁的操作,减少使用者的负担,缩短点名时间。
3.5 可行性分析
  根据相关技术介绍,教师点名系统的实现在技术上是完全可行的。软件可以使用Virtual Studio C的开发环境,EasyX的图形化界面以及VBS脚本,技术上完全可行。软件操作简单快捷,无需连接网络,具有较高的普适性,适合绝大多数教师使用。382d8d56e10049d0b96607b111cbde5f.png

dda3844e58094cd89076d62ddbda447c.png 

78a64e3b2896408bbf2e98a323b4aa2c.png 

48623074dbc74cd9a2d7bb7d43f68280.png 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值