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

Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T - Engine SH7760

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.72 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ế độ
hoạt động
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

Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T-Engine SH7760 7
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
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:
Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T-Engine SH7760 24
s
W ( ) ( )(1 ( )) (3.6)
s s c
m P m Z m S
= −
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,
Tổng hợp và nhận dạng tiếng Việt trên hệ nhúng T-Engine SH7760 25
công 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

×