楊云海,章芬芬
(韶關學院信息科學與工程學院,廣東韶關512005)
一種語音課堂考勤系統的設計與實現
楊云海,章芬芬
(韶關學院信息科學與工程學院,廣東韶關512005)
課堂考勤工作是教師必須開展的一項日常教學管理工作,傳統的考勤方式、登記辦法和統計方式都存在費時費力、效率不高的問題.使用信息技術開發一種語音課堂考勤系統輔助教師進行課堂考勤以及記錄、統計等工作,可在一定程度上減輕教師在課堂考勤和考勤統計方面的工作量.
課堂;考勤;語音;數據庫
課堂考勤是教師的一項日常教學管理工作,是學校教學管理工作的重要組成部分[1].采用傳統的考勤辦法:教師點名、手工記錄缺勤情況的方式,不僅需要花費較多的課堂時間,通過手工記錄得到的紙面的缺勤記錄材料也不方便查對和統計.因此,采用傳統方法開展課堂考勤工作,效率不高.設計、開發一種語音課堂考勤系統,使用計算機進行播報學生名冊、登記缺勤記錄等工作,可以縮短課堂考勤所需要的時間,同時,電子化的考勤記錄也更方便管理,對提高教師的考勤工作效率有一定的幫助[2].筆者根據教師在課堂考勤工作的需求,開發了一個簡單易用的課堂考勤管理系統.
作為一個簡單易用的課堂考勤管理系統,系統的功能比較簡單.按軟件各部分實現的功能,可以劃分為幾個主要模塊(見圖1).

圖1 語音課堂考勤系統功能模塊的劃分
1.1 班級管理
教師在一個學期(或一段時間內)為多個班級授課的情況比較普遍,可以把多個班級的名單導入到系統中,當要對特定的班級進行考勤時,可以通過查找、篩選得到該班級學生的名單,以便按名單進行考勤.選定特定的班級后,系統還能自動統計出班級人數(即要進行考勤的人數).
1.2 考勤語音播報與同步顯示
計算機以語音的形式逐一播報學生名單,同時,正在播報的學生姓名以較大的字體同步顯示在顯示器上(以方便接投影播放).如學生缺勤,教師通過點擊鼠標登記學生的缺勤情況,此時,系統對所登記的缺勤類型(如曠課、請假等)也進行播報.
1.3 缺勤記錄的統計與管理
缺勤記錄在考勤的過程中,就由教師通過點擊鼠標的操作記錄在數據庫中.在完成當天(或當次)的考勤后,可以馬上翻查出登記的缺勤情況,方便核對信息和統計缺勤人員.另外,在學期末(或完成階段課程后),如需要對缺勤情況進行匯總,可以根據登記的情況獲取每個學生的缺勤匯總數據.
2.1 數據庫設計
2.1.1 數據庫管理系統的選擇
由于系統是單機單用戶的,并且要存儲、處理的數據量不大,可把選擇數據庫管理系統的原則定為:①較輕量,功能和性能要求都不需要太高,能實現基本的數據存儲和檢索即可;②安裝配置較為簡便;③管理工具的功能較為完善.
微軟Access桌面數據庫管理系統的各方面特性都能很好地符合這些要求.Access數據庫不僅具有強大的數據管理功能,而且可以很方便地利用各種數據源生成窗體、查詢和報表,對于數據的查詢和管理都十分便捷[1],本系統也選用Access作為數據庫管理系統.

圖2 語音課堂考勤系統的數據庫設計
2.1.2 數據表的設計
系統使用了5張表記錄所需要的信息.
學生基本信息使用了3張表,分別是:stu(學生表,主碼為:stu_id)、class(班級表,主碼為:class_id)、institute(學院表,主碼為:institute_id).
考勤記錄使用了2張表,分別是:check(缺勤記錄表,主碼為:check_id)、check_type(缺勤類型表,主碼為:check_type_id).
各表的字段名及完整性約束見圖2.各項完整性約束確保了數據的有效性和正確性.
2.2 語音播報的實現
要使計算機能播報學生名單,就要把文字轉化為語音,這就是需要使用TTS(Text-To-Speech,也稱Speech Synthesis,即語音合成)開發工具.微軟的TTS開發工具Speech SDK 5.1默認提供了英文和中文兩種語音引擎,可以很方便地使用它來開發朗讀中文和英文的應用程序[2],非常適合本系統的需求.Speech SDK 5.1的SAPI(Speech Application Programming Interface)5.1提供的組件對象模型(COM)SpVoice,是實現TTS程序的主要部件.
2.2.1 抽取待播報的文本
在播報學生名單時,系統先從數據庫中讀取需要考勤學生數據的集合(一個班級、或多個班級),數據集合存放并顯示在系統主界面的ADODC控件中;移動ADODC的游標獲取每條學生記錄中的姓名(stu_name)字段,把學生姓名文本交由SpVoice對象進行處理.

