Tải bản đầy đủ (.doc) (116 trang)

Tổng hợp tiếng nói trên T-Engine

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.75 MB, 116 trang )

Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T-Engine SH7760 1
LỜI NÓI ĐẦU 3
PHẦN I 4
GIỚI THIỆU T-ENGINE SH7760 4
1.1 Đặc tả T-Engine. 5
1.2 Mô hình tổng quan. 6
1.3 Giao diện của SH7760. 8
PHẦN II 9
TÔNG QUAN VỀ TÍN HIỆU TIẾNG NÓI 9
2.1 Quá trình phát âm. 10
2.2 Biểu diễn tín hiệu tiếng nói. 11
2.3 Âm vị trong tiếng nói. 13
2.4 Kết luận. 15
PHẦN III 16
NHẬN DẠNG TIẾNG NÓI TRÊN T-ENGINE 16
3.1 Tổng quan. 16
3.2 Phân tích tham số đặc trưng của tín hiệu tiếng nói. 19
3.2.1 Ghi âm và tiền xử lý tín hiệu. 20
3.2.2 Loại bỏ khoảng lặng. 22
3.2.3 Phân khung và hàm cửa sổ. 24
3.2.4 Tách tham số đặc trưng. 26
3.2.5 Đánh giá năng lượng. 30
3.2.6 Các tham số tức thời (tham số động). 31
3.2.7 Hiệu chỉnh kết quả. 33
3.2.8 Kết luận. 34
3.3 Ứng dụng mô hình Markov trong nhận dạng tiếng nói. 34
3.3.1 Tổng quan về HMM. 35
3.3.2 Lựa chọn mô hình Markov cho ứng dụng nhận dạng tiếng nói. 47
PHẦN IV 53
TỔNG HỢP TIẾNG NÓI TRÊN T-ENGINE 53
Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T-Engine SH7760 2


4.1 Tổng quan về tổng hợp tiếng nói. 53
4.1.1 Phương pháp mô phỏng hệ thống phát âm. 53
4.1.2 Phương pháp tổng hợp Formant. 53
4.1.3 Phương pháp ghép nối. 55
4.2 Mô hình tổng hợp tiếng nói từ văn bản. 57
4.2.1 Tổng hợp mức cao. 58
4.2.2 Tổng hợp mức thấp. 60
4.2.3 So sánh các phương pháp tổng hợp tiếng nói. 61
4.3 Tổng hợp tiếng nói tiếng Việt sử dụng giải thuật PSOLA. 62
4.4 Cấu trúc lưu trữ cơ sở dữ liệu diphone 70
PHẦN V 71
ĐÁNH GIÁ KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 71
5.1 Kết quả đạt được 71
5.2 Hạn chế và hướng phát triển 75
PHỤ LỤC A – LẬP TRÌNH T-ENGINE AUDIO CODEC UDA1342 76
A.1 Modul âm thanh và lập trình sử dụng DMAC. 76
A.2 Giao diện âm thanh nối tiếp (SSI- Sound Serial Interface). 88
A.2.1 Các chân vào/ra. 89
A.2.2 Mô tả các thanh ghi. 89
A.2.3 Hoạt động của modul SSI. 93
PHỤ LỤC B – DANH SÁCH CÁC ÂM VỊ VÀ CÂU CẦN THU ÂM 102
PHỤ LỤC C - BẢNG CÁC TỪ VIẾT TẮT TIẾNG ANH 113
TÀI LIỆU THAM KHẢO 114
Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T-Engine SH7760 3
LỜI NÓI ĐẦU
Cùng với sự phát triển nhanh chóng của xu hướng tương tác người-máy sử dụng
ngôn ngữ tự nhiên, và các hệ thống nhúng thì việc kết hợp các hệ thống nhận
dạng và tổng hợp trở thành một hệ thống có tính tương tác cao đồng thời đáp ứng
được những đòi hỏi về tốc độ thực thi thời gian thực là một trong những vấn đề
quan trọng. Trên cơ sở các yêu cầu cần thiết đó, tác giả quyết định lựa chọn đề tài:

