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

Đồ án tốt nghiệp đại học “nhận dạng giọng nói bằng mạng neural hồi quy”

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 (1010.63 KB, 67 trang )

MỤC LỤC
1
LỜI NÓI ĐẦU
Mọi người có thể dễ dàng hiểu được người khác nói gì và có thể
chỉ cần nghe giọng nói là có thể phân biệt được đó là ai. Tuy nhiên, trong
lĩnh vực thị giác máy tính để có thể làm được điều này là vô cùng khó
khăn. Hơn một thập kỷ qua với sự phát triển mạnh mẽ của công nghệ
thông tin, công nghệ xử lý tiếng nói như mã hóa, nhận dạng tiếng nói,
chuyển lời nói thành văn bản, chuyển chữ viết thành lời nói…đã trở thành
vấn đề nghiên cứu trọng điểm được nhiều nhà khoa học quan tâm ở các
lĩnh vực khác nhau như tin học, toán học, điều khiển, điện tử, sinh học…
Trong thời gian gần đây, các nhà nghiên cứu đang tập trung vào
công nghệ nhận dạng giọng nói và đã có một số thành công đối với việc
nhận dạng tiếng Anh và một số ngôn ngữ khác, ví dụ như các phần mềm
Via Voice Gold của hãng IBM, Speech SDK của Microsoft, Dragon
Natural Speaking của Dragon System. Đối với nước ta, đã có nhiều công
trình nghiên cứu về lĩnh vực nhận dạng giọng nói (Speech Recognition)
trên cơ sở lý thuyết các hệ thống thông minh nhân tạo và cũng đã có
những sản phẩm thương mại. Tuy nhiên những kết quả đó độ chính xác
chưa cao. Vì vậy trong đồ án tốt nghiệp của mình em đã chọn đề tài
“Nhận dạng giọng nói bằng mạng neural hồi quy” để có thể hiểu thêm về
công nghệ xử lý âm thanh và các ứng dụng thực tế của nó.
Mục tiêu của đồ án là tìm hiểu được đặc điểm của tiếng Việt, các
phương pháp trích chọn đặc trưng, nghiên cứu về mạng Neural và xây
dựng một ứng dụng nhận dạng một số từ tiếng Việt. Đồ án được trình bày
trong bốn chương với bố cục như sau:
- Chương 1: Âm thanh và số hóa âm thanh.
- Chương 2: Tiếng việt và các đặc trưng.
2
- Chương 3: Mạng neural và ứng dụng trong nhận dạng giọng
nói.


- Chương 4: Thiết kế chương trình nhận dạng.
Trong quá trình thực hiện em xin chân thành cảm ơn thầy giáo đã tận tình
hướng dẫn, chỉ bảo từng nội dung của đề tài, các thầy, cô giáo trong khoa
Công Nghệ Thông Tin đã có nhiều giúp đỡ chuyên sâu về công nghệ xử
lý tiếng nói, để em có thể hoàn thành nội dung đồ án.
3
CHƯƠNG 1: ÂM THANH VÀ SỐ HÓA ÂM THANH
1.1. Đặc trưng sóng âm
1.1.1.Các đặc trưng
a. Tần số
Tần số là tốc độ mà các dạng sóng riêng biệt lặp lại theo hàm thời
gian, tần số phụ thuộc vào chấn động nhanh hay chậm của không khí
trong một thời gian nhất định.
b. Biên độ
Biên độ là độ lớn của dạng sóng hoặc cường độ của sóng cơ học,
đây là đặc tính quan trọng góp phần nhận diện sự khác biệt giữa nhiễu
nền và giọng nói.
c. Dạng sóng
Dạng sóng là hình dạng của sóng âm thanh, sóng dạng hình sin là
dạng sóng cơ bản của âm thanh, trên lý thuyết nếu chúng ta có thể tổng
hợp một tập hợp các sóng hình sin thì ta có thể tổng hợp bất kỳ âm thanh
nào.
Mỗi âm có một tần số riêng và đơn vị tính là héc (Hz).
1.1.2. Đơn vị vật lý của âm thanh
Các dao động âm phát ra từ nguồn lan truyền trong môi trường đàn
hồi như không khí dưới dạng sóng đàn hồi gọi là sóng âm. Sóng âm
kích động màng nhĩ tai gây cảm giác về âm. Âm thanh có những đặc
trưng cơ bản là: Độ cao của âm, độ to của âm, âm sắc. Do đó cần phân
biệt các loại đại lượng về âm:
4

a. Quãng độ cao (quãng tần số)
Độ cao của âm là một đặc tính sinh lý của âm, nó dựa vào đặc tính
của âm là tần số. Những âm có tần số khác nhau gây cho ta những cảm
giác khác nhau, âm có tần số lớn gọi là âm cao hoặc thanh, âm có tần số
nhỏ gọi là âm thấp hoặc trầm.
Quãng tần số của hai âm là khoảng cách của hai âm đó. Nếu một
âm tần số là f
1
, một âm khác tần số là f
2
(f
2
> f
1
) thì f
2
/f
1
=2
x
.
Khi x=1 thì f
2
/f
1
=2 gọi là một quãng tần số (một ốc-ta)
Khi x=½ thì f
2
/f
1

