崑山科技大學 -...

65
崑山科技大學 資訊工程系 專題製作報告 改良英文拼字自我檢測系統 IMPROVED ENGLISH SPELLING SELF-TESTING SYSTEM 生:4960E070 洪榕駿 指導老師:黃志賢 博士 中華民國1016

Upload: others

Post on 28-Dec-2019

30 views

Category:

Documents


0 download

TRANSCRIPT

崑山科技大學

資訊工程系

專題製作報告

改良英文拼字自我檢測系統

IMPROVED ENGLISH SPELLING

SELF-TESTING SYSTEM

學 生:4960E070 洪榕駿

指導老師:黃志賢 博士

中華民國101年6月

改良英文拼字自我檢測系統

IMPROVED ENGLISH SPELLING

SELF-TESTING SYSTEM

學 生:洪榕駿 Student: Hong Rong-Jyun

指導老師:黃志賢 Advisor: Huang Chih-Hsien

崑山科技大學

資訊工程系

專題報告

A Report

Submitted to Department of Information Engineering

Kun Shan University

in Partial Fulfillment of the Requirements

for the Degree of Bachelor

in

Information Engineering

June 2012

Tainan, Taiwan, Republic of China

中華民國 101 年 6月

I

授權單

II

改良英文拼字自我檢測系統

學生:洪榕駿 指導老師:黃志賢

崑山科技大學資訊工程系

摘 要

本專題系統修改目的在於提升既有系統在使用者操作與系統回應之自然度。

為了讓學習者可以有自我學習與改進英文拼字能力的學習工作,設計此英文拼字

自我檢測系統。拼字之測驗分為三種難度,簡單、普通、困難,三種的區別在於

字數的長短。整體系統可分為介面與辨識兩大區塊。介面部分使用 Microsoft

Visual C++6.0 with MFC(Microsoft Foundation Class)來撰寫介面程式,並且連接語

音辨識的部分,語音辨識部分使用隱藏式馬可夫語音辨識工具 HTK 負責訓練語

音模型及之後的字母辨識,當使用者念出單字之組成字母時,系統可以擷取出該

句的發音特徵,依照既定的語音參數設定來擷取,透過 HTK之辨識後,將辨識結

果儲存在指定的檔案中。目前系統之字彙量為常用 3000 字,透過聽取英文字發

音,讓學習者唸出該英文字的拼字字母,由系統錄音並辨識,讓學習者知道自我

目前拼字能力水準,可透過系統協助以自我學習、成長。

III

IMPROVED ENGLISH SPELLING

SELF-TESTING SYSTEM

Student: Hong Rong-Jyun Advisor: Huang Chih-Hsien

Submitted to Department of Information Engineering

Kun Shan University

Abstract

The purpose of this project is to improve the smoothness of the system response

to users. To improve the learning of English spelling, we designed this English

spelling self-testing system. The difficulties of the spelling are divided into three

levels, simple, ordinary, difficult, three difficulties are defined by the length of the

words. The system was divided into user-interface and speech recognition. The

user-interface was built using Microsoft Visual C ++ 6.0 with MFC (Microsoft

Foundation Class), and delegated the speech recognition to HTK, the Hidden Markov

speech recognition tools and retrieved the result to show in the interface. HTK was

used for speech model training and the following speech recognition task. When a

user read out the words alphabet-by-alphabet, the system can extract the features of

the recorded speech and recognized them with respect to the speech models to output

the results stored in the specified file. Currently, the system comprised of 3,000

commonly-used words. Through listening to word pronunciation, learners spelled the

word alphabet-by -alphabet and it was recorded to be recognized automatically, so

that learners could realize their capability of word spelling, and they could learn by

themselves through the system assistance.

IV

誌 謝

當時還在擔心專題是否做不做的出來,且還在寫程式上跌跌撞撞的,日子一

天天的逼近專題展,這也告訴我專題也要進入尾聲告一段落並完成,在這段日子

裡老師其實很擔心我,因為我前半段專題的進度遠遠落後別的組別,並且老師也

叮嚀我這是對自己工作負責,所以要認真的去看待這件事情,我知道我自己的程

式底子沒有其他同學來的穩固,可是老師也一直激勵我,告知我一定可以做到的,

只要肯做沒甚麼事是辦不到的,所以非常感謝我的指導老師-黃志賢導師,給予