Xây dựng hệ tổng hợp và nhận dạng tiếng Việt trên hệ nhúng để thực hiện, với
mong muốn những nghiên cứu của mình sẽ đóng góp một phần trong quá trình phát
triển của các ứng dụng tương tác người-máy, cũng như là một tài liệu tham khảo tốt
đối với các đề tài khác về sau. Bên cạnh việc tìm tòi, tối ưu hóa các giải thuật đã
được chứng minh và sử dụng rộng rãi trong các bài toán nhận dạng và tổng hợp
tiếng Việt, trong đề tài của mình tác giả cũng đề ra cách tiếp cận mới trong bài toán
tổng hợp nhằm nâng cao chất lượng của tiếng Việt tổng hợp, đồng thời cũng đưa
ra phương án xây dựng hệ thống kết hợp nhận dạng và tổng hợp tiếng Việt trên
hệ nhúng T-Engine được sử dụng cho các ứng dụng tương tác người – máy sử dụng
tiếng nói. Với các nhiệm vụ được đề ra , bản thuyết minh đề tài được tác giả trình
bày theo bố cục sau:
Phần I: Giới thiệu T-Engine SH7760 Trong phần này tác giả sẽ giới thiệu
tổng qua về các thành phần của hệ nhúng T-Engine SH7760
Phần II: Tổng quan về tín hiệu tiếng nói Trong phần này tác giả trình bày
các lý thuyết cơ sở về tiếng nói và xử lý tín hiệu tiếng nói
Phần III: Nhận dạng tiếng nói trên T-Engine Phần này sẽ cung cấp các lý
thuyết về phân tích đặc trưng tín hiệu tiếng nói và mô hình nhận dạng mẫu
được sử dụng, đồng thời cũng đưa ra mô hình thực thi một hệ thống nhận
dạng với phần cứng và phần mềm trên hệ nhúng T-Engine và các vấn đề cân
khắc phục khi cài đặt hệ trên T-Engine.
Phần IV: Tổng hợp tiếng nói trên T-Engine Phần IV sẽ mô tả giải thuật
PSOLA được sử dụng trong tổng hợp tiếng Việt, tác giả cũng chỉ ra trong
phần này các vấn đề khi áp dụng PSOLA đối với tiếng Việt, trên cơ sở đó đề
ra phương án để nâng cao chất lượng tổng hợp với tiếng Việt.
Phần V: Đánh giá kết quả và hướng phát triển Trong phần này tác giả sẽ
đánh giá những công việc đã đạt được, những hạn chế và giải pháp khắc
phục.
Hà Nội, ngày 7 tháng 11 năm 2007-11-07
Thực hiện đề tài
Lã Thế Vinh

Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T-Engine SH7760 4
PHẦN I
GIỚI THIỆU T-ENGINE SH7760
T-Engine SH7760 là một vi xử lí, có tính năng: một bộ điều khiển LCD,
USB host và các chức năng ngoại vi khác. SuperHRISC engine là một vi xử lí
nền tảng 32bit RISC. SuperHRISC engine có một tập lệnh chiều dài cố định là 16
bit, cho phép giảm khoảng gần 50% kích thước chương trình so với một tập lệnh 32
bit. SH7760 có một CPU SH4 mà tại mức độ đối tượng lệnh là hoàn toàn tương
thích với các vi xử lí SH-1, SH-2 và SH-3. Vi xử lí này có một cache lệnh, một
cache toán hạng mà có thể chuyển giữa các chế độ copy-back và write-through, bộ
quản lí bộ nhớ với 64 phần tử liên kết đầy đủ được chia sẻ TLB( Translation Look
aside Buffer). Kích thước của cache lệnh và cache toán hạng là 16 kbyte và 32
kbyte. Vi mạch này cũng có tính năng bộ điều khiển trạng thái bus(Bus State
Controller-BSC) mà có thể lên kết với SDRAM. Và bởi vì nó có các chức năng on-
chip như bộ điều khiển LCD, một USB host, các bộ định giờ và các chức năng
truyền tin nối tiếp yêu cầu cho các phương tiện multimedia và OA nên vi mạch này
cho phép giảm thiểu rất lớn giá thành trong hệ thống.
Trong phần này em xin trình bày một số những tìm hiểu về T-Engine
SH7760 bao gồm kiến trúc tổng quát, các đặc tả và các tìm hiểu tiếp theo tập trung
vào các thành phần cần thiết cho việc xây dựng một hệ thống nhận dạng tiếng Việt
số lượng từ hạn chế.
Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T-Engine SH7760 5
1.1 Đặc tả T-Engine.
Các đặc tả cơ bản về T-Engine được trình bày như trong bảng dưới đây:
Mục Đặc tả Thiết bị đích
CPU SH7760 Tên mô hình:
HD6417760BP200D
(RENESAS Technology)
Tần số đồng hồ cung cấp: 16.6667MHz
Tần số hoạt động (Internal): 200MHz (x

12)
(External): 66MHz (x 4)
Mạch: 256-pin BGA
Flash memory
Dung lượng: 8MB
MBM29DL640E90TN (Fujitsu) x 1
SDRAM
Dung lượng: 64MB
EDS2516APTA-75 (ELPIDA) x 2
PC Card I/F
Một khe
Controller: MR-SHPC-01 V2T
(Marubun)
Mạch: 144pin TQFP
Serial I/F Controller gồm 2 kênh:
ST16C2550CQ48 (EXAR)
Package: 48pin TQFP
-Kênh A:
H8/3048F-ONE
I/F
-Kênh B: Theo
dõi việc gỡ lỗi
Sound Tên model: UDA1342TS (Philips)
Mạch: 28pin SSOP
SSI tích hợp
trên SH7760
được sử dụng
để vận chuyển
dữ liệu. IIC trên
SH7760 được