= 1.41 gọi là nửa ốc-ta.
Khi x=1/3 thì f
2
/f
1
= 1.26 gọi là 1/3 ốc-ta.
-> Mức áp suất của một ốc-ta bằng mức áp suất âm của ½ ốc-ta cộng
thêm 3db. Cao độ được tiếp nhận phần lớn là do quy định bởi tần số cơ
bản của sóng âm và một phạm vi nhỏ hơn bởi cường độ của âm. Nhưng
mối quan hệ giữa cao độ và tần số cơ bản lại không mang tính chất tuyến
tính và thường thay đổi cùng với tần số đi kèm. Vì quãng tần số của một
âm quy định độ cao của âm đó nên còn gọi là quãng độ cao (quãng 8 –
bát bộ).
b. Độ mạnh
Độ mạnh của âm do biên độ dao động quyết định. Biên độ dao
động càng lớn âm phát ra càng mạnh. Độ mạnh còn gọi là cường độ.
Cường độ âm được biểu thị qua năng lượng được sóng âm truyền
trong một đơn vị thời gian qua một đơn vị diện tích vuông góc với
phương truyền âm (W/m
2
).
Đối với con người, giá trị tuyệt đối của cường độ âm I không quan
trọng bằng giá trị tỷ đối của I với một giá trị I
0
nào đó chọn làm chuẩn.
Người ta định nghĩa mức cường độ âm L là logarit thập phân của tỷ số
I/I
0
.
L(B) = lg(I/I

0
) hoặc L(dB) = 10lg(I/I
0
) với 1B = 10dB.
5
Trong thực tế người ta thường dùng đơn vị dB (deciben) hơn B, khi
đó L= 1dB thì lớn gấp 1,26 lần I
0
. Đó là mức cường độ nhỏ nhất mà tai ta
có thể nghe được.
c. Độ dài
Độ dài hay trường độ của âm phụ thuộc vào sự chấn động lâu hay
chóng của các phần tử không khí.
d. Âm sắc
Âm sắc là bản sắc, là sắc thái riêng biệt của một âm. Thực chất, âm
sắc là chất lượng tiếp nhận trong các âm phức. Cùng một nốt nhạc nhưng
âm thanh của các loại đàn khác nhau sẽ có những sắc thái khác nhau.
Âm sắc là một đặc tính sinh lý của âm, được hình thành trên cơ sở
các đặc tính vật lý của âm là tần số và biên độ. thực nghiệm chứng tỏ
rằng khi một nhạc cụ hoặc một người phát ra một âm có tần số f
1
thì đồng
thời cũng phát ra các âm có tần số f
2
=2f
1
, f
3
=3f
1

,…
Âm có tần số f
1
gọi là âm cơ bản hay hoạ âm thứ nhất, các âm có
tần số f
2
, f
3
,… gọi là các hoạ âm thứ hai, thứ ba … Tuỳ theo cấu trúc từng
nhạc cụ hoặc cổ họng từng người, mà trong số các hoạ âm cái nào có biên
độ khá lớn, cái nào có biên độ nhỏ, cái nào chóng bị tắt đi. Do hiện tượng
đó, âm phát ra là sự tổng hợp của âm cơ bản và các hoạ âm, nó có tần số
f
1
của âm cơ bản nhưng đường biểu diễn của nó không còn là đường hình
sin mà trở thành một đường phức tạp có chu kỳ.
Đó là sự khác nhau về âm sắc, lý do:
è Vật tạo ra âm khác nhau.
è Cách làm cho vật phát âm khác nhau.
è Hiện tượng cộng hưởng khác nhau.
6
1.2. Quá trình số hóa âm thanh
1.2.1. Quá trình lấy mẫu âm thanh tương tự
Đây là quá trình rời rạc hoá tín hiệu âm thanh tương tự về thời gian.
Nguyên tắc cơ bản của quá trình này là tín hiệu âm thanh tương tự sẽ
được lấy mẫu với tần số lấy mẫu trong một giây (tốc độ lấy mẫu) là cố
định, ví dụ: tần số lấy mẫu là 10000Hz thì trong một giây lấy được 10000
mẫu. Khi lấy mẫu phải chú ý đảm bảo tần số lấy mẫu phải lớn hơn hoặc
bằng hai lần tần số lớn nhất của sóng âm tương tự để tránh hiện tượng giả
tần số. Nếu tần số lớn nhất của tín hiệu của sóng âm thanh tương tự F(Hz)

thì tần số lấy mẫu lớn hơn hoặc bằng 2F (gọi là tần số Nyquist), chẳng
hạn nếu ta số hoá tín hiệu lời nói ở tần số 5kHz thì tần số lấy mẫu phải là
10kHz hoặc lớn hơn.
Hình 1.1: Quá trình số hoá thành dạng sóng file Wave
1.2.2. Quá trình lượng tử hóa
Đây là quá trình rời rạc biên độ tín hiệu của sóng âm tương tự.
Quá trình này lấy biên độ của tín hiệu tại mỗi lần lấy mẫu và biểu
diễn các biên độ đó dưới dạng nhị phân. Để lựa chọn cách thức lượng tử
cần phải xem xét hai kía cạnh: giá trị nhỏ nhất của tốc độ dữ liệu (data
rate) và giá trị lớn nhất của chất lượng âm (quality).
7
è Tốc độ dữ liệu được tính bằng bps (bits per sencond) dùng để
định dạng sóng âm, nó là tích của số mẫu được lấy trong một giây
(sample per second) và số bit tương ứng một mẫu đã được lấy. Do tốc độ
lấy mẫu là cố định nên ta phải đảm bảo số bit để biểu diễn một mẫu càng
lớn càng nghe trung thực với âm thanh thật (do nó ảnh hưởng đến sự
phân giải tiêu chuẩn của tín hiệu tương tự tại mỗi thời điểm lấy mẫu, và
do đó ảnh hưởng đến chất lượng âm thanh cần thu).
è Giá trị lớn nhất của chất lượng âm: nghĩa là khi chuyển đổi
ngược sóng âm số sang sóng âm tương tự phải đảm bảo lỗi xảy ra là nhỏ
nhất. Điều này đồng nhất với sóng âm tương tự sau khi được chuyển
ngược từ sóng âm số phải nghe giống sóng âm tương tự ban đầu được số
hoá.
Việc lấy mẫu của tín hiệu không gây ra sự mất mát thông tin của tín
hiệu tương tự cần lấy mẫu, quá trình lượng tử hoá ngược lại gây ra mất
mát thông tin (hay còn gọi là lỗi lượng tử hoá) và gây ra nhiễu. Hệ số
nhiễu tín hiệu (Signal – to – noise) được dùng để đánh giá chất lượng âm
thanh, được tính theo công thức:



