孫 遜,鮮學(xué)豐,陳天樂,王 敏
(1.蘇州市職業(yè)大學(xué)計(jì)算機(jī)工程學(xué)院,江蘇 蘇州 215104;2.江蘇省現(xiàn)代企業(yè)信息化應(yīng)用支撐軟件工程技術(shù)研發(fā)中心,江蘇 蘇州 215104)
全球化的進(jìn)程使得我們已經(jīng)進(jìn)了一個(gè)全民學(xué)習(xí)英語的時(shí)代,中國人學(xué)習(xí)英語面臨“啞巴英語”的窘境,聽不懂同時(shí)也說不出來。在20 世紀(jì)90 年代用戶主要使用復(fù)讀機(jī)和錄音機(jī)練習(xí)聽力,到了21 世紀(jì)初用戶可以在個(gè)人電腦上練習(xí)聽力和口語。
2007 年11 月,由谷歌公司牽頭開發(fā)的手機(jī)聯(lián)盟(Open Handset Alliance)發(fā)布了Android 手機(jī)操作系統(tǒng),Android 是一個(gè)基于Linux 平臺(tái)的開源手機(jī)操作系統(tǒng)[1]。Android 系統(tǒng)憑借著其強(qiáng)大的功能、易于操作、開源等特點(diǎn)使得越來越多的用戶使用,據(jù)艾媒咨詢數(shù)據(jù)顯示,2012 年Android 系統(tǒng)在中國智能手機(jī)市場(chǎng)達(dá)到68.6%的份額[2],這為用戶使用Android 手機(jī)進(jìn)行移動(dòng)英語學(xué)習(xí)帶來了可能。
目前市場(chǎng)上基于Android 系統(tǒng)的移動(dòng)英語學(xué)習(xí)系統(tǒng)非常豐富,功能各不相同。王凌燕等人[3]開發(fā)的英語語法學(xué)習(xí)系統(tǒng)是利用手機(jī)進(jìn)行英語語法的學(xué)習(xí)。周少波[4]的英語詞匯學(xué)習(xí)系統(tǒng)可以進(jìn)行詞匯學(xué)習(xí)。黃藝鋒等人[5]利用Android 系統(tǒng)實(shí)現(xiàn)了電子詞典的功能。孫丹等人[6]在Android 系統(tǒng)上開發(fā)的學(xué)習(xí)軟件主要包括實(shí)用英語、休閑娛樂和交流互動(dòng)等功能,使用戶在娛樂中進(jìn)行英語學(xué)習(xí),給英語學(xué)習(xí)添加了趣味性。王凌燕等人[7]開發(fā)的英語口語移動(dòng)學(xué)習(xí)平臺(tái)利用Google 的語音識(shí)別組件對(duì)用戶所講口語進(jìn)行測(cè)評(píng),豐富了用戶練習(xí)口語的方式。程建明等人[8]利用語音識(shí)別技術(shù)對(duì)用戶單詞發(fā)音做出評(píng)價(jià)和打分。文獻(xiàn)[9-12]分別對(duì)Android 系統(tǒng)在閱讀訓(xùn)練、詞匯學(xué)習(xí)等方面進(jìn)行了探索和實(shí)踐。上述移動(dòng)英語學(xué)習(xí)軟件主要針對(duì)語法、詞匯、閱讀和口語等英語學(xué)習(xí),目前這些軟件大都存在功能不完善。例如:沒有涉及音頻文件的復(fù)讀和字幕匹配等軟件基本功能,聽力訓(xùn)練效果不理想;口語識(shí)別和口語匹配功能性能不佳,且很少有文獻(xiàn)對(duì)如何利用語音識(shí)別到的口語進(jìn)行評(píng)判做詳細(xì)的論述。另外,許多軟件也存在界面設(shè)計(jì)不合理和操控性能不佳的問題。
本文針對(duì)目前移動(dòng)英語學(xué)習(xí)軟件存在的問題,設(shè)計(jì)和實(shí)現(xiàn)了一套基于Android 系統(tǒng)的英語聽、說自主學(xué)習(xí)軟件。該軟件除了現(xiàn)有軟件常規(guī)音頻文件播放等常規(guī)功能外,還實(shí)現(xiàn)了音頻文件的復(fù)讀和字幕匹配、口語識(shí)別和口語匹配等,擴(kuò)展了現(xiàn)有軟件的功能。為便于用戶操控軟件,開發(fā)了鎖屏控制、分組管理等實(shí)用功能,有效地提高用戶的體驗(yàn)度。該軟件有效地避免目前相關(guān)軟件的不足,為用戶練習(xí)英語聽力和口語提供了新的便捷途徑。
1.1.1 功能需求
根據(jù)現(xiàn)有軟件移動(dòng)英語學(xué)習(xí)軟件存在的不足和用戶的需求,從英語聽、說自主學(xué)習(xí)軟件的聽力訓(xùn)練、口語訓(xùn)練和設(shè)置3 個(gè)方面分析功能需求。
1)聽力訓(xùn)練。聽力訓(xùn)練應(yīng)具有普通音頻播放器“播放/暫停”、“快進(jìn)/快退”、“上一曲/下一曲”等常規(guī)功能外,還需要包括聽力材料復(fù)讀功能,用戶在精聽訓(xùn)練時(shí)通過復(fù)讀功能可以對(duì)聽力材料的某一段進(jìn)行反復(fù)播放。在聽力訓(xùn)練時(shí),Android 系統(tǒng)會(huì)在一段時(shí)間后進(jìn)入屏保待機(jī)狀態(tài),為能夠在手機(jī)解鎖狀態(tài)可以操控英語聽、說學(xué)習(xí)軟件,這里需要給系統(tǒng)增加鎖屏控制功能,使用戶在鎖屏狀態(tài)也可操控學(xué)習(xí)軟件。為方便用戶對(duì)不同來源聽力音頻文件進(jìn)行歸類,軟件需要增加添加分組、編輯分組、刪除分組和導(dǎo)入文件等功能來實(shí)現(xiàn)聽力音頻文件的分類管理。
2)口語訓(xùn)練。用戶可以對(duì)自己所講的英語進(jìn)行錄音保存,可以回放和復(fù)讀操作,同時(shí)軟件能根據(jù)用戶的口語內(nèi)容自動(dòng)識(shí)別,判斷用戶所講口語內(nèi)容與聽力材料的匹配程度,并能把匹配結(jié)果反饋給用戶。
3)系統(tǒng)設(shè)置。為豐富用戶操控體驗(yàn),需要將多個(gè)系統(tǒng)參數(shù)設(shè)置成動(dòng)態(tài)可調(diào)。系統(tǒng)可以設(shè)置的參數(shù)包括:允許線控設(shè)置、鎖屏控制設(shè)置、快進(jìn)秒數(shù)設(shè)置、快退秒數(shù)設(shè)置、播放模式設(shè)置、我的口語保存目錄設(shè)置。
1.1.2 用戶體驗(yàn)需求
一款優(yōu)秀的Android 應(yīng)用除了應(yīng)具有強(qiáng)大功能外,還應(yīng)具有良好的用戶體驗(yàn)。
1)友好的用戶界面。用戶界面作為系統(tǒng)直接和用戶接觸,用戶界面友好與否直接影響用戶使用系統(tǒng)的使用效率,糟糕的用戶界面會(huì)讓用戶對(duì)系統(tǒng)產(chǎn)生厭惡感。
2)快速的響應(yīng)??焖俚捻憫?yīng)是指用戶在操控系統(tǒng)時(shí)必須具有快速的響應(yīng),本軟件中的復(fù)讀功能尤其對(duì)系統(tǒng)響應(yīng)時(shí)間要求較高,程序的狀態(tài)轉(zhuǎn)換應(yīng)連貫流暢[13]。
3)良好的操控性?,F(xiàn)今移動(dòng)應(yīng)用種類豐富,實(shí)現(xiàn)同一功能的移動(dòng)應(yīng)用能達(dá)到3 款以上,針對(duì)這一情況,只有使移動(dòng)應(yīng)用更易用、更易操控才能吸引用戶興趣。
根據(jù)1.1 節(jié)的需求分析,將英語聽、說自主學(xué)習(xí)軟件分成客戶端和服務(wù)器端2 大部分,具體功能模塊如圖1 所示。
圖1 系統(tǒng)功能模塊
1)客戶端。英語聽、說自主學(xué)習(xí)軟件客戶端是基于Android 系統(tǒng)開發(fā),客戶端分為聽力訓(xùn)練、口語訓(xùn)練、資源下載和系統(tǒng)設(shè)置4 個(gè)模塊。其中聽力訓(xùn)練是系統(tǒng)的核心模塊,該模塊如圖2 所示,聽力訓(xùn)練中的復(fù)讀功能采用AB 復(fù)讀實(shí)現(xiàn),聽力材料在播放時(shí),單擊AB 復(fù)讀鍵記錄聽力材料復(fù)讀起始位置,當(dāng)精聽材料段結(jié)束時(shí)只需再次單擊AB 復(fù)讀鍵即可實(shí)現(xiàn)循環(huán)復(fù)讀功能,切換正常播放模式可單擊AB 復(fù)讀鍵。
圖2 聽力訓(xùn)練模塊
2)服務(wù)器端。英語聽、說自主學(xué)習(xí)軟件服務(wù)器端主要負(fù)責(zé)為Android 客戶端提供聽力和口語訓(xùn)練素材,實(shí)現(xiàn)在客戶端對(duì)聽力和口語素材請(qǐng)求時(shí)準(zhǔn)確快速地響應(yīng)[14]。服務(wù)器端分為資源分組管理和資源管理模塊。資源分組模塊是管理整個(gè)資源庫分類;資源管理模塊可上傳、修改、刪除英語學(xué)習(xí)資源,管理員可在后臺(tái)服務(wù)器端進(jìn)行資源分組對(duì)資源進(jìn)行管理。
根據(jù)1.2 節(jié)功能模塊的設(shè)計(jì),本節(jié)主要是對(duì)客戶端界面進(jìn)行設(shè)計(jì),系統(tǒng)界面結(jié)構(gòu)如圖3 所示。
圖3 界面結(jié)構(gòu)圖
進(jìn)入系統(tǒng)分為聽力、口語、資源和設(shè)置4 個(gè)主界面,其分別是聽力訓(xùn)練、口語訓(xùn)練、資源庫和設(shè)置功能模塊的實(shí)現(xiàn)界面,4 個(gè)界面通過Android 中的Tab 組件進(jìn)行切換。軟件中所有界面在Android 系統(tǒng)進(jìn)入屏保程序時(shí)自動(dòng)切換到鎖屏控制界面。
音頻文件播放功能是利用Android 系統(tǒng)的MediaPlayer 組件實(shí)現(xiàn)的。MediaPlayer 是基于OpenCore底層庫實(shí)現(xiàn)而成,可以實(shí)現(xiàn)Audio 和Video 播放功能。在聽力訓(xùn)練功能中聽力材料復(fù)讀功能是該軟件的特色之一,用戶在精聽訓(xùn)練時(shí)可以通過復(fù)讀功能對(duì)聽力材料的某一段進(jìn)行反復(fù)播放,為這項(xiàng)典型的聽力訓(xùn)練方式提供了有效的解決方式。AB 復(fù)讀是利用MediaPlayer 組件的SeekTo 方法實(shí)現(xiàn),通過設(shè)置Seek-To 的參數(shù)指定音頻文件的起始播放時(shí)間??爝M(jìn)(退)也是利用SeekTo 方法實(shí)現(xiàn),通過在當(dāng)前播放時(shí)間加上(減去)快進(jìn)(快退)秒數(shù)來定位新的播放時(shí)間和功能,聽力訓(xùn)練界面如圖4 和圖5 所示。
圖4 聽力訓(xùn)練主界面
圖5 播放主界面
口語訓(xùn)練功能主要包括口語錄制和口語匹配2大功能,口語錄制時(shí)通過手機(jī)話筒對(duì)用戶所講的口語進(jìn)行錄制保存,口語匹配是根據(jù)用戶所講口語和LRC中的口語進(jìn)行匹配,并把匹配結(jié)果反饋給用戶。
口語錄制是利用MediaRecord 組件實(shí)現(xiàn),首先創(chuàng)建一個(gè)MediaRecord 對(duì)象,然后通過MediaRecord 對(duì)象的setAudioSource、setOutputFormat、setAudioEncoder和setOutputFile 方法設(shè)置MediaRecord 對(duì)象屬性,最后執(zhí)行prepare 和start 方法即可以錄音。
口語匹配模塊采用情景對(duì)話的形式,資源庫預(yù)置了機(jī)場(chǎng)登機(jī)、賓館入住等不同情景模式。首先由用戶選擇一種口語情景,再由軟件根據(jù)用戶所選情景進(jìn)行自動(dòng)發(fā)音,然后用戶對(duì)系統(tǒng)的發(fā)音進(jìn)行應(yīng)答,系統(tǒng)則對(duì)用戶所講口語進(jìn)行識(shí)別和匹配??谡Z識(shí)別功能是調(diào)用Google 語音識(shí)別的API 接口實(shí)現(xiàn)[15],客戶端手機(jī)首先設(shè)置網(wǎng)絡(luò)連接(GPRS 或Wifi),然后調(diào)用Google 語音識(shí)別API 接口,Google 語音識(shí)別服務(wù)識(shí)別后,調(diào)用響應(yīng)回調(diào)函數(shù),返回用戶口語對(duì)應(yīng)的字符串。
為能正確地對(duì)用戶口語進(jìn)行評(píng)判,本文采用LRC字幕和口語識(shí)別結(jié)果進(jìn)行匹配的方式,LRC 是英文Lyric 的縮寫,是一種以標(biāo)簽形式記錄歌詞的純文本格式,系統(tǒng)口語訓(xùn)練模塊LRC 文件中包含了用戶口語的正確內(nèi)容,在系統(tǒng)語音識(shí)別后將識(shí)別到的字符串同正確字符串進(jìn)行匹配,并將匹配結(jié)果反饋給用戶。
口語匹配功能圖如圖6 所示,關(guān)鍵代碼如下:
圖6 口語匹配截圖
圖7 鎖屏控制界面
資源庫功能服務(wù)器端采用ASP.NET 框架,客戶端和服務(wù)器端通信WebService 協(xié)議,使用WebService協(xié)議可降低系統(tǒng)的復(fù)雜性,保證系統(tǒng)的靈活性、健壯性和可維護(hù)性[16]。因?yàn)榭蛻舳瞬捎肁ndroid 系統(tǒng),而Android 系統(tǒng)上沒有相應(yīng)的WebService 庫,因此在Android 系統(tǒng)上需要引入第三方軟件包ksoap2 -android -assembly -2.6.5 -jar -with -dependencies.jar。通過該軟件包即可實(shí)現(xiàn)WebService 的訪問[17]。
鎖屏控制是在系統(tǒng)進(jìn)入屏保狀態(tài)時(shí)打開的界面,鎖屏控制界面是普通的Activity 顯示,啟動(dòng)鎖屏控制Activity 是通過Service 對(duì)象和Broadcast 實(shí)現(xiàn),Service后臺(tái)不斷偵聽屏幕變暗和變亮事件,屏幕變暗和變亮則通過Broadcast 啟動(dòng)鎖屏Activity,鎖屏控制圖如圖7 所示,關(guān)鍵代碼如下:
移動(dòng)技術(shù)的發(fā)展為英語學(xué)習(xí)提供了新的途徑,本文基于目前流行的操作系統(tǒng)Android 開發(fā)了英語聽、說自主學(xué)習(xí)軟件,軟件主要實(shí)現(xiàn)了聽力訓(xùn)練和口語訓(xùn)練2 大功能,其中聽力訓(xùn)練中的復(fù)讀功能和口語訓(xùn)練中的口語匹配功能是本軟件核心功能,為便于用戶操控軟件,開發(fā)了鎖屏控制、分組管理等實(shí)用功能。本軟件的開發(fā)為用戶練習(xí)英語聽力和口語提供了新的便捷途徑。
[1]黃婧,張林,季刊,等.基于Android 平臺(tái)的GPRS 流量統(tǒng)計(jì)系統(tǒng)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2011,20(12):141-143.
[2]酈麗華,秦學(xué)禮.智能手機(jī)操作系統(tǒng)的發(fā)展與分析[J].計(jì)算機(jī)教育,2014(6):70-74.
[3]王凌燕,吳華,王麗燕.基于Android 的英語語法移動(dòng)學(xué)習(xí)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)與現(xiàn)代化,2013(8):232-235.
[4]周少波.基于Android 平臺(tái)的英語詞匯學(xué)習(xí)工具設(shè)計(jì)與實(shí)現(xiàn)[J].電腦編程技巧與維護(hù),2014(24):80-80.
[5]黃藝鋒,閆巧.基于Android 平臺(tái)電子詞典的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2011(31):228-232.
[6]孫丹,何驊.基于Android 的應(yīng)用英語移動(dòng)學(xué)習(xí)軟件的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)時(shí)代,2014(11):24-26.
[7]王凌燕,張仕東,王麗燕.基于Android 的英語口語移動(dòng)學(xué)習(xí)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].陜西科技大學(xué)學(xué)報(bào),2012(5):146-150.
[8]程建明,謝征,趙一權(quán),等.基于語音識(shí)別技術(shù)的英語口語學(xué)習(xí)平臺(tái)的開發(fā)[J].中國現(xiàn)代教育裝備,2014(19):14-16.
[9]刁萌.基于Android 平臺(tái)的大學(xué)英語聽力學(xué)習(xí)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].西安:陜西師范大學(xué),2013.
[10]韓秋玲.基于Android 的英語學(xué)習(xí)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2012.
[11]張衛(wèi)芬,管文強(qiáng),劉培梅,等.基于Android 平臺(tái)和云計(jì)算的電子詞典[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2015(2):108-111.
[12]袁航.基于Android 平臺(tái)的大學(xué)英語閱讀應(yīng)用的設(shè)計(jì)與開發(fā)[D].昆明:云南師范大學(xué),2014.
[13]周恩,李文軍,鄭永軍,等.Android 平臺(tái)的智能家居控制系統(tǒng)設(shè)計(jì)[J].中國計(jì)量學(xué)院學(xué)報(bào),2013,24(3):261-265.
[14]熊志剛.移動(dòng)學(xué)習(xí)及其資源設(shè)計(jì)研究[D].上海:華東師范大學(xué),2005.
[15]梁昌銀,周麗嫻,汝榮.Google 語音識(shí)別技術(shù)的研究與開發(fā)[J].現(xiàn)代電信科技,2013(9):39-44.
[16]劉壯業(yè),姚鄭.基于Web 服務(wù)的教師管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].中國科學(xué)院研究生院學(xué)報(bào),2009,26(1):127-130.
[17]俞坤游,陳益民,駱德漢,等.基于Android 平臺(tái)的醫(yī)護(hù)查房系統(tǒng)的研究與設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2013,39(10):127-129.