sử dụng để
chọn chế độ
Earphone/microphone:
- Một đầu ra tai nghe
- Một đầu vào micro
- Trở kháng: 2.2KOhm
Độ nhạy: -51dB/Pa
- Tai nghe ra có trở kháng:32Ohm
USB Host
1kênh
Controller: SH7760 on-chip USB Host
TFT color LCD
module
NL2432DR22-02B (NEC)
Số màu hiển thị : 262,144 màu
Kích thước: 240(Chiều ngang) x 320
(chiều dọc)
Controller:SH7760 on-chip LCDC
Bộ điều khiển
nguồn cung cấp
H8/3048F-ONE
Tên model: HD64F3048BVTE25

Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T-Engine SH7760 6
(Renesas Technology)
Tần số hoạt động: 7.3728MHz
Mạch: 100-pin TQFP
RTC
Tên model: RV5C348B (RICOH) Thông qua
H8/3048F-ONE

Mạch: 10pin SSOP-G
Màn hình cảm
ứng I/F
Tên Model: ADS7843 (TI) Package:
16pin SSOP
Thông qua
H8/3048F-ONE
(Được gắn trên
bảng mạch
LCD)
Serial EEPROM
Dung lượng: 512 bytes Thông qua
H8/3048F-ONE
Tên model: S-29391AFJA (SII)
Điều khiển từ xa
hồng ngoại
Bộ phát: Thông
quaH8/3048F-
ONE
Tên model: GL100MN0MP (SHARP)
Sóng mang: 38KHz
Bộ thu:
Tên model: GP1UC101 (SHARP)
Sóng mang: 38KHz
1.2Mô hình tổng quan.
Sơ đồ khối tổng quan của T-Engine được chỉ ra như ở hình dưới đây:
Hình 1.1 – Sơ đồ khối tổng quan của T-Engine
Hình trên đã chỉ ra các khối cơ bản cấu thành nên bộ phát triển T-Engine trong đó
khối quan trọng nhất là vi xử lí SH7760 đóng vai trò bộ xử lí trung tâm. Hình trên
Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T-Engine SH7760 7

cũng đồng thời chỉ ra kết nối giữa các khối và cho một cái nhìn tổng quan về bộ
phát triển T-Engine. Sơ đồ khối bên trong của T-Engine được chỉ ra trong hình dưới
đây:
Hình 1.2 – Sơ đồ trong của T-Engine
Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T-Engine SH7760 8
1.3Giao diện của SH7760.
Hình 1.3 – Giao diện của T-Engine
Như thấy trong hình thì T-Engine gồm 4 bảng mạch được kết nối với nhau. Trên
cùng là bảng mạch LCD cung cấp chức năng của màn hình cảm ứng cùng 3 phím
điều khiển, trong đó có 1 phím đa chiều ở giữa. Dưới bảng mạch LCD là bảng mạch
CPU nơi gắn vi xử lí trung tâm SH7760 đóng vai trò điều khiển hoạt động của toàn
bộ các bộ phận của bộ phát triển. Dưới bảng mạch CPU là 2 bảng mạch phụ trách
hai việc là : vào ra và gỡ lỗi. Trên mạch vào ra có gắn các thiết bị hỗ trợ vào ra như
liên kết cổng COM, USB, codec, thẻ nhớ CF, điều khiển sóng hồng ngoại vv.vv.
Cuối cùng mạch gỡ lỗi cho phép liên kết với máy tính để cung cấp chức năng gỡ lỗi
cho chương trình chạy trên bộ phát triển.
Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T-Engine SH7760 9
PHẦN II
TÔNG QUAN VỀ TÍN HIỆU TIẾNG NÓI
Nội dung của phần này nhằm giới thiệu các khái niệm và lý thuyết cơ bản về tiếng
nói: nguồn gốc của tín hiệu tiếng nói (quá trình phát âm của con người) và sự cảm
nhận của con người đối với tín hiệu tiếng nói. Những khái niệm này là cơ sở nền
tảng không thể không xét đến trước khi quyết định hướng tiếp cận bài toán nhận
dạng hay tổng hợp tiếng nói.
Giao tiếp giữa con người với nhau sử dụng tiếng nói là quá trình bắt đầu với việc
phát âm của ngưòi nói và kết thúc khi người nghe cảm nhận, diễn dịch và đáp ứng
tín hiệu tiếng nói do người nói tạo ra trong quá trình phát âm (Hình 2.1).
Hình 2.1 – Quá trình giao tiếp bằng tiếng nói
Người nói Người nghe
Hình thành nội dung