圖3 TTS數據處理流程
2.2.2 播報文本
在使用SpVoice對象時,要遵循以下的步驟:①創建SpVoice對象;②設置SpVoice對象的屬性,如:使用的語音引擎(Voice)、語音流輸出的格式(Format)、語速(Rate)、音量(Volume),以及語音狀態位(Speak flags,可以使用不同的設置組合,使語音播報更能符合應用場景的需求)等等,當然也可以不指定而使用系統默認的設置;③調用SpVoice對象的Speak方法,實現文本到語音的轉換.
使用VB實現這幾個步驟的代碼如下:
Set SPV=New SpVoice'創建SpVoice對象
Set SPV.Voice=語音引擎'按照所選擇的語音對語音對象進行更改
SPV.Rate=語速'更改語速,范圍為-10至10
SPV.Volume=音量'更改音量,范圍為0至100
(其它設置,略)'由于SpVoice對象的可設置屬性很多,在此不一一列舉
SPV.Speak需要播報的文本'播報文本
2.3 開發環境的選擇
系統采用VB作為開發環境.VB技術雖然較為古老,但其可用組件豐富,擴展性較強,并且提供了較為直觀、易用的數據庫開發控件,可以快速開發出數據庫應用程序[7].VB提供了Jet數據庫引擎,應用程序通過Jet數據庫引擎可以直接建立和編輯Access數據庫并完成對數據庫的各種操作[8].另外,對于本系統所選用的語音開發工具SAPI 5.1,VB也有比較好的支持和豐富的范例.
2.4 考勤功能界面和操作
課堂考勤系統的界面以簡潔風格為主,打開軟件,選擇要進行考勤的班級后,就可以開始考勤了,主要功能界面見圖4.

圖4 語音課堂考勤系統的主界面
在考勤的過程中,教師通過鼠標點擊“上一位”或“下一位”按鈕,計算機按游標的位置播報學生姓名,如果學生應答不明確,則可點擊“重復”按鈕重新播報其姓名,如確定缺勤,則點擊相應的缺勤類別按鈕進行登記.除了可以對所列出的名單(全班)進行全部考勤以外,還可以選擇從名單中的某個序號開始,對以上或以下的名單進行考勤.在計算機逐一播報學生姓名的同時,學生的姓名也同時以較大的字體顯示在顯示器上.
在完成當前的考勤后,還可以把當前缺勤的情況進行匯總顯示(見圖5),可以在完成考勤后對缺勤人員的登記情況進行核對.

圖5 缺勤登記信息核對窗口
2.5 統計功能的實現
系統把每次的缺勤情況都以新增記錄的形式保存在數據庫中,如果要對缺勤情況進行階段性的統計(如學期末統計等),只需要對所缺勤情況記錄進行分類、匯總即可.系統使用了Access的交叉表查詢功能實現了一個既可以顯示缺勤記錄總計信息、又可以顯示缺勤記錄明細信息的表格,可謂是一目了然(見圖6),極大地方便了教師對信息的統計和查看.

圖6 缺勤信息統計表
實現這個交叉表查詢的SQL代碼如下:
TRANSFORM Count(考勤表.[check_type])AS check_type之計數
SELECT
考勤表.[stu_sno]AS[學號],考勤表.[stu_name]AS[姓名],
考勤表.[class_name]AS[班級],Count(考勤表.[check_type])AS[缺勤統計]
FROM考勤表GROUP BY考勤表.[stu_sno],考勤表.[stu_name],考勤表.[class_name]
PIVOT考勤表.[check_date];
在完成語音課堂考勤系統的開發后,經過一段時間試用,系統的功能和穩定性都能達到設計要求,在課堂考勤時能較大地提高工作效率,在考勤信息統計匯總時也發揮了作用,有效減輕了教師的工作負擔.但是,本系統還存在一些不足,比如:語音播報未能做到十分自然,一些姓名中的多音字未能正解識別(這也是受限于所使用的語音引擎);系統的統計功能的界面不夠美觀、功能仍需補充和完善.另外,對于一款實用型語音課堂考勤軟件,集成一些必要的教師日程管理或教學管理的功能,也是很有必要的.今后,將繼續研究課堂考勤、登記和統計工作的需求,對系統功能作進一步的改進和完善,提高其可用性和實用性.
[1]胡開華,舒期梁,張玉靜.基于VB的課堂考勤系統[J].科技信息,2009(36):155-156.
[2]陳侃.校園考勤系統的設計與實現[J].計算機光盤軟件與應用,2013(2):235-236.
[3]張洪波.Access在學生宿舍管理中的應用[J].理論界,2005(3):176.
[4]童強.利用SAPI5.1實現電腦語音朗讀應用程序[J].微計算機信息,2006(5):257-258.
[5]尹惠玲,楊帆,于虹,等.基于COM的智能TTS系統的設計與實現[J].微計算機信息,2009(15):172-173.
[6]陳超越.基于VB和SAPI的語音合成的實現[J].電腦編程技巧與維護,2010(18):42.
[7]夏慶梅,熊華鋼.VB訪問SQL Server的三種數據訪問接口的研究[J].計算機應用研究,2001(12):44-45.
[8]吳文斗,周兵,吳興勇.Visual Basic程序設計教程[M].2版.長沙:湖南教育出版社,2011:292.
Design and Implementation of a Speech Classroom Attendance Checking System
YANG Yun-hai,Zhang Fen-fen
(School of Information Science and Engineering,Shaoguan University,Shaoguan 512005,Guangdong,China)
Checking the attendance of student in class is a daily work for a teacher.Using the traditional way to checking attendance,registering the absence record,and counting it must cost much time and energy,usually has low efficiency.Designing and achieving a speech classroom attendance checking system,using computer to assisted teachers to do something like checking attendance,registering the absence record,and counting absence record,can reduce the workload for the teacher.
classroom;attendance;speech;database
TP311
A
1007-5348(2016)12-0010-05
(責任編輯:歐愷)
2016-11-02
2015年度韶關學院科研項目(S201501002).
楊云海(1978-),男,廣東廣州人,韶關學院信息科學與工程學院講師,碩士;研究方向:信息技術應用.