我非常多的意見指導以及幫助,在專題製作的過程中,我遇到了非常多的瓶頸以

及意見不同的地方,每到碰壁時老師都會適時的給予我意見及討論,給予我一個

方向,讓我一步步的完成每個部分直到專題完成,此外也很謝謝老師教導我做人

做事的態度因為學校與社會真的遇到的事情複雜很多,所以老師要考慮到的事情

很多我也知道老師把疲累的一面壓下來然而在我們面前還是很和藹,我要向您說

一聲:「老師,您辛苦了!」。

V

目 錄

授權單 ..........................................................................I

中文摘要 ....................................................................... II

英文摘要 ...................................................................... III

誌 謝 ........................................................................ IV

目 錄 ........................................................................V

圖目錄 ........................................................................ VII

第一章 初步專題構思 .............................................................1

1.1 何謂語音辨識 ............................................................................................................................... 1

1.2目標 ............................................................................................................................................... 3

1.3 研究動機及目的 ........................................................................................................................... 3

1.4英語分段能力指標與十大基本能力關係 .................................................................................... 4

1.5系統功能 ....................................................................................................................................... 6

第二章 專題語音錄製與錄製軟體 ...................................................7

2.1單字來源 ....................................................................................................................................... 7

2.2軟體 GOLDWAVE錄製英文單字 ................................................................................................... 7

2.3 系統架構 ....................................................................................................................................... 8

第三章 介面製作與程式撰寫 .......................................................9

3.1使用專題製作軟體 ....................................................................................................................... 9

3.2開啟專案選取 MFC APPWIZARD [EXE](顯示 LIST BOX中內容 1/4) ...................................... 10

3.3基本介面控制項(按鈕與視窗的連動 1/6)................................................................................ 13

3.4程式修改(.TXT內容要顯示 LISTBOX裡 1/3) .......................................................................... 19

3.5難度分類與選擇 ......................................................................................................................... 23

3.7隨機選擇---程式撰寫及執行 ................................................................................................... 28

3.8錄音---加入檔案與程式撰寫 ................................................................................................... 31

3.9更改介面顏色與字體顏色 ......................................................................................................... 35

第四章 HTK隱藏式馬可夫語音辨識工具 ............................................ 37

4.1由 SAMPA比對英文字母音標 .................................................................................................. 37

4.2 HPARSE、HCOPY、HVITE說明與產生結果 ............................................................................. 42

VI

第五章 系統操作流程與結果 ...................................................... 44

5.1系統操作流程與結果 ................................................................................................................. 44

第六章 結論 .................................................................... 54

參考文獻 ....................................................................... 55

VII

圖目錄

圖 1語音辨識流程圖 ............................................................................................................................. 2

圖 2朗文當代英英辭典 第五版 ............................................................................................................ 7

圖 3 GOLDWAVE軟體錄製英文單字發音 ............................................................................................. 7

圖 4系統架構圖 ..................................................................................................................................... 8

圖 5 MICROSOFT VISUAL C++6.0 (MICROSOFT FOUNDATION CLASS) ............................................................ 9

圖 6開啟 MFC APPWIZARD [EXE]專案 .............................................................................................. 10

圖 7在介面中設計 LISTBOX與 BUTTON ................................................................................................... 11

圖 8此段程式是要在 LISTBOX顯示 TXT內容 .................................................................................. 12

圖 9顯示結果 ....................................................................................................................................... 12

圖 10另創新的按鈕 ............................................................................................................................. 13

圖 11插入新視窗 ................................................................................................................................. 14

圖 12選取 DIALOG .................................................................................................................................. 15

圖 13左邊出現新增視窗的名字 .......................................................................................................... 16

圖 14程式呼叫 ..................................................................................................................................... 17

圖 15在 BUTTON2的加入程式 ................................................................................................................ 17

圖 16執行成功 ..................................................................................................................................... 18

圖 17在第 2個視窗加入程式 .............................................................................................................. 19

圖 18在主視窗加入程式 ..................................................................................................................... 20

圖 19執行程式 ..................................................................................................................................... 21

圖 20 LISTBOX ......................................................................................................................................... 22

圖 21區別三個難度之程式.................................................................................................................. 23

圖 22區別三個難度之程式.................................................................................................................. 24

圖 23區別三個難度之程式.................................................................................................................. 24

圖 24選取簡單難度 ............................................................................................................................. 25