=
=
N
i
N
i
ie
ix
1
2
1
2
)(
)(
Tróng đó x(n) là mẫu thứ n, e(n) là lỗi lượng tử hoá đối với mẫu x(n)
đó.
Tín hiệu tiếng nói sau khi được lượng tử hoá sẽ được lưu vào máy
tính dưới dạng các file âm thanh khác nhau, tuỳ thuộc vào mục đích sử
dụng, như có thể được lưu trữ nguyên mẫu như đã lượng tử hoá, hoặc
đựơc nén rồi mới lưu trữ. Ta xem xét các loại file phổ biến sau.
1.3. Cấu trúc file Wave
8
1.3.1. Các loại file âm thanh
Có rất nhiều dạng file âm thanh, như dạng file “.MP3”, “.MIDI”,
“.WAV”, “.RA”, “AIFF”, “.WMA”. Song phổ biến hơn là ở dạng
“.wav” . Dạng file này đưa ra ở dạng thô, dữ liệu âm thanh không được
nén. Được phát minh đầu tiên bởi Microsoft, các file wave vẫn được sử
dụng một cách rộng rãi (ví dụ các âm thanh lúc khởi động và tắt
Window). Chất lượng âm thanh rất tốt nhưng kích thước file rất lớn. Một
bài hát pop đầy đủ ở dạng Wave có thể chiếm 40 MB của không gian đĩa

hoặc nhiều hơn.
1.3.2. Cấu trúc file Wave
Cấu trúc file wave: File wave là tập hợp con file RIFF của Window
cho lưu trữ các file multimedia. Một file RIFF có header file là một chuỗi
các chunk dữ liệu. Một file Wave thường là file RIFF cùng với một chunk
wave đơn giản, nó có chứa 2 chunk con: một chunk “fmt” đặc tả dữ liệu
và một chunk dữ liệu có chứa các mẫu dữ liệu thực. Gọi dạng này là
“Canonical form”.
9
Hình 1.2: Cấu trúc chuẩn của File Wave
Dạng Header WAVE bắt đầu cùng với RIFF header
offset Size Name
Description
0 4 ChunkID
Có chứa các chữ cái “RIFF”
4 4 ChunkSize 36+SubChunk2Size, chính xác hơn:
4+(8+SubChunk1Size)
+(8+SubChunk2Size). Kích thước phần còn
lại của chunk, đó là kích thước của toàn bộ
file tính theo byte trừ đi 8 byte cho 2
trường không chứa trong nó là ChunkID và
ChunkSize.
8 4 Format Có chứa các chữ cái “WAVE”
10
Dạng file Wave có chứa 2 Subchunk :”fmt” và “data”
Subchunk “fmt” mô tả dạng của dữ liệu âm thanh
Offset Size Name Description
12 4 Subchunk1ID Có chứa các chữ cái “fmt” (dạng
0x666d7420 big - endian)
16 4 Subchunk1Siz

e
16 cho PCM, nó là kích thước phần còn lại
của subchunk
20 2 AudioFormat PCM=1 (ví dụ lượng tử hoá tuyến tính), các
giá trị khác 1 chỉ ra một số dạng nén
22 2 NumChannels Mono=1, Stereo=2
24 4 SampleRate Ví dụ: 8000,44100
28 4 ByteRate =SampleRate*NumChannels*BitPerSample
/8
32 2 BlockAlign =Numchannels*BitPerSample/8
Số các byte cho một mẫu có chứa tất cả các
kênh
34 2 BitsPerSample 8bits=8, 16bits=16
2 ExtraParamSi
ze
Nếu là PCM thì không tồn tại.
X ExtraParams Không gian cho các tham số thêm vào
Subchunk “data” có chứa kích thước của dữ liệu và âm thanh thực
Offset Size Name Description
36 4 SubChunk2ID Có chứa các chữ cái “data”
(dạng 0x64617461 big - endian)
40 4 SubChunk2Si
ze
=NumSamples*NumChannels*BitPerSamp
le/8
Số các byte trong dữ liệu
44 * Data dữ liệu âm thanh thực
11
Từ việc hiểu cấu trúc lưu trữ file .wav trong máy tính mà ta hoàn toàn có
thể thao tác xử lý các file wav một cách đơn giản như: việc cắt, dán, nối

ghép, và điều chỉnh phát 1 đoạn trong 1 file wav bất kỳ để nghe.
1.3.3. Xử lý file Wave
Một file wave bao giờ cũng có phần header và phần dữ liệu. Trong
đó header chứa các thông tin như độ dài file, số bit/mẫu, kiểu kênh mono
hay stereo,…
Muốn thao tác xử lý các file wave thì chúng ta phải thay đổi một
số thông số trong header như độ dài file,…sau đó ghi các dữ liệu cần thiết
sau khi ghi header mới vào.
Các trường cần thay đổi khi thực hiện các thao tác xử lý File wav:
- 2 trường SubChunk1Size và SubChunk2Size tất nhiên là phải
được cộng thêm với phần dữ liệu của File 2
Nếu 2 File khác tôc độ lấy mẫu, giả sử 2 File cùng số kênh, cùng
mức lượng tử, mà File 2 có tốc độ lấy mẫu lớn hơn File 1, thì khi ghép
File2 vào File 1; khi phát, âm thanh File 1 như ban đầu còn file 2 sẽ phát
chậm hơn (điều này tương đương với 1 dọng trầm được phát thay vì dọng
cao). Ngược lại, File 2 có tốc độ lấy mẫu bé hơn File 1, thì khi ghép File2
vào File 1, khi phát, âm thanh File 1 như ban đầu còn file 2 sẽ phát
nhanh hơn (điều này tương đương với 1 dọng cao được phát thay vì dọng
trầm).
- Nếu 2 File cùng tốc độ lấy mẫu:
+ Giả sử cùng kênh là 1 hoặc 2, nhưng mức lưọng tử khác
nhau, chẳng hạn File1 là 8Bit/mẫu, File2 là 16Bit/mẫu khi ghép 2 File lại
với nhau ta cần phải thực hiện 1 phép ánh xạ 1 File về dạng cùng mức
12
Header Dữ liệu
lượng tử của File kia bằng cách, thực hiện biến đổi giá trị mẫu từ miền [0,
255] tới miền [0, 65535] hoặc ngược lại.
+ Nếu cùng mức lượng tử, cùng kênh thì sao chép bình thường
+ Nếu cùng mức lượng tử nhưng khác kênh. Ta cần biến đổi 1
File về dạng cùng kênh với File kia bằng cách: Biến 1 File Mono 

Stereo thì mỗi mẫu của File Mono được nhân lên thêm 1 mẫu nữa và
chèn vào sau mẫu đó. Biến Stereo  Mono bằng cách chỉ lấy mẫu của
kênh trái hoặc kênh phải. Lúc này từ File Stereo ta được 2 File MonoLeft
và MonoRight.
CHƯƠNG 2: TIẾNG VIỆT VÀ CÁC ĐẶC TRƯNG
2.1. Quá trình phát âm
Với một vị trí quan trọng trong nhiều lĩnh vực, tiếng Việt và nhận
dạng tiếng Việt cần phải được quan tâm nghiên cứu nhiều hơn nữa. Dưới
góc độ nghiên cứu học hỏi, bước đầu tôi đã nghiên cứu âm thanh, tiếng
nói và nhận dạng với các phát âm từ đơn và nghiên cứu các nguyên âm và
phụ âm trong Tiếng Việt.
Quá trình phát âm của con người có thể được mô tả như sau:
+ Khí được đẩy từ phổi qua vòm họng ra miệng phát thành âm.
+ Khi dây thanh quản rung tạo ra các xung âm thanh và phát ra
tiếng kêu (voiced sound).
+ Nếu dây thanh quản không rung nhưng mở liên tục tạo ra âm
câm (Unvoice).
+ Khi nói hình dạng vòm họng, thanh quản thay đổi tạo ra các âm
khác nhau.
13
Hình 2.1: Quá trình phát âm

+ Hình dạng vòm họng thay đổi chậm trong khoảng từ 10 đến
100ms.
+ Lượng khí từ phổi đẩy ra xác định âm lượng phát ra .
Cách tạo ra tiếng nói như trên là nguyên lý cơ bản cho các tiếng nói
chung trên thế giới nhưng đi sâu vào nghiên cứu thì mỗi tiếng nói của các
nước khác nhau có điểm chung và điểm riêng biệt khác nhau, chính điểm
riêng biệt khác nhau này là một thuộc tính quan trọng để có thể nhận
dạng tốt được các loại tiếng nói của các nước khác nhau. Vì vậy cần phải

hiểu rõ cấu trúc ngữ âm tiếng Việt.
2.2. Ngữ âm tiếng việt
2.2.1. Các đặc tính cơ bản của tiếng Việt
• Âm tiếng việt tương đối tách biệt: Trong tiếng việt các âm của
các từ trong một câu phát âm hầu như tách biệt nhau, nghĩa là các từ đó
được phát âm hoàn toàn độc lập, không có hiện tượng đọc nối nhau như
trong tiếng Anh.
• Tiếng việt tương đối nhất quán giữa cách phát âm và cách viết:
Nguyên tắc chính của chữ tiếng việt là ký âm, nghĩa là đọc sao viết
vậy. Nhưng sau các nghiên cứu trên tiếng việt đã chỉ ra một số bất đồng
14
trong hệ thống chữ viết, mặc dù vậy nhìn chung tiếng việt vẫn nhất quán
giữa đọc và viết.
• Hiện tượng môi hoá: Trong tiếng việt có một số âm môi như:
ô,u . Các phụ âm đứng trước các âm này sẽ bị hiện tượng biến đổi sóng
âm, gọi là hiện tượng môi hoá.
2.2.2. Khái niệm âm tiết
Chuỗi lời nói của con người được chia ra thành nhiều đoạn nhỏ
như câu, từ, cụm từ và cuối cùng là âm tiết. Âm tiết là đơn vị phát âm
nhỏ nhất, không phân chia được nữa dù nói chậm đến đâu (mà vẫn giữ
đúng ý nghĩa âm tiết đó).
Mỗi âm tiết bao gồm nhiều yếu tố ngữ âm tạo thành và các yếu tố
ngữ âm hầu như phát âm cùng lúc để tạo nên đúng âm tiết đó. Bên cạnh
đó người ta còn xem âm tiết bao gồm nhiều yếu tố đoạn tính – là các yếu
tố có giới hạn phân đoạn trong âm tiết như phụ âm, nguyên âm và âm
đệm – và các yếu tố siêu đoạn tính – các yếu tố mà không giới hạn trong
âm tiết như ngữ điệu, thanh điệu. Đặc điểm riêng của âm tiết tiếng Việt là
đơn âm và mang thanh điệu.
2.2.3. Cấu trúc âm tiết tiếng việt
Cấu trúc âm tiết tiếng Việt được xem xét theo nhiều cách, nhưng

chúng ta cũng có thể xem xét theo hai quan điểm sau:
a. Quan điểm truyền thống
Cấu trúc âm tiết:
Thanh điệu
Âm đầu
Phần vần
Âm đệm Âm chính Âm cuối
Một âm tiết tiếng Việt gồm 3 phần:
15
+ Thanh điệu: Là yếu tố luôn có mặt trong mọi âm tiết tiếng Việt.
Tiếng Việt bao gồm 6 thanh điệu: Ngang, huyền, sắc, hỏi, ngã, nặng.
+ Âm đầu : yếu tố mở đầu âm tiết, thường độc lập với phần còn
lại.
+ Phần vần : gồm 3 phần:
Âm đệm: Là một bán nguyên âm chiếm vị trí trung gian giữa phụ
âm và phần vần. Có thể có hay không trong âm tiết. Âm đệm có chức
năng tu chỉnh âm sắc của âm tiết. Âm đệm có nhiệm vụ làm trầm hoá âm
tiết. Tiếng Việt có hai âm đệm là [o] và [u] được phát âm tương đối giống
nhau.
Âm chính: Là một nguyên âm (đơn hay đôi), luôn có mặt trong âm
tiết, giữ vai trò là đỉnh của âm.Trong Tiếng Việt điểm thanh tính bao giờ
cũng là nguyên âm, các tiêu chí để phân biệt nguyên âm bao gồm các tiêu
chí về âm sắc và âm lượng. Các âm chính là các thành phần dễ phân biệt
nhất.
Âm cuối: Là phụ âm hay bán nguyên âm để kết thúc âm tiết. Tiếng
Việt có hai bán nguyên âm cuối là [i] và [u].
Mỗi một ngôn ngữ có những đặc điểm về ngữ âm và ngữ pháp
khác nhau. Ta có thể áp dụng một phương pháp xử lý tiếng nói trên ngôn
ngữ này rất hiệu quả. Nhưng cùng phương pháp đó áp dụng cho một ngôn
ngữ khác thì không phải lúc nào cũng đúng. Đặc điểm của ngôn ngữ tiếng

Anh là một từ được cấu trúc từ một hoặc nhiều âm vị khác nhau. Vì vậy
nói một từ trong ngôn ngữ này có thể chia nhỏ ra làm một hoặc nhiều
đoạn âm thanh. Với ngôn ngữ tiếng Việt mỗi một từ được phát âm riêng
biệt, không có sự biến đổi chu kỳ âm trong một từ.
Với cách quan niệm này thì để nhận dạng một từ ta phải nhận dạng
lần lượt các yếu tố về thanh điệu, âm đầu và vần; trong vần ta lại chia nhỏ
để nhận dạng các phần âm đệm, âm chính, âm cuối. Và như vậy ta hình
dung thấy rằng, bài toán nhận dạng từ đọc của ta trở nên quá phức tạp, độ
16
phức tạp về thời gian là lớn, rồi việc phân chia ranh giới giữa các phần
như thế nào là chuẩn, là đảm bảo yêu cầu. Đây mới là vấn đề quan tâm
hàng đầu. Chính vì những điều khó khăn này mà ta phải nghĩ tới một
hướng khác về cấu trúc từ. Và đây là quan điểm mới mà tôi muốn thảo
luận.
b. Quan điểm mới
Đây là quan điểm mới về cấu tạo từ ngữ trong tiếng Việt mà tôi
đang quan tâm nghiên cứu.
Ta thấy rằng quan niệm truyền thống tiếng Việt có bảng chữ cái
gồm 17 phụ âm, 10 nguyên âm và 5 dấu, trên cơ sở đó tất cả các từ đơn
được sinh ra. Các từ đơn này là cơ sở tạo ra tất cả các từ trong tiếng Việt.
Với cách quan niệm trên, người ta có thể phân tích, nghiên cứu tiếng Việt
ở nhiều khía cạnh khác nhau như vần, điệu, ngữ pháp, ngữ nghĩa, cách
phát âm, v.v.
Tuy nhiên với cách quan niệm trên làm cho chúng ta gặp nhiều khó
khăn về thuật toán như làm tăng dung tích bộ nhớ, tăng thời gian xử lý.
Do đó để đơn giản hoá khi nghiên cứu nhận dang tiếng Việt người ta có
thể quan niệm toàn bộ tiếng Việt được xây dựng từ một bảng gồm 26 phụ
âm và 620 nguyên âm, đồng thời có 620 vần ( Báo cáo khoa học 2006 của
PGS.TS Nguyễn Văn Xuất ).
Như thế chúng ta có thể xem mọi từ trong tiếng Việt có cấu trúc như sau:

[<PHỤ ÂM>] & [<NGUYÊN ÂM>] (*)
Trong đó <PHỤ ÂM> có thể có hoặc không, thành phần
<NGUYÊN ÂM> bắt buộc phải có. Theo dạng (*) khi đó toàn bộ tiếng
Việt có:
26*620+620=16.740 từ
Với quan niệm từ tiếng việt có cấu trúc [<PHỤ ÂM>] &
[<NGUYÊN ÂM>] thì số lượng từ tăng lên so với quan niệm truyền
17
thống, vì một loạt từ dạng như po, pó, py, pý, poăng, poặng bây giờ là
từ Việt, nhờ đó việc phiên âm để đọc tiếng nước ngoài đơn giản hơn.
2.3. Kỹ thuật trích chọn đặc trưng
2.3.1. Tiền xử lý
Đầu vào là tín hiệu 16 bit PCM. Có 2 hàm tiền xử lý được áp dụng
trước khi thực hiện trích rút tham số:
- Chia tỉ lệ tín hiệu.
- Lọc thông cao.
Chia tỉ lệ là phân chia tín hiệu đầu vào có tác dụng giảm thiểu khả
năng tràn bộ nhớ khi thực hiện với điểm cố định. Lọc thông cao đáp ứng
ngăn ngừa các thành phần tần số thấp không mong muốn. Một bộ lọc cực
không bậc 2 cùng với tần số cắt 140 Hz được sử dụng.
21
21
1
9114024.09059465.11
46363718.092724705.046363718.0
)(
−−
−−
+−
+−

=
zz
zz
zH
h
(1)
Các tín hiệu vào được lọc qua H
h1
(z) ký hiệu là S(n) và sẽ được sử
dụng trong tất cả các bước mã hóa tiếp theo.
2.3.2. Phân tích và lượng tử các hệ số dự báo tuyến tính
Sự phân tích thời gian ngắn và lọc tổng hợp dựa trên 10 tham số
lọc dự báo tuyến tính. Lọc tổng hợp LP được định nghĩa như là:

=

+
=
10
1
ˆ
1
1
)(
ˆ
1
i
i
i
za

zA
(2)
Với
i
a
ˆ
, i=1,…,10 là các hệ số dự báo tuyến tính(đã được lượng tử). Phân
tích dự báo thời gian ngắn, hoặc phân tích dự báo tuyến tính thực hiện
trên khung tín hiệu giọng nói sử dụng phương thức tự tương quan cùng
với cửa sổ không đối xứng 30 ms. Với 80 mẫu(tương ứng với 10 ms), các
18
hệ số tự tương quan của tín hiệu giọng nói đã được cửa sổ hóa, được tính
toán và chuyển đổi sang các hệ số LP sử dụng thuật toán Levinson. Sau
đó các hệ số LP được biến đổi sang miền LSP cho mục đích lượng tử và
nội suy. Các bộ lọc nội suy đã được lượng tử hoặc chưa được lượng tử,
được chuyển đổi trở về các hệ số lọc LP.
2.3.2.1. Tính toán cửa sổ và các hệ số tự tương quan
Cửa sổ phân tích LP gồm 2 phần: Phần thứ nhất là cửa sổ
Hamming và phần thứ 2 là chu trình hàm cosin. Cửa sổ được đưa ra bởi:







=

=
=

239, ,200)
159
)200(2
cos(
199, ,0n )
399
n2
0.46cos(-0.54
(n)W
p
n
n
l
π
π
(3)
Cửa sổ phân tích LP áp dụng với 120 mẫu từ khung giọng nói quá
khứ, 80 mẫu từ khung giọng nói hiện tại, và 40 mẫu từ khung tương lai.
Thủ tục cửa sổ được minh họa trong hình dưới đây:
Hình 2.2: Thủ tục Windowing trong phân tích LP

Tín hiệu giọng nói đã được cửa sổ:
s’(n)= W
lp
(n)s(n) n=0,…,239 (4)
được sử dụng để tính hệ số tự tương quan:
19

=
=−=

239
10, ,0)(')(')(
kn
kknsnskr
(5)
với r(0)=1.0
Một dải tần mở rộng được áp dụng, bằng cách nhân các hệ số tự
tương quan với:
10, ,1
2
2
1
exp)(
2
0
=

















−= k
f
kf
kW
s
lag
π
(6)
Với f
0
=60 hz là dải tần mở rộng, và f
s
=11025 Hz là tần số mẫu.
Hơn nữa, r(0) được nhân bởi nhân tố hiệu chỉnh nhiễu trắng 1.0001,
tương đương với cộng thêm nhiễu sàn -40dB. Hệ số tự tương quan đã
chỉnh sửa được đưa ra bởi:
r’(0)=1.0001 r(0)
r’(k)= W
lag
(k)r(k) k=1,…,10 (7)
2.3.2.2. Thuật toán Levinson- Durbin
Các hệ số tự tương quan đã biến đổi r’(k) được sử dụng để thu
được các hệ số lọc LP a
i
, i=1, ,10 từ các phương trình:

=
=−=−

10
10, ,1)('|)(|'
i
i
kkrkira
(8)
Các phương trình trên được giải quyết bằng cách sử dụng thuật
toán Levinson-Durbin. Thuật toán sử dụng thủ tục đệ quy sau:
20
[ ]
end
EkE
end
akaa
itojfor
ka
Ejirak
a
toifor
rE
i
i
i
i
jii
i
j
i
j
i

i
i
i
i
j
i
ji
i
]1[2][
]1[]1[][
][
]1[
1
0
1
]1[
0
0
)1(
11
/)('
1
101
)0('







=


−=
+=
−=
=






−−=
=
=
=

Kết quả cuối cùng cho bởi a
j
=a
j
[10]
, j=0, ,10 , với a
0
=1.0
2.3.2.3. Quá trình chuyển đổi LP sang LSP
Các hệ số lọc LP a
i
, i=0, ,10 được chuyển đổi sang các hệ số cặp

phổ vạch (LSP) cho mục đích lượng tử và nội suy. Các hệ số LSP được
xác định là nghiệm của tổng các đa thức:
F’
1
(z) = A(z) + z
-11
A(z
-1
) (9)
Và:
F’
2
(z) = A(z) - z
-11
A(z
-1
) (10)
Đa thức F’
1
(z) là đối xứng, và đa thức F’
2
(z) là không đối xứng.
Chúng ta có thể nhận thấy rằng tất cả các nghiệm của các đa thức đó tạo
thành một chu trình và luân phiên nhau. F’
1
(z) có một nghiệm z = -1(
πω
=
) và F’
2

có một nghiệm z = 1(
0
=
ω
). Hai nghiệm này được loại ra
bằng cách định nghĩa các đa thức mới:
F
1
(z) = F’
1
(z) / (1 + z
-1
) (11)
Và:
F
2
(z) = F’
2
(z) / (1 – z
-1
) (12)
21
Mỗi đa thức có 5 nghiêm liên hợp trên một chu trình đơn vị (
ij
e
ω
±
)
và chúng có thể được viết:


=
−−
+−=
9, ,3,1
21
1
21)(
i
i
zzqzF
(13)
Và:

=
−−
+−=
10, ,4,2
21
2
21)(
i
i
zzqzF
(14)
với
)cos(
ii
q
ω
=

. Các hệ số
i
ω
là tần số phổ vạch(LSF) và chúng
thỏa mãn
πωωω
<<<<<
1021
0
. Các hệ số q
i
là các hệ số LSP trong
miền cosine.
Bởi vì cả hai đa thức F
1
(z) và F
2
(z) là đối xứng nên chúng ta chỉ
cần tính toán 5 hệ số đầu tiên của mỗi đa thức. Các hệ số của hai đa thức
này được tìm bởi mối tương quan đệ quy:
f
1
(i+1) = a
i+1
+ a
10-i
– f
1
(i) i = 0, ,4
f

2
(i+1) = a
i+1
+ a
10-i
– f
2
(i) i = 0, ,4 (15)
Với f
1
(0) = f
2
(0) = 1.0. Các hệ số LSP được tìm kiếm bằng cách
đánh giá các đa thức F
1
(z) và F
2
(z) tại 60 điểm cách đều nhau giữa 0 và
π
và kiểm tra sự đổi dấu. Nếu có sự đổi dấu sẽ tồn tại 1 nghiệm sau đó
chúng ta chia nhỏ đoạn có sự đổi dấu làm 4 đảm bảo nghiệm tìm thấy
chính xác hơn. Các đa thức Chebyshev được sử dụng để đánh giá F
1
(z) và
F
2
(z). Trong phương pháp này các nghiệm được tìm kiếm chính xác trong
miền cosine. Các đa thức F
1
(z) hoặc F

2
(z), được đánh giá tại
ω
j
ez =
, được
viết:
( )
)(2
5
xCeF
j
ω
ω

=
(16)
với :
C(x) = T
5
(x) + f(1)T
4
(x) + f(2)T
3
(x) + f(3)T
2
(x) + f(4)T
1
(x) + f(5)/2 (17)
22

ở đây
)cos()(
ω
mxT
m
=
là bậc thứ m của đa thức Chebyshev, và f(i) ,
i=1,…,5 là hệ số của F
1
(z) hoặc F
2
(z), được tính toán từ phương trình
(15). Đa thức C(x) được đánh giá tại giá trị
)cos(
ω
=x
sử dụng quan hệ đệ
quy :
2/)5()(
)5(2
14
21
21
fbxbxC
end
kfbxbb
todownkfor
kkk
+−=
−+−=

=
++
Với giá trị khởi tạo b
5
=1 và b
6
=0.
2.3.2.4. Lượng tử hóa các hệ số LSP
Các hệ số LSP q
i
được lượng tử hóa sử dụng biểu điễn LSF
i
ω
trong miền tần số
[ ]
π
,0
, tức là :
10, ,1)arccos(
==
iq
ii
ω
(18)
Một bộ chuyển đổi dự báo trung bình trượt(MA) bậc 4 được sử
dụng để dự báo các hệ số LSF của khung hiện thời. Sự khác nhau giữa
các hệ số dự báo và hệ số tính toán là đã lượng tử hóa sử dụng 2 giai đoạn
bộ lượng tử véctơ(VQ). Giai đoạn thứ nhất là một VQ 10 chiều sử dụng
codebook L1 cùng với 128 mục từ(7 bits). Giai đoạn thứ 2 là một VQ 10
bits được phân tách thành 2 codebooks 5 chiều, L2 và L3, mỗi codebook

chứa 32 mục từ(5 bits).
Để giải thích quá trình lượng tử, chúng ta xem xét mô tả đầu tiên
của quá trìng giải mã, mỗi hệ số đạt được từ tổng của 2 codebooks :



=+
=+
=
10, ,6)2(2)1(1
5, ,1)2(2)1(1
ˆ
ilLlL
ilLlL
l
ii
ii
i
(19)
Ở đây l1, l2, l3 là chỉ số codebook. Để tránh những cộng hưởng đột
ngột trong lọc tổng hợp LP đã lượng tử, các hệ số
i
l
ˆ
được điều chỉnh tiến
gần tới các hệ số có khoảng cách nhỏ nhất J :
23
end
end
lll

Jlll
Jllif
ifor
iii
iii
ii
2/)
ˆˆ
(
ˆ
2/)
ˆˆ
(
ˆ
)
ˆˆ
(
10, ,2
1
11
1
++=
−+=
−>
=

−−

Quá trình trên được thực hiện 2 lần. Đầu tiên với giá trị J=0.0012,
sau đó giá trị của J=0.0006. Sau khi thực hiện quá trình này, các hệ số

LSF đã lượng tử
)(
ˆ
m
i
ω
cho khung hiện tại m đạt được từ tổng các đầu ra bộ
lượng tử trước
)(
ˆ
km
i
l

và đầu ra bộ lượng tử hiện thời
)(
ˆ
m
i
l
:
∑∑
=

=
=+







−=
4
1
,
)(
4
1
,
)(
10, ,1
ˆ
ˆ
ˆ
ˆ
1
ˆ
k
km
iki
m
i
k
ki
m
i
ilplp
ω
(20)

Ở đây
ki
p
,
ˆ
là các hệ số của bộ chuyển đổi dự báo trung bình
trượt(MA). Dự báo trung bình trượt được định rõ bởi các bits L0 riêng
biệt. Các giá trị ban đầu của
)(
ˆ
k
i
l
cho bởi
11/
ˆ
π
il
i
=
với k<0.
Sau khi tính toán
i
ω
ˆ
, bộ lọc tương ứng sẽ kiểm tra tính ổn định
theo trình tự sau :
1) Xắp xếp lại hệ số
i
ω

ˆ
theo giá trị tăng dần
2) Nếu
005.0
ˆ
1
<
ω
thì
005.0
ˆ
1
=
ω
3) Nếu
0391.0
ˆˆ
1
<−
+ ii
ωω
, thì
9, ,10391.0
ˆˆ
1
=+=
+
i
ii
ωω

