• 沒有找到結果。

第三章 自動語音辨識

3.2 語音辨識系統架構

3.2.1 語音特徵參數求取[22]

的特性,而使辨識率提高。

3-3 為語音特徵參數求取流程圖,其過程分為六個步驟:

. 預強調:

人的口腔就像一個濾波器,會將語音的高頻部分濾除,因此將語音信號 通過一高通濾波器來做為補償,其高通濾波器的方程式如(3-1)式所 示:

(3-1)

將語音訊號每 s 取一個音框,為防止相鄰音框的特性變化太過於 迅速,令相鄰音框之間重疊 20ms

3. Hamming Window:

使用Hamming Window 降低音框中起始點與終點信號的不連續性,

ming Window 的公式如(3-2)式所示:

在圖3-1 與圖 3-2 中模型建立前的步驟皆屬語音特徵參數的求取,在 訊號辨識中,最常用的特徵參數是訊號在頻譜(Spectrum)上的能量值,

這些在頻譜上的能量值便可稱為一種特徵值。然而,對語音訊號而言,另 一種稱為倒頻譜的參數卻更能代表語音訊號

圖 1

( ) Z = 1 − 0 . 95 Z

1

H

2. 音框化:

30 m

其 Ham

語 音 信 號

預 強 調 (P re -e m p h a s is )

音 框 化

H a m m in g W in d o w

F F T & lo g || ||

F ilte r B a n k

In v e rs e C o s in e T ra n s fo rm

倒 頻 譜 參 數

圖 3-1:語音特徵參數求取流程圖

⎟ ⎠

Mel-Frequency Cepstrum Coefficients 則為一段音框的特徵代表,其 k 的取法如(3-3)式與(3-4)式所示

0

濾波形狀為三角形。而(3-4)式為將 Frequency-Scale fh

fl fs

FFT filter bank

圖3-3:用於計算 mel-cepstrum 之 filter bank

‧ ‧ ‧

6. 反餘弦轉換:

將訊號經過反餘弦轉換得到Mel-Frequency Cepstrum Coefficients

(MFCC)。

.2.2 建立語音辨識模型[22]

,接著就必須建立語音模型,而目前最普 遍使用的模型即是隱藏式馬可夫模型(Hidden Markov Model;HMM),HMM 的目的為以統計的方式來建立每個類

HM 音模型建立完成

.3 新竹科學園區廠商名稱語音辨識器[28]

辨識器為交通大學 電信

圖3-5:語音辨識器使用者介面 M 相關參數中的 a,b 將會以矩陣形式來表示,而當語

後,當有辨識資料輸入時則利用 Viterbi Algorithm [22]的方法,計算輸入 語句和每個模型的相似度,機率最高者,即為辨識結果。

3

本論文將麥克風陣列與語音辨識器做結合,而語音

研究所,所開發的API 介面軟體,其使用者介面如圖 3-5 所示,當啟 動辨識後,語音辨識器會透過麥克風接收語音信號並將其波形顯示出來,

最後將顯示最有可能的辨識結果。

3.4 IBM ViaVoice[23]

論文中,麥克風陣列也與 iaVoice 做結合,ViaVoice 為 IBM 所開發

Widows 應用程式,包括

行的動作,啟動程式、切換程式、視窗移

可以朗讀電腦內的中英文字,如:文字檔、E-mail、網頁的

而麥克風陣列與

IBM V

的語音軟體,其最大的功用為用語音來聽寫文字並控制電腦。其產品功能 如下:

連續聽寫

可建立、編輯及修改文件並支援大多數

Microsoft Word 等。可讓 Via Voice 分析已輸入的文章,讓電腦了解使 用者的習慣用語。

語音命令

可使用聲音來告訴系統要執

動、最大化、最小化、更正聽寫錯誤,甚至是控制滑鼠的動作(語音滑 鼠)。

語音合成 Via Voice

內容等,同時還可以讓選擇不同的腔調如男生與女生聲音等。

網上瀏覽

Via Voice 可以用語音來瀏覽網頁,只要唸出想要選的超文字連結 (Hyper-link),就可漫遊網際網路,並可用語音來控制瀏覽器,例如首 頁、我的最愛、重新整理等等。

Via Voice 結合最大的用意即在吵雜的環境下也能用語音 來控制電腦,例如,使用者在用喇叭放音樂時,但使用者依然能用語音來 瀏覽網路、撰寫Word 等等。

第四章 軟硬體設計與實現

4.1 實驗平台架構

,平台架構圖如圖4-1 所示

首先,聲音訊號經由 著通過訊號放大電路與

濾波器並將聲音訊號透過A/D(Analog to Digital)轉換器轉換為數位形式,

音訊號放大及濾波電路