圖 25選取普通難度 ............................................................................................................................. 25

圖 26選取困難難度 ............................................................................................................................. 26

圖 27點擊或選取之動作會把單字傳至 EDITBOX ................................................................................. 27

圖 28按下 BUTTON3出現隨機動作 ........................................................................................................ 28

圖 29撰寫程式與執行結果.................................................................................................................. 29

圖 30加入 ACTIVEMOVIE CONTROL OBJECT物件 ......................................................................................... 30

圖 31錄音程式撰寫 ............................................................................................................................. 31

圖 32錄音程式撰寫 ............................................................................................................................. 32

圖 33按下按鈕上面的字會變動 .......................................................................................................... 32

圖 34關閉錄音程式撰寫 ..................................................................................................................... 33

圖 35按下錄音作答鈕 ......................................................................................................................... 34

VIII

圖 36按下停止錄音鈕 ......................................................................................................................... 34

圖 37更改介面與字體顏色程式 .......................................................................................................... 35

圖 38多加一個 EDITBOX ........................................................................................................................ 36

圖 39按下練習或測驗單字難度選擇鈕 .............................................................................................. 44

圖 40選取三難度任意一個難度 .......................................................................................................... 45

圖 41顯示出該難度之單字表 .............................................................................................................. 46

圖 42進行測驗 ..................................................................................................................................... 47

圖 43系統測驗操作流程 ..................................................................................................................... 48

圖 44此段程式不顯示”.WAV”字樣 ................................................................................................... 49

圖 45停止錄音的動作 ......................................................................................................................... 50

圖 46在資料夾裡產生音檔.................................................................................................................. 51

圖 47撰寫產生音檔檔名、辨識結果程式 .......................................................................................... 51

圖 48按辨識鈕同時辨識與顯示結果 .................................................................................................. 52

圖 49介面重置動作 ............................................................................................................................. 53

1

第一章 初步專題構思

1.1 何謂語音辨識

語音辨識最主要的目的是希望電腦聽懂人類說話的聲音,進而命令電腦執行

相對應的工作。當聲音藉由類比到數位的轉換裝置輸入電腦內部,並以數值方式

儲存後,語音辨識程式便開始已事先儲存好的聲音樣本與輸入的測試聲音樣本進

行比對工作。比對完成後點擊輸入一個它認為最“像”的聲音樣本序號,我們就可

以知道使用者剛剛唸進去的聲音代表何意,進而命令電腦做事。

※設計一個語音辨識程式,至少要有兩方面的知識:

【1】 瞭解如何把外界的聲音訊號抓到電腦內部處理:

這一部份和語音使用者的聲音輸入/輸出(I/O)硬體裝置有關,不同的裝置會

使這部分的處理程式也不相同,然而處理聲音(I/O)的基本原理卻差不多。

【2】 瞭解聲音比對原理:

聲音比對原理一直是研究語音辨識的專家學者們急於尋求突破的地方,截至

目前為止,已有不下上千篇的相關論文在尋找這方面的解答。

所謂語音辨識(Speech Recognition)有別於語者辨識(Speaker Identification),

語音辨識著重的是聲音代表的意義,而語者辨識是要辨識說話者的身份,兩者各

有不同的應用範圍,前者可應用於將聲音轉成文字的場合,而後者可用在門禁系

統等。

2

※語音辨識的困難

語音訊號的差異性大(說話速度、習慣、生理狀況、性別、年齡、地域等)

語音訊號分段的困難

辨識率易受背景雜訊的影響

辨識模型複雜度高

※語音辨識系統基本方塊圖

圖 1語音辨識流程圖

3

1.2目標

此系統是為了給想自我練習與測試常用英文單字拼字的人所設計的系統。在

日常生活中最常用到的英文單字大約有 3000 字,為了讓使用者清楚了解到自己

到底對於英文發音和矯正單字拼字是否正確以達到學習效果,我們設計了簡易使

用的介面,讓孩童、青少年、老年人或者障礙人士都可以輕鬆操作。

1.3 研究動機及目的

基於去年甫發展完成之英文拼字自我檢測系統,我們著手修改介面操作之流

程,讓使用者可以一見即知系統功能與操作流程。

英文拼字能力與中文之筆畫書寫能力,皆為掌握該語文能力之基礎,我們為

了讓學習者可以有自我學習與改進英文拼字能力的學習工作,設計此英文拼字自