Phát âm
Tín hiệu tiếng nói
DE. Cảm nhận và diễn dịch
Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T-Engine SH7760 10
Sơ đồ trên có thể được mô tả như sau: trước tiên người nói hình thành nội dung hội
thoại trong não bộ (A), những thông tin này sẽ tạo ra các xung thần kinh điều khiển
bộ phận phát âm (dây thanh, khoang miệng, khoang mũi...) để tạo ra tín hiệu tiếng
nói(B), thực chất là sự lan truyền của áp suất thay đổi trong không gian (C), trong
quá trình lan truyền trong không gian, tín hiệu tiếng nói có thể cộng hưởng hoặc triệt
tiêu với các tín hiệu khác tạo ra một tín hiệu có nhiễu với dạng sóng tương đối phức
tạp, tín hiệu truyền đến tai người nghe tạo ra sự dao động màng nhĩ nhờ đó người
nghe cảm nhận được tiếng nói (D) tiếp theo là quá trình phân tích ngữ nghĩa diễn ra
tại não bộ(E).
Từ các phân tích nêu trên, ta thấy rằng một vấn đề đặt ra trong nhận dạng tiếng nói
đó là: làm thế nào ta có thể mô phỏng quá trình cảm nhận tiếng nói của con người
bắt đầu từ khâu thu nhận tín hiệu(D) đến khâu phân tích ngữ nghĩa(E). Một vấn đề
cần được chú ý đó là quá trình cảm nhận của con người là hoàn toàn không tuyến
tính, chi tiết hơn ta sẽ nói ở trong phần sau.
2.1 Quá trình phát âm.
Hình 2.2 – Cơ quan phát âm
Khi con người phát âm, không khí được đẩy từ phổi qua khí quản, luồng không khí
chuyển động làm cho dây thanh rung kết hợp với hình dạng của tuyến âm, môi,
lưỡi... đóng vai trò như các bộ cộng hưởng và các bộ lọc sẽ tạo ra các âm thanh
khác nhau. Người ta có thể mô hình hóa toàn bộ quá trình phát âm bởi các mô hình
Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T-Engine SH7760 11
toán học khác nhau. Dưới đây là một ví dụ mô hình toàn điểm cực được dùng nhiều
trong nghiên cứu tiếng nói:
Hình 2.3 – Mô hình toàn điểm cực
2.2 Biểu diễn tín hiệu tiếng nói.
Như ta đã biết một tín hiệu cùng với các đặc điểm riêng của nó có thể được biểu

diễn trên miền thời gian hoặc miền tần số, hoặc kết hợp thời gian và tần số. Tín hiệu
tiếng nói xét trên miền thời gian có thể coi là tín hiệu ít biến đổi khi ta chỉ xét một
khoảng thời gian đủ ngắn (5-100ms), điều đó có nghĩa là tín hiệu tiếng nói có thể
coi là ổn định trong khoảng thời gian ngắn. Tuy nhiên khi xét trong một khoảng thời
gian dài hơn (0.5s) thì tín hiệu tiếng nói lại là không ổn định hay nó thay đổi theo
các âm khác nhau được phát âm bởi người nói.
Để có thể thực hiện các phân tích trên tín hiệu tiếng nói nhằm tìm ra các đặc trưng
riêng cho các đoạn tín hiệu ứng với các âm khác nhau, trước hết chúng ta cần có các
phương pháp để biểu diễn tín hiệu tiếng nói. Sau đây là một sô phương pháp thường
được dùng.
Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T-Engine SH7760 12
Tín hiệu tiếng nói trên miền thời gian
Hình 2.4 – Biểu diễn tín hiệu tiếng nói trên miền thời gian
Trên miền thời gian tín hiệu tiếng nói được biểu diễn bởi đồ thị biên độ tại các thời
điểm t khác nhau, trong tự nhiên đó là một đồ thị liên tục, tuy nhiên tín hiệu tiếng
nói được xử lý trong máy tính đã được số hoá nghĩa là rời rạc cả về mặt thời gian và
tần số.
Tín hiệu tiếng nói trên miền tần số
Chúng ta biết rằng tín hiệu tiếng nói không chỉ bao gồm một thành phần tần số mà
gồm rất nhiều thành phần tần số khác nhau, tần số lớn nhất có thể lên tới hơn 10
kHz, mặt mức độ tham gia của các thành phần tín hiệu này cũng khác nhau. Dạng
biểu diễn tín hiệu tiếng nói trên miền thời gian không chứa đủ thông tin để phân tích
các thành phần tín hiệu ở các tần số khác nhau, đó là lý do người ta cần đến dạng
biểu diễn tín hiệu tiếng nói trong miền tần số, hay còn gọi là phổ tín hiệu.
Hình 2.5 – Biểu diễn tín hiệu tiếng nói trên miền tần số
Tín hiệu tiếng nói trên miền thời gian và tần số kết hợp
Trong khi nghiên cứu tiếng nói người ta luôn có gắng để biểu diễn tín hiệu nhằm thu
được nhiều thông tin nhất từ hình biểu diễn. Một trong những phương pháp biểu
diễn được dùng nhiều nhất và đó là cách biểu diễn tín hiệu trên miền kết hợp thời
gian và tần số. Thực chất của cách biểu diễn này là biểu diễn tín hiệu trên miền tần