Data Acquisition Circuit and

4.2 聲音訊號放大及濾波電路

是用來放大麥克風所收到的訊號並 聲音訊號放大及濾波電路的目的

濾掉高頻及低頻的雜訊,每顆麥克風都有各自的放大及濾波電路,8 組放 大及濾波電路構造及功能皆相同,放大及濾波電路架構圖如圖4-2 所示:

聲音訊號放大及濾波電路

高通濾波器 放大電路及

低通濾波器

聲音訊號 類比訊號擷取

及轉換電路

圖 4-2:聲音訊號放大及濾波電路架構圖

音訊號經由電容式麥克風轉為電壓訊號後,必須先經過高通濾波器,以 聲

濾掉低頻雜訊及直流訊號,而高通濾波器的3 dB 點設於 80Hz 的地方。訊 號經過高通濾波器後還是一個非常小的電壓,因此必須經過一放大電路來 放大電壓訊號,以供後端的A./D 來取樣,而本電路的取樣頻率為 16 k Hz,

所以必須將訊號通過低通濾波器來避免Aliasing 問題,而電路中低通濾波 器的3 dB 點設定於 6 k Hz。聲音訊號放大及濾波電路圖展示於圖 4-3,本 放大電路為一兩級的OP 放大器,工作電壓介於 5V 和-5V 之間,並採用負 回授的形式,圖4-3 的放大倍率為 60dB。而電路的頻率響應圖由 P-SPICE 所模擬如圖4-4 所示。

圖 4-3:聲音訊號放大及濾波電路圖

圖 4-4:聲音訊號放大及濾波電路之頻率響應圖

4.3 類比訊號擷取及轉換電路

類比訊號擷取及轉換電路的目的是將放大倍率後的類比聲音訊號,轉 如4-5 所示,為了節省功率消耗,

電路

中A/D 轉換器只能供給正電壓,但 S/H 輸出會含有負電壓,因此 Switch

和A/D A/D 的輸入皆在

而S/H、Switch 和 A/D 的時序則由 EZ-USB FX 平台所控制,本系 統的取樣頻率為16 kHz,因此 S/H 的工作頻率為 16 kHz,因為總共有 個通道,所以Switch 和 A/D 的工作頻率為 16×8 kHz A/D 所轉換出

位元資料,由EZ-USB FX 平台所接收。

換為數位訊號(16 位元),電路架構圖

只用了一個A/D 轉換器,因此,8 通道的類比聲音訊號和 A/D 轉換器 之間需要一個切換器,將8 通道的類比聲音訊號輪流切給 A/D 做轉換。

S / H S / H S / H S / H

S w i t c h A d d e r A / D

S / H S / H S / H S / H

圖 4-5:類比訊號擷取及轉換電路架構圖(S/H:Sample and Hold)

之間必須加一個加法器,讓 0 伏以上。

8

,最後 來的16

E Z - U S B F X

1 6 k H Z 1 2 8 k H Z 1 2 8 k H Z

4.4 系統電路板

電路實作設計時,將聲音訊號放大及濾波電路和類比訊號擷取及轉換 路結合在一起,用Protel 軟體佈局出其電路圖,其印刷電路板實際照片 電

如圖4-6 所示:

圖 4-6:麥克風訊號濾波器與數位/類比轉換電路板

此印刷板電路為一四層板架構,長×寬為27 公分×10 公分,工作電壓為 5 伏特,其麥克

將EZ-USB 晶片與 SB 週邊介面所需的各種功能包裝成一個精簡的整合電路,其微處理機是 SB FX 平台在整個系統中有三項目的:

1.

風放大倍率和A/D 取樣範圍皆為可調。

4.5 EZ-USB FX 平台[24]

EZ-USB FX 平台是由 Cypress 半導體公司所推出,

U

一個增強的8051 核心。而 EZ-U 控制S/H、Switch 和 A/D 的時序 2. 接收 A/D 轉換器的數位資料輸出 3. 將數位資料傳送給 PC 端

架構圖如圖4-7 所示

4.5.1 控制 S/H、Switch 和 A/D 時序

4-7 中 8051 的 PORT A 來傳達控 制指令,控制時序由8051 等時中斷來完成,將中斷時間設為

S/H、Switch 和 A/D 的控制時序由圖

16k

1 秒,每次 中斷發生後,就同時啟動8 通道的 S/H,使 8 組 S/H 在同一時間完成取樣 的動作,接著控制Switch 將 8 通道 S/H 的輸出輪流切給 A/D 做轉換,換 句話說,要再下一次等時中斷發生時,將8 通道的 A/D 全處理完成。

類比訊號擷取及轉換電路

8051

Port B Port D Port A

ISO FIFO 256 bytes