我檢測系統。目前系統之字彙量為常用 3000 字,透過聽取英文字發音,讓學習

者唸出該英文字的拼字,由系統錄音並辨識,讓學習者知道自我目前拼字能力水

準,透過系統協助以自我學習、成長。

4

1.4英語分段能力指標與十大基本能力關係

基本能力 英語課程透過主題、溝通能力、教學活動可培養能力與態度

(一)了解自我 了解身體部位之說法

發展潛能 了解如何以簡易英語表達個人興趣或嗜好

了解如何以簡易英語描述個人外表或個性

了解如何以簡易英語描述日常生活作息

了解如何以簡易英語描述個人專長

描述不同職業類別

(二)欣賞、表現 欣賞英語之音韻節奏

與創新 吟唱和朗讀簡易歌謠及韻文

欣賞簡易兒童故事

欣賞簡易文學作品

欣賞簡易卡通影片

欣賞簡易廣播、電視電影等節目

(三)生涯規劃 培養英語之基本能力,奠定終生學習基礎

(四)表達、溝通 使用簡易教室用語

與分享 參與課堂口語練習

使用簡易英語參與課堂討論活動

使用簡易英語從事日常生活對話

使用簡易英語介紹自己、家人與朋友

使用簡易英語表達個人需求與感受

使用簡易英語表達個人意見

使用簡易英語分享個人經驗

使用簡易英語描述生活中相關人、事、物

使用簡易英語進行提問、回答與敘述

使用簡易英語回應或解釋別人所說的話

使用基本的社交禮儀用語

了解英美人士之溝通方式

(五)尊重、關懷 透過英語學習,培養對人權、兩性、及弱勢族群之尊重

與團隊合作 透過英語學習,培養對家人、朋友及社區之關懷

透過英語學習,培養環保觀念

(六)文化學習 認識中外節慶習俗

與國際了解 了解中外風土民情

欣賞簡易兒童文學作品,藉以了解他國文化

了解國際社會禮儀

欣賞、接納不同之文化習俗

5

培養國際觀

(七)規劃、組織 利用有效之外語學習方法安排規畫英語之學習

(八)運用科技 認識一些生活常見的科技、資訊用語

與資訊 利用科技提昇英語學習興趣

利用網路查詢資料

(九)探索、研究 使用字典及其他工具書查詢資料

(十)獨立思考 培養利用英語解決問題之能力

6

1.5系統功能

I. 常用英文單字(約 3000 字)

以隨機方式出現該測驗之單字。

II. 可設定單字難度

根據所收集之 3000 英文單字之單字中字母數量,區分為三種難度

等級;可設定三種難度「Easy 簡單」、「Normal 中等」、「Hard 困難」;

之後會以使用者所設定之難度亂數從中選取單字準備測驗。

III. 由使用者逐一發出每一字母輸入

按下播放按鈕,由系統播放當前選定單字之發音;給定單字後按下

錄音鈕錄製使用者所念之單字字母拼字序列語音。

IV. 檢測單字是否正確

由所錄製的拼字語音,系統辨識出對應之字母序列,並顯示正確率

與答案於系統介面上。

7

第二章 專題語音錄製與錄製軟體

2.1單字來源

圖 2朗文當代英英辭典 第五版

2.2軟體 GoldWave錄製英文單字

圖 3 GoldWave 軟體錄製英文單字發音

8

2.3 系統架構

圖 4系統架構圖

說明 1: 當讀取音檔時,會根據所設定的格是去擷取所要的語音部分,同時將

語音的格式轉換成 MFC格式,做為後續分析檔案的前置工作,詳細

介紹會在第四章做介紹。

說明 2: 分析結果、常用 3000單字庫、語者因素、使用者設定會與語音處理

搭配然而顯示辨識結果,詳細設計介面部分會在第三章介紹。

9

第三章 介面製作與程式撰寫

3.1使用專題製作軟體

圖 5 Microsoft Visual C++6.0 (Microsoft Foundation Class)

10

3.2開啟專案選取MFC AppWizard [exe](顯示 List Box中內

容 1/4)

圖 6開啟 MFC AppWizard [exe]專案

說明: 在上面目錄選取 Projects 之後選取 MFC AppWizard [exe]專案,在

Projects name 下框裡打入自己需要的檔名,設好之後按”OK”鈕。

11