4) Nếu
135.3
ˆ
10
>
ω
, thì
135.3
ˆ
10
=
ω
Thủ tục mã hóa các tham số LSF có thể được mô tả như phần dưới.
Với mỗi một trong hai dự báo MA thu được phép tính xấp xỉ tốt nhất các
hệ số LSF hiện thời. Phép tính xấp xỉ tốt nhất được định nghĩa là tối thiểu
bình phương trung bình lỗi(MSE) có trọng số :

=
−=
10
1
2
)
ˆ
(
i
iiilsf
wE
ωω
(21)

24
Các trọng số w
i
được đưa ra thích ứng như là một hàm của các hệ
số LSF chưa lượng tử ,



+−+−
>−+−
=



+−−
>−−
=≤≤



+−−
>−−
=
−+
−+
Otherwise
If
w
Otherwise
If

iw
otherwise
If
w
ii
ii
i
i
1)192.0(10
0192.00.1
1)1(10
010.1
92
1)104.0(10
0104.00.1
2
9
9
10
2
11
11
2
2
2
πω
πω
ωω
ωω
πω

πω
(22)
Thêm vào đó, các trọng số w
5
và w
6
được nhân với 1.2.
Vectơ lượng tử cho khung hiện thời m thu được từ :
10, ,1
ˆ
1/
ˆ
ˆ
4
1
,
4
1
)(
,
)(
=














−=
∑∑
==

iplpl
k
ki
k
km
iki
m
ii
ω
(23)
Codebook đầu tiên L1 đã cho và thực thể l1 là tối thiểu bình
phương lỗi(không có trọng số) được lựa chọn. Codebook thứ 2 L2 được
tìm kiếm bởi phần thấp của giai đoạn thứ 2. Cho mỗi thành phần, vectơ
i
ω
ˆ
, i=1,…,5 được xây dựng lại từ (20), và được điều chỉnh đảm bảo
khoảng cách tối thiểu 0.0012. MSE có trọng số của biểu thức (21) được
tính toán, và vectơ L2 là kết quả của lỗi nhỏ nhất được lựa chọn. Sử dụng
giai đoạn đầu tiên vectơ L1 và phần thấp của giai đoạn 2 L2, phần cao của
gia đoạn 2 được tìm kiếm từ codebook L3. Một lần nữa thủ tục điều chỉnh

lại được sử dụng đảm bảo khoảng cách tối thiểu 0.0012. Vectơ L3 là tối
thiểu MSE có trọng số được lựa chọn. Vectơ kết quả
i
l
ˆ
, i=1,…,10 được
điều chỉnh đảm bảo khoảng cách tối thiểu 0.0006. Quá trình này được
thực hiện cho mỗi 1 trong 2 dự báo MA được định rõ bởi L0, và dự báo
trung bình trượt(MA) L0 đưa ra MSE có trọng số nhỏ nhất được lựa chọn.
25

×