EP0緩衝區

USB

介面 PC

圖 4-7:EZ-USB FX 平台架構圖

4.5.2 接收 A/D 轉換器數位資料輸出

A/D 轉換器的輸出資料由 所接收,A/D 輸出 16 位元,而 Port B 和 Port D 各接收 8 位元,每次計時中斷發生時,Port

時傳輸FIFO 中,EZ-USB FX 的 8051 的 Port B 和 Port D

B 和 Port D 會將其所接收到的資料存於等

等時傳輸FIFO 總共有四個,每個容量為 256 bytes,在系統中,我們只用 了一個等時傳輸FIFO,也就是每 1ms,等時傳輸 FIFO 會被填滿。

4.5.3 USB 傳輸[25]

等時傳輸FIFO 會由等時中斷的方式,每 1ms 透過 USB 傳輸給 PC 端,

其USB 提供了四種不同的傳輸模式:

1、 巨量傳輸(Bulk):突發性的傳輸模式。資料封包大小為 8、16、32、

如資料傳送錯誤,可要求裝置重送

2、

3、 的時間傳出封包,主要使用在音頻與

傳輸錯誤亦不再

4、 求。

而在實驗平臺的架設中,只用到控制傳輸及等時傳輸。

生,等時傳輸FIFO 中的資料將透過 USB 傳輸給主機。表 4-1 為四種傳 64 位元組。除了資料封包之外另有交握封包(Hand-Shake Package),

及自動錯誤資料檢核機制(CRC),

封包,確保資料的正確性。

中斷傳輸(Interrupt):類似巨量傳輸,資料封包大小為 1~64 位元組。

高速的裝置中。需經由主機規則固定間隔詢問。

等時傳輸(Isochronous):在固定

影像等資料流中。為了確保封包可以在固定的時間送出,無 Hand-Shaking 封包,僅具有 CRC 錯誤檢核,資料

重送封包。時間是最重要的要求條件。

控制傳輸(Control):用來配置及傳送命令給裝置,確認裝置要

系統中,USB 傳輸模式我們選擇等時傳輸的方式,因此每 1 ms 等時中斷 發

輸模式的比較。

封包大小(Byte) 時間 資料檢 查

應用

巨量傳輸 8、16、32、64 盡快完成 有 儲存裝置、印表機 中斷傳輸 1~64 1~255ms 有 滑鼠、鍵盤

等時傳輸 1~1024 1ms 沒有 影像、聲音

控制傳輸 盡快完成 有 命令

表4-1. U 輸 比較

中 動了兩種 模式,一種為4.5.1 中斷,

所介紹的等時中 斷 時間為

SB 四種傳 模式

在 8051 ,系統啟 中斷 所介紹的計時

另一種為本節 斷,計時中 的

16k

1 s,而等時中斷的 時間為1ms。因此一次完整的等時傳輸資料由 次等時中斷和 15 次計時中1 斷所構成,其中斷同步說明圖如圖4-8 所示

等時中斷

第1次計時中斷 第2次計時中斷 第15次計時中斷

等時中斷

T1 T2 T3 T16

1 ms

圖 4-8:USB 韌體中計時中斷與等時中斷同步說明

從圖中可看出,每 1ms 會發生 15 次計時中斷和 1 次等時中斷,T2-T15 為 計時中斷的間隔,差不多為

16k

1 s,第 15 次計時中斷發生後的 T16 s,會發 會由等時中斷的副程式來校正。而 生等時中斷,為了確保中斷的同步,T1

USB 裝置韌體流程圖如圖 4-9 所示。

開始

致能控制傳輸中斷

等待主機端輸出 控制傳輸訊號

回傳主機 USB 的裝置設定

致能等時和計 時中斷並設定 等時傳輸FIFO

等待中斷

將數位資料存於 等時傳輸FIFO

將等時傳輸FIFO 中的資料傳給主

機端

計時中斷 等時中斷

圖4-9:USB 裝置韌體流程圖

4.6 主機端程式設計

4.6.1 整體架構

主機端程式目的是用來處理語音訊號,使其經過VAD和Dahls

Algorithm的處理,並即時性的用喇叭播出處理結果,軟體架構圖如 2.5.3 節所述。

而主機端軟體編譯環境為Microsoft Visual C++,並將使用者介面寫成 視窗形式以方便使用者操作,而程式中VAD和Dahls Algorithm的結合是使 用multithread方式來處理。在實做上,因為考慮到有限的資源達到最好的

而主機端軟體編譯環境為Microsoft Visual C++,並將使用者介面寫成 視窗形式以方便使用者操作,而程式中VAD和Dahls Algorithm的結合是使 用multithread方式來處理。在實做上,因為考慮到有限的資源達到最好的