在 List Box理顯示字體(顯示 ListBox中內容 2/3)

圖 7在介面中設計 ListBox與 Button

說明: 在基本介面裡從工具箱中找 ListBox 與 Button 物件,然後如上圖擺放

上去。

12

經過修改過後程式(顯示 ListBox中內容 3/3)

圖 8此段程式是要在 ListBox顯示 txt內容

圖 9顯示結果

說明: 在主程式裡加入【圖表 3-3】程式,然後執行成功後會顯示【圖表 3-4】。

13

3.3基本介面控制項(按鈕與視窗的連動 1/6)

圖 10另創新的按鈕

說明: 在工具箱裡在另外拉取 2個 Button鈕,”確定”、”取消”目前都只是關

掉視窗的動作。

14

新增/插入新 Dialg(按鈕與視窗的連動 2/6)

圖 11插入新視窗

說明: 把游標移到主要專案上,之後按右鍵出現表單選取”Insert…”新增/插

入。

15

圖 12選取 Dialog

說明: 按下”Insert..”後出現【圖表 4-3】,選取 Dialog看到右邊選取”New”。

16

新增新 Dialog (按鈕與視窗的連動 3/6)

圖 13左邊出現新增視窗的名字

說明: 新增新視窗”TwoDlg.cpp”,在新增的介面上加上”easy”、”normal”、

”Hard”,在工具箱 Radio Button1、Radio Button2 、Radio Button3。

17

在 HeroDlg 加這行→#include “TwoDlg.h”(按鈕與視窗的連

動 4/6)

圖 14程式呼叫

說明: 選取 HeroDlg.cpp 會出現右邊撰寫程式,加入”#include TwoDlg.h。

在 Button2這控制項裡增加此段程式碼(按鈕與視窗的連

動 5/6)

圖 15在 Button2的加入程式

說明: 在基本介面往 Button2點兩下可跳至 void CHeroDlg::OnBuuton2()加

入【圖表 4-5】紅框中的程式,呼叫第 2個視窗。

18

執行成功(按鈕與視窗的連動 6/6)

圖 16執行成功

說明: 執行成功,按下難度選擇鈕成功跳出新的視窗。

19

3.4程式修改(.txt內容要顯示 ListBox裡 1/3)

圖 17在第 2個視窗加入程式

說明: 在第 2個視窗往”OK”按兩下會跳至 void CTwoDlg::OnOK()撰寫【圖

表 4-7】程式。

20

程式修改(.txt內容要顯示 ListBox裡 2/3)

圖 18在主視窗加入程式

說明: 在主視窗往 Button2按兩下跳至 void CHeroDlg::OnButton2()加入【圖

表 4-8】紅框中的程式。

21

執行程式(.txt內容要顯示 ListBox裡程式成功 3/3)

圖 19執行程式

說明: 成功執行程式視窗,按下難度選擇跳出第 2個視窗按下”OK”鈕。

22

圖 20 ListBox

說明: 按下”OK”鈕後會出現 txt裡的單字顯示在 ListBox中。

23

3.5難度分類與選擇

圖 21區別三個難度之程式

說明: 在主視窗介面程式 void CHeroDlg OnButton2()中撰寫程式,上塗”刷

新” 是為了每切換一次難度都能把之前的單字刷掉,就不會單字重疊。

24

圖 22區別三個難度之程式

說明: 在第 2個視窗介面程式撰寫,分別在三個 Radio Button 加上旗標。

圖 23區別三個難度之程式

說明: 主程式 HeroDlg.cpp如上圖加入此全域變數。

25

圖 24選取簡單難度

圖 25選取普通難度

26

圖 26選取困難難度

27

3.6 ListBox裡內容傳至 EditBox

圖 27點擊或選取之動作會把單字傳至 EditBox

說明: 如上圖把程式加在主程式 void CHeroDlg::OnSelchangeList1()中。

28

3.7隨機選擇---程式撰寫及執行

圖 28按下 Button3出現隨機動作

說明: 另創按鈕 Button3,在主程式 void CHeroDlg::OnButton3()中撰寫紅框

中的程式碼,其中「//m_ctlMplay.SetFileName(strbuf)」這一行要註解

掉。

29

圖 29撰寫程式與執行結果

說明: 在 Hero.cpp中撰寫程式,不是在 HeroDlg.cpp要注意!成功執行按下難

度。

30

播放.wav音檔