số (2) nhưng được thực hiện với các đoạn tín hiệu ổn định (thời gian đủ ngắn) theo
thời gian. Các giá trị biên độ được thể hiện bằng màu sắc.
Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T-Engine SH7760 13
Hình 2.6 – Biểu diễn tín hiệu tiếng nói trên miền kết hợp
2.3 Âm vị trong tiếng nói.
Chúng ta biết rằng khi con người kết thúc việc hình thành nội dung cần phát
âm, một câu nói hoàn chỉnh sẽ được xây dựng bằng cách chọn và tổng hợp các đơn
vị cơ bản của tiếng nói để hình thành nên các từ phát âm hoàn chỉnh. Về mặt hình
thức điều này có thể ví dụ như cách đánh vần của trẻ khi học bắt đầu học chữ. Các
đơn vị cơ bản đó được gọi là các âm vị. Trong tiếng Việt hiện có khoảng 23 âm vị là
phụ âm và 16 âm vị là nguyên âm. Âm vị có thể xem như một trong những phương
pháp mà con người biểu diễn các phần khác nhau của một tín hiệu tiếng nói liên tục
và nó chia tín hiệu tiếng nói thành các đoạn con, điều đó có thể sẽ mang lại những
thuận lợi nhất định khi thực hiện các nghiên cứu về tiếng nói ví dụ như trong các bộ
nhận dạng tiếng nói với số lượng từ lớn hoặc trong tổng hợp tiếng nói.
Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T-Engine SH7760 14
Hình 2.7 – Bảng các âm vị là phụ âm
Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T-Engine SH7760 15
Hình 2.8 – Bảng các âm vị là nguyên âm
2.4 Kết luận.
Trong phần này chúng ta đã tìm hiểu một cách sơ bộ về tiếng nói và một số
vấn đề liên quan đến tín hiệu tiếng nói như: sự hình thành, biểu diễn và các thành
phần. Những hiểu biết cơ bản trên đặc biệt là những đặc điểm của hệ thống cảm thụ
tiếng nói của con người (tính không tuyến tính) và sự hợp thành của các âm vị để
tạo ra tiếng nói hoàn chỉnh sẽ là một trong những nền tảng quan trọng để tiếp cận
đến các nghiên cứu sâu hơn về tiếng nói.
Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T-Engine SH7760 16
PHẦN III
NHẬN DẠNG TIẾNG NÓI TRÊN T-ENGINE
3.1 Tổng quan.

Nhận dạng tiếng nói là làm cho máy hiểu, nhận biết được ngữ nghĩa của lời nói.
Thực chất đây là quá trình biến đổi tín hiệu âm thanh thu được qua micro, qua
đường dây điện thoại hoặc các thiết bị thu âm khác, ... thành một chuỗi các từ, sau
đó các từ được nhận dạng có thể được sử dụng ngay trong các ứng dụng điều khiển
thiết bị, nhập liệu, soạn thảo văn bản bằng lời, ... hoặc được đưa đến một quá trình
xử lý ngôn ngữ mức cao hơn.
Các hệ thống nhận dạng tiếng nói có thể được phân thành các loại như sau :
• Nhận dạng các từ phát âm rời rạc / liên tục.
• Nhận dạng tiếng nói phụ thuộc người nói / không phụ thuộc người nói.
• Hệ thống nhận dạng có từ điển cỡ nhỏ (< 20 từ) / từ điển cỡ lớn (hàng
nghìn từ).
• Nhận dạng tiếng nói trong môi trường có độ ồn thấp / cao.
.....
Trong một hệ thống nhận dạng tiếng nói phát âm rời rạc thì người nói sau khi nói
một từ phải dừng lại trước khi phát âm từ tiếp theo. Ngược lại, hệ thống nhận dạng
lời nói liên tục không đòi hỏi điều này.
Hệ thống nhận dạng phụ thuộc người nói đòi hỏi người nói phải cung cấp một số
mẫu tiếng nói của mình trước khi sử dụng. Còn hệ thống nhận dạng không phụ
thuộc người nói có thể nhận dạng lời nói của bất kì người nào.
Độ chính xác trong hệ thống nhận dạng tiếng nói có từ điển cỡ lớn hoặc có nhiều từ
dễ lẫn thường không cao bằng hệ thống nhận dạng có vốn từ vựng cỡ nhỏ.
Các phương pháp tiếp cận trong nhận dạng tiếng nói
Hiện nay có 3 phương pháp phổ biến được sử dụng trong nhận dạng tiếng nói, đó
là :
• Phương pháp âm học - ngữ âm học.
• Phương pháp nhận dạng mẫu.
• Phương pháp ứng dụng trí tuệ nhân tạo.
Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T-Engine SH7760 17
Phương pháp âm học - ngữ âm học
Phương pháp này dựa trên lý thuyết về âm học - ngữ âm học cho rằng tồn tại các