圖 30加入 ActiveMovie Control Object物件

說明: 在主介面上從工具箱拉取 ActiveMovie Control Object,此物件為播放

器。

31

3.8錄音---加入檔案與程式撰寫

圖 31錄音程式撰寫

【圖 3-27】

說明: 在撰寫錄音程式前要先加入 PlayMMSound.cpp、PlaySound.cpp、

RecordSound.cpp、WriteSoundFile.cpp、PlayMMSound.h、PlaySound.h

RecordSound.h、WriteSoundFile.h 這八個檔。

32

圖 32錄音程式撰寫

說明: 如上圖程式放在 HeroDlg.cpp 檔裡。

圖 33按下按鈕上面的字會變動

說明: 如上圖程式放在 HeroDlg.cpp 檔裡,此段程式為按下”錄音”鈕後上面

「錄音」字體會變成「停止錄音」,等按下「停止錄音」時又變成「錄

音」。

33

圖 34關閉錄音程式撰寫

說明: 如上圖程式放在 HeroDlg.cpp 檔裡。

34

圖 35按下錄音作答鈕

圖 36按下停止錄音鈕

35

3.9更改介面顏色與字體顏色

圖 37更改介面與字體顏色程式

說明: 如上圖程式加在 Hero.cpp 中,RGB三原色如不知數值該怎麼設定的可

開起小畫家→色彩→編輯色彩→定義自定色彩→紅(R) 綠(G) 藍

(U/B)。

36

多加一個 EditBox

圖 38多加一個 EditBox

說明: 在主介面上工具箱拉取 EditBox,此框是要來顯示使用者唸的結果。

37

第四章 HTK 隱藏式馬可夫語音辨識工具

4.1由 SAMPA比對英文字母音標

SAMPA(子

音) 範例 SAMPA(子音) 範例

p pen, spin, tip z zoo, rose

b but, web S she, sure,

emotion, leash

t two, sting, bet Z pleasure, beige

d do, odd h ham

tS chair, nature, teach m man, ham

dZ gin, joy, edge n no, tin

k cat, kill, skin, queen, thick N singer, ring

g go, get, beg l left, bell

f fool, enough, leaf r run, very

v voice, have w we

T thing, breath j yes

D this, breathe W wh

s see, city, pass x loch (Scottish)

SAMPA(母音) 範例

RP GenAm AuE

A: A a: father

i: i i: see

I I I city

E E e bed

_3: 3` 3: bird

{ { {[1] lad, cat, ran(蝴蝶音)

A: Ar a: arm

V V a run, enough

38

Q A O not, wasp

O: O or A[2] o: law, caught

U U U put

u: u }: soon, through

@ @ @ about

@ @` @ Winner

SAMPA(雙母音) 範例

RP GenAm AuE

eI eI or e {I day

aI aI Ae my

OI OI oI boy

@U oU or o @} no

aU aU {O now

I@ ir I@ near,here

E@ Er e: hair,there

U@ Ur U@ tour

ju: ju j}: pupil

比對完上列三表之結果,製作成音標發音表

a eI n E n

b b i o @ U

C s i p p i

d d i q k j u:

e i r A r

f E f s E s

g dZ i t t i

h E i tS u j u:

i aI v v i

j dZ E I w d V b @ l j u:

k k E I x E k s

l E l y w aI

m E m z z i

39

A~Z變化規律統計

40

演算法 檔名命名為 gram.txt

$A = B | C | D | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z;

$B = A | B | E | I | J | L | M | O | R | S | T | U | V | Y;

$C = A | C | E | Q | R | S | T | U | Y;

$D = A | B | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | U | V | W | Y;

$E = A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X |

Y | Z;

$F = A | E | F | I | L | O | R | T | U | W | X | Y;

$G = A | E | G | H | I | L | M | N | O | R | S | T | U | Y ;

$H = A | B | D | E | I | L | M | N | O | R | S | T | U | W | Y ;

$I = A | B | C | D | E | F | G | K | L | M | N | O | P | Q | R | S | T | U | V | X | Z ;

$J = A | E | O | U ;

$K = A | E | F | G | I | L | N | O | S | W | Y ;

$L = A | B | C | D | E | F | I | J | K | M | N | O | P | R | S | T | U | V | W | Y ;

$M = A | B | E | F | I | M | N | O | P | S | U | Y ;

$N = A | B | C | D | E | F | G | H | I | J | K | L | M | N | P | S | T | U | V | W | X | Y ;

$O = A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X |

Y | Z ;

$P = A | B | E | F | H | I | L | M | O | P | R | S | T | U | V | W | X | Y | Z ;

$Q = U ;

$R = A | B | C | D | E | F | G | H | I | K | L | M | N | O | P | R | S | T | U | V | W | Y ;

$S = A | B | C | E | F | G | H | I | K | L | M | N | O | P | Q | R | S | T | U | W | X | Y ;

$T = A | B | C | E | F | G | H | I | L | M | N | O | P | R | S | T | U | W | Y ;

$U = A | B | C | D | E | F | G | I | L | M | N | O | P | R | S | T | Y ;

$V = A | E | I | O | U | Y ;

41

$W = A | B | D | E | F | H | I | K | L | N | O | R | S | T | Y ;

$X = A | C | E | H | I | P | T | V ;

$Y = A | B | C | E | F | H | I | L | M | O | P | R | S | T | W ;

$Z = A | E | I | O | Y ;

(SENT-START <(A $A)|(B $B)|(C $C)|(D $D)|(E $E)|(F $F)|(G $G)|(H $H)|(I $I)|(J

$J)|(K $K)|(L $L)|(M $M)|(N $N)|(O $O)|(P $P)|(Q $Q)|(R $R)|(S $S)|(T $T)|(U

$U)|(V $V)|(W $W)|(X $X)|(Y $Y)|(Z $Z)> SENT-END)

42

4.2 HParse、HCopy、HVite 說明與產生結果

HParse

從一個以純文字格式描述文法的檔案,HPARSE工具據以生成字詞層次的網

格檔案(提供給如:HVITE之用),其中的文法描述是包含了一群運用 EBNF格式

而重新改寫的規則。EBNF規則是用於生成一組有限狀態網路的內部表現型式,

此一有限狀態網路是由HPARSE網路節點表示網路中的字詞與相應的節點間鏈結

集合所連結而成。這樣的HPARSE網路之後便可轉換為HTK V2字詞層次的網格。

這個工具提供了一種定義此類字詞層次網頁的便利途徑。

用法: HParse gram.txt wdnet

將 gram.txt 生成 wdnet

HCopy

這個程式會複製一個或多個音檔至指定的輸出檔案中,而且可以選擇性地將

資料轉成某一種參數格式。無論來源檔案是以何種可支援的格式存在,輸出的檔

案格式一定都是 HTK 格式。此程式的預設動作是將整份來源檔案複製到目的地

檔案中,但是是有選項可以設定只複製所指定的段落。於是,此程式的用途在於

轉換其他格式的資料檔案為 HTK 格式、串接或是分割資料檔案內容,以及轉換

出某一種參數型式的輸出。如果有任何關於擷取來源檔特定段落而不是要輸出整

份資料的選項設定好的話,這些段落就會由所有的資料來源檔案擷取出來並串接

成為一個輸出的結果檔案中。

用法: HCopy -C config.8K_hcopy_mfcc26 clock.wav clock.mfc

將 clock.wav檔案中之錄音資料進行轉換,儲存到 clock.mfc檔案中。

43

HVite

HVITE 是一個通用的 Viterbi 字詞辨識器。它將語音文件與 HMM 網路進行

匹配,並輸出對應的辨識結果。當辨識器執行 N-best 辨識時,所輸出的是在字

詞層次上含有多種候選字詞的網格。無論是讀入一個字詞層次的網格或是標記檔,

之後都可以透過所使用的字典去建立一個以模型為主的辨識網路。這樣的作法可

以指定任一種有限狀態字詞網路與簡單的強制匹配得以進行辨識工作。

用法: HVite -C config.txt -H macros -H hmmdefs -o ST -S test.scp -l '*' -i

clock.mlf -w wdnet -p 0.0 dict.txt tiedlist.txt

把所產生的 mfc檔案與 hmmdefs與 macros 進行比對。

結果

進行比對之後,將生成的結果到指定檔案,在檔案內部同時把不要的資訊依

照 CONFIG.TXT、-o、ST的設定剔除,同時再比對 dict.txt,並比對 HMM模型,

將最符合的字選擇出來再顯示到檔案,而下列文字則是檔案的內容。

產生的結果: #!MLF!#

"'*'/clock.rec"