đơn vị ngữ âm xác định, có tính phân biệt trong lời nói và các đơn vị ngữ âm đó
được đặc trưng bởi một tập các đặc tính tín hiệu tiếng nói. Bước đầu tiên trong nhận
dạng tiếng nói theo phương pháp này là phân đoạn và gán nhãn. Bước này chia tín
hiệu tiếng nói thành các đoạn có đặc tính âm học đặc trưng cho một (hoặc một vài)
đơn vị ngữ âm, đồng thời gán cho mỗi đoạn âm thanh đó một hay nhiều nhãn ngữ
âm phù hợp. Bước tiếp theo (bước nhận dạng) dựa trên một số điều kiện ràng buộc
về từ vựng, ngữ pháp,... để xác định ra một từ hoặc một chuỗi từ đúng trong số một
chuỗi các nhãn ngữ âm được tạo ra sau bước thứ nhất.
Phương pháp nhận dạng mẫu
Phương pháp này không cần xác định đặc tính âm học hay phân đoạn tiếng nói mà
sử dụng trực tiếp các mẫu tín hiệu tiếng nói trong quá trình nhận dạng. Các hệ thống
nhận dạng tiếng nói theo phương pháp này được phát triển theo 2 bước. Ở bước thứ
nhất, hệ thống sử dụng một tập mẫu tiếng nói (cơ sở dữ liệu tiếng nói) để huấn
luyện tạo ra các mẫu tiếng nói đặc trưng (mẫu tham chiếu). Bước thứ hai hệ thống
nhận các mẫu tiếng nói từ bên ngoài, so sánh chúng với các mẫu đặc trưng để nhận
dạng.
Trong phương pháp này, nếu cơ sở dữ liệu tiếng nói dùng cho huấn luyện có đủ các
phiên bản của mẫu cần nhận dạng thì quá trình huấn luyện có thể xác định chính xác
các đặc tính âm học của mẫu (mẫu ở đây có thể là âm vị, từ, cụm từ, ...). Trước đây,
đối với các hệ thống nhận dạng tiếng nói là các từ rời rạc, vốn từ vựng cỡ nhỏ thì
người ta thường áp dụng các kĩ thuật nhận dạng mẫu đơn giản như : lượng tử hóa
vector, hiệu chỉnh thời gian động, ... Hiện nay có hai kĩ thuật nhận dạng mẫu được
áp dụng khá thành công trong lĩnh vực nhận dạng tiếng nói, đó là mô hình Markov
ẩn và mạng Neural.
Một số đặc điểm của phương pháp nhận dạng mẫu :
 Hiệu năng của hệ thống rất nhạy cảm đối với số dữ liệu mẫu đưa vào
huấn luyện. Nếu số lượng mẫu càng nhiều thì độ chính xác của hệ thống
càng cao, tuy nhiên dung lượng bộ nhớ và thời gian luyện mẫu cũng tăng
theo.
Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T-Engine SH7760 18

 Các mẫu tham chiếu thường phụ thuộc vào môi trường phát âm và các
đặc tính truyền dẫn của môi trường.
 Phương pháp này có thể được sử dụng để nhận dạng từ mà không đòi hỏi
khả năng am hiểu sâu về ngôn ngữ.
Phương pháp ứng dụng trí tuệ nhân tạo
Có thể coi đây là phương pháp kết hợp của các phương pháp trên với ý tưởng tận
dụng tối đa các ưu điểm của từng phương pháp, đồng thời cố gắng mô phỏng khả
năng tuyệt hảo của con người trong sự phân tích và cảm nhận các sự kiện bên ngoài
nói chung và tiếng nói nói riêng.
Đặc điểm chung của các hệ thống nhận dạng theo phương pháp này là :
 Sử dụng hệ chuyên gia để phân đoạn, gán nhãn ngữ âm. Điều này làm
đơn giản hóa hệ thống so với phương pháp nhận dạng ngữ âm.
 Sử dụng mạng neural để học mối quan hệ giữa các ngữ âm. Sau đó dùng
mạng này để nhận dạng tiếng nói.
Việc sử dụng hệ chuyên gia ở đây là nhằm mục đích tận dụng các nguồn kiến thức
của con người vào trong hệ thống nhận dạng, đó là :
 Kiến thức về âm học : Nhằm để phân tích phổ và xác định đặc tính âm
học của các mẫu tiếng nói đầu vào.
 Kiến thức về từ vựng : Sử dụng để kết hợp các khối ngữ âm thành các từ
cần nhận dạng.
 Kiến thức về cú pháp : Nhằm kết hợp các từ thành các câu cần nhận dạng.
 Kiến thức về ngữ nghĩa : Nhằm xác định tính logic của các câu đã được
nhận dạng.
Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T-Engine SH7760 19
Hình 3.1 - Mô hình hệ thống nhận dạng
3.2 Phân tích tham số đặc trưng của tín hiệu tiếng nói.
Trong các phần trên chúng ta đã tìm hiểu cơ chế phát âm của con người qua đó ta
biết rằng để phát ra một âm con người phải phối hợp nhịp nhàng nhiều cơ quan khác
nhau bắt đầu từ não cho đến dây thanh, khoang miệng, khoang mũi, môi, trong số
đó nhiều cơ quan đóng vai trò như các bộ cộng hưởng hay các bộ lọc thông cao

(môi) do đó hình dạng vị trí của các cơ quan này sẽ đóng vai trò quyết định đến âm
được tao ra, như vậy có thể hiểu một cách nôm na là mỗi một âm phát ra đều có một
cấu hình về hình dạng và bố trí các cơ quan phát âm khác nhau, đó là cái đặc trưng
cho mỗi âm. Trong phần này chúng ta sẽ trình bày một số phương pháp phân tích
các tham số đặc trưng của tín hiệu tiếng nói, các tham số đặc trưng này sẽ là một
phần không thể thiếu của một hệ thống nhận dạng tiếng nói (nhận dạng nội dung,
nhận dạng người nói....). Có rất nhiều phương pháp phân tích tham số đặc trưng
khác nhau, tuy nhiên có thể mô tả tổng quát các phương pháp này bởi sơ đồ sau:
T-Engine
SH7760
Micro
Huấn luyện và
tạo CSDL trên
PC
Mô hình
Đối sánh mẫu
Tách tham số
đặc trưng
CSDL mẫu
Tách tham số
đặc trưng
Quyết định nhận dạng
PHA HUẤN LUYỆN
PHA
NHẬN
DẠNG
Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T-Engine SH7760 20
Hình 3.2 – Sơ đồ phương pháp phân tích đặc trưng
Từ sơ đồ trên ta thấy rằng từ tín hiệu tiếng nói đã được lấy mẫu ban đầu, sau quá
trình phân tích tham số ta thu được bộ tham số đặc trưng f

x
(n,m) với m = 0…M
– 1 và n = 0...N – 1 có nghĩa là M véc-tơ tham số có chiều dài mỗi véc tơ là N. Chi
tiết hơn về các phương pháp này sẽ được trình bày trong các phần dưới đây.
3.2.1 Ghi âm và tiền xử lý tín hiệu.
Để hỗ trợ vào ra tín hiệu âm thanh, KIT T-Engine được phối ghép với một chip âm
thanh của hãng Phillips (UDA1342) và giao tiếp với T-Engine thống qua chuẩn giao
tiếp SSI, việc vào ra dữ liệu được thực hiện nhờ sử dụng các ngắt phần cứng của T-
Engine ở một trong 2 chế độ: POLLING hoặc DMA. Dưới đây là lưu đồ thực hiện
việc ghi âm sử dụng chip UDA1342. Chi tiết về lập trình cho chip UDA1342 trên T-
Engine xin xem thêm phần phụ lục A.
Cần lưu ý rằng do chip UDA1342 chỉ hỗ trợ tần số lấy mẫu tối thiểu là 44100Hz,
nên nếu giữ nguyên tần số lấy mẫu này thì tốc độ xử lý sẽ rất chậm do phải xử lý
tính toán với số mẫu rất lớn (44100 mẫu / giây) mà điều này thực sự không cần thiết
với bài toán nhận dạng do thông tin thực sự tập trung chủ yếu trong vùng tần số thấp
từ khoảng 5000Hz trở lại, vì vậy trong quá trình ghi âm tín hiệu tiếng nói sau khi
được trả về từ UDA1342 sẽ được lấy mẫu lại với tần số 11025Hz nhằm làm tăng tốc
độ thực hiện.
Hình 3.3 – Lấy mẫu lại tín hiệu tiếng nói
UDA1342
Lọc thông thấp
5000Hz
Lấy mẫu lại
11025Hz
MIC
Tín
hiệu
tiếng
nói sau
khi lấy

mẫu lại
Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T-Engine SH7760 21
Hình 3.4 – Ghi âm trên T-Engine sử dụng UDA1342
Chờ ngắt Idle từ SSI
Kết thúc
Dừng SSI, ngắt dữ liệu,
ngắt lỗi, cho phép ngắt Idle
Đọc dữ liệu từ thanh ghi nhận
dữ liệu
Sử dụng các bit trong SSISR để
tổ chức lại dữ liệu sau khi tràn
Bắt đầu
Thoát t/thái thiết lập lại, cấu
hình các bit trong SSICR
Truyền tiếp?
Đúng
Sai
Chờ ngắt từ SSI
Cho phép SSI, ngắt dữ liệu,
các ngắt lỗi
Ngắt
dữ liệu?
Đúng
Sai
EN=0,
DMEN=0,
UIEN=0, OIEN=0,
IIEN=1
EN=1,
DMEN=1,

UIEN=1, OIEN=1
Chỉ rõ TRMD, EN, SCKD,
SWSD, MUEN, DEL, PDTA,
SDTA, SPDP, SWSP, SCKP,
SWL, DWL, CDNL
Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T-Engine SH7760 22
Bộ lọc hiệu chỉnh.
Hình 3.5 – Tín hiệu nguồn
Ta thấy rằng tín hiệu nguồn là tuần hoàn và có độ dốc của phổ năng lượng là -12dB.
Do đó trước khi tiến hành các thao tác phân tích đặc trưng người ta cố gắng làm đều
phổ để mọi đánh giá sẽ khách quan với mọi tần số. Để thực hiện người ta sử dụng
một bộ lọc thông cao đối với tín hiệu tiếng nói, thông thường bộ lọc được chọn là:
1
( ) 1 0.9 1.0 (3.1)H z az a