c l o c k

44

第五章 系統操作流程與結果

5.1系統操作流程與結果

圖 39按下練習或測驗單字難度選擇鈕

第一步: 按下”練習或測驗單字難度選擇 ”的按鈕。

45

圖 40選取三難度任意一個難度

第 2步: 出現難度選擇框中有”Easy簡單”、”Normal普通”、”Hard困難”,

難度分別是以單字字母長度而分。

第 3步: 按下”OK ”按鈕。

46

圖 41顯示出該難度之單字表

註 1: 出現使用者所選的難度之單字列表。

47

圖 42進行測驗

第 4步: 按下”進行測驗”鈕,會在使用者所選之難度列表中隨機選取 1個

單字。

48

圖 43系統測驗操作流程

第 5步: 按下播放鈕,聆聽此系統隨機選取的單字音檔,可重複播放。

第 6步: 按下”錄音作答”鈕。

註 2: 在測驗時測驗框 EditBox 中會出現”ans ”時代表可以開始作答。

49

圖 44此段程式不顯示”.wav”字樣

說明: 尋找.txt裡單字,但在 ListBox裡不顯示”.wav”的字樣,程式 str=”ans”

這行是表示難度選擇之後隨機會在 EditBox1 框裡出現”ans”表示可以

開始按下“錄音”鈕開始錄音。

50

圖 45停止錄音的動作

第 7步: 看到按鈕上由” 錄音作答”→”停止錄音”這時使用者可以開始

逐一念出字母,如果念完時按下”停止錄音”停止錄音動作,錄失

敗可以再重複錄音

註 3: 代表可以開始錄音。

51

圖 46在資料夾裡產生音檔

說明: 程式錄音完會在這個主資料夾裡產生”a~z.wav”錄音檔。

圖 47撰寫產生音檔檔名、辨識結果程式

52

圖 48按辨識鈕同時辨識與顯示結果

第 8步: 先按下”辨識”鈕時,開始辨識錄音檔,在辨識時可能需要 5~7

秒才會顯示結果。

註 4: 顯示出隨機鈕所選到的正確單字。

註 5: 顯示出使用者逐一念出的單字,我們設定是大寫。

53

圖 49介面重置動作

第 9步: 按下”介面重置”鈕時,介面會按鈕會全部重新鎖定,預備下一

輪測驗。

54

第六章 結論

以往學習英文的方法大多為背誦單字與眼睛看過,但是這樣的效率其實是不

好的,而專題製作出一個會發出英文單字聲音,然後要求使用者念出單字再去辨

識所念的單字是否正確藉由這種方法來提升效率,但是語音的辨識容易受到外在

環境的影響,常常會因為一點小小的聲音就會導致結果的偏差,同時,辨識的精

確度也是一個很大的課題,因為語音包含了特定語者系統、不特定語者系統,若

是系統需要使用者加以訓練,而只能供該訓練者使用稱為特定語者,特定語者系

統是針對特定使用者所設計的系統,設計的要求只是提高對這些使用者的語音辨

識率,對其他使用者而言,系統不保證能夠提供可接受程度的辨識率,不特定語

者語音辨識器則是針對一般使用者所設計的,由於不特定語者語音辨識器的訓練

語音收集較為困難,其辨識率一般都不如特定語者語音辨識器這也是需要克服的

問題,當這些問題都克服,有講師建議能夠再增加整句的英文會話,並要求使用

者,將整句念過一遍,再拼湊出單字,藉此達到雙重複習發音語拼字記憶,或者

是增加小考模式,可以選擇考題數量,產生不同的題目來刺激記憶,提升英文能

力,同時可以結合補教界的英文教材,利用這套系統幫助學生。

55

系統未來尚可改良工作

1. 將未來系統移植成手機 APP系統

2. 辨識正確率提升以及單字數量增加

3. 更該成可以如同考試一樣可評分及對或錯答案顯示加入更多功

參考文獻

1.Stanley B.Lippman 譯者:侯捷、王建興"Essential C++ "中文版”

2001-08

2.工業技術研究院"The HTK Book(for HTK Version 3.2.1) "Revised for

HTK Version 3.2 December 2002

3.普塞斯 /集思廣譯工作室 /Prosise Jeff "Windows 程式設計 :使用

MFC"2004.08.30

4.LONGMAN "Dictionary of Contemporary English"2007.01.01