= − ≤ ≤
Khi đó tín hiệu tại đầu ra của bộ lọc có dạng:
*
( ) ( ) ( 1)s n s n as n= − −
Hình 3.6 – Đáp ứng của bộ lọc hiệu chỉnh
3.2.2 Loại bỏ khoảng lặng.
Một trong những vấn đề quan trọng có ảnh hưởng đến độ chính xác của một hệ
thống nhận dạng tiếng nói đó chính là vấn đề dò tìm diểm bắt đầu và kết thúc của
một đoạn tín hiệu tiếng nói hay nói cách khác là bài toán loại bỏ khoảng lặng trong
Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T-Engine SH7760 23
tín hiệu. Những kết quả tồi tệ của bài toán loại bỏ khoảng lặng, ví dụ như: tín hiệu
tiếng nói bị cắt cụt quá nhiều hoặc có lẫn quá nhiều khoảng lặng sẽ làm sai lệch kết
quả nhận dạng. Bài toán này thoạt nghe có vẻ tầm thường nhưng thực tế lại là một
trong những bài toán rất khó trong thực tế đặc biệt là trong những môi trường có độ
ồn cao, mặt khác tốc độ cũng là một vấn đề khi thực hiện các giải thuật loại bỏ

khoảng lặng thời gian thực, để không xảy ra khả năng bị mất mẫu khi ghi âm có kết
hợp dò tìm khoảng lặng thì tốc độ thực thi của giải thuật phải không được phép
chậm hơn tốc độ lấy mẫu, tức là không quá 1 giây xử lý 44100 mẫu trên T-Engine,
đây thực sự cũng là một trong những bài toán tối ưu tương đối khó khăn so
với việc cài đặt các hệ nhận dạng trên máy tính PC.
Thông thường bài toán này được giải quyết nhờ sử dụng hàm năng lượng ngắn hạn
hoặc tần suất vượt điểm không của tín hiệu. Các đại lượng này được tính như sau:
2
1
2
1
1
1
( ) ( ) (3.2)
( ) ( ) (3.3)
1 | sgn[ ( )] - sgn[s(n-1)]
( ) (3.4)
2
m
S
n m L
m
S
n m L
m
s
n m L
P m s n
L
E m s n

s n
Z m
L
= − +
= − +
= − +
=
=
=



Với:

1 s(n) 0
sgn[s( )] (3.5)
1 s(n) < 0
n


=



Các đại lượng nói trên được tính cho mỗi khung tín hiệu có độ dài trong khoảng
vài chục ms (thông thường chọn 20-30 ms). Các giá trị năng lượng ngắn hạn E sẽ
lớn trong khoảng tín hiệu tiếng nói và nhỏ trong khoẳng tín hiệu lặng. Trong khi đó
giá trị Z hay tần suất vượt điểm không đánh giá số lần chuyển đổi của tín hiệu qua
giá trị 0 có xu hướng lớn trong khoảng tín hiệu lặng. Với giả thiết rằng 10 khung tín
hiệu đầu tiên là khoảng lặng, giải thuật loại bỏ khoảng lặng được tiến hành như sau:

s
W ( ) ( )(1 ( )) (3.6)
s s c
m P m Z m S
= −
Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T-Engine SH7760 24
Với giá trị S
c
cỡ khoảng 1000.
Ngưỡng kích hoạt cho hàm W được tính bởi:
W w w
t
µ αδ
= +
, trong đó
µ
,
δ
tương
ứng là giá trị trung bình và phương sai của W tính cho 10 khung tín hiệu đầu tiên, α
là một hằng số được định nghĩa bởi:
0.8
W
0.2
α δ
=
. Với các định nghĩa trên thì hàm
quyết định ngưỡng tín hiệu được xác định như sau:
s w
s w

(3.7)
1 W ( )

0 W ( )
m t
VAD
m t






=
<
Hình 3.7 – Giải thuật loại bỏ khoảng lặng và các đại lượng
3.2.3 Phân khung và hàm cửa sổ.
Do tín hiệu tiếng nói có thể coi là ổn định trong một khoảng thời gian nhỏ cỡ
khoảng vài chục ms, nên khi tiến hành các phép phân tích biến đổi trên tín hiệu tiếng
nói người ta thường chia tín hiệu tiếng nói thành các đoạn nhỏ cỡ 20-30 ms, công
Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T-Engine SH7760 25
việc đó được gọi là phân khung tín hiệu, các khung tín hiệu liên tiếp có thể chồng
nhau khoảng 1/3 độ dài.
Hình 3.8 – Phân khung tín hiệu
Tuy nhiên vấn đề khi phân khung đó chính là sai số của các phép biến đổi so với tín
hiệu gốc, do đó người ta cố gắng sử dụng hàm cửa sổ để hạn chế các sai số do độ
dài hữu hạn của tín hiệu gây ra trong các phép biến đổi. Hàm cửa sổ thường được
dung là Hamming được cho bởi công thức sau:
2 k
w(k) = 0.54 - 0.46cos( ) (3.8)

K - 1
π
Hình 3.9 – Hàm cửa sổ Hamming

×