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

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.

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

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

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:



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

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 

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

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:

=
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

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

=
=−=



−= 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:

=
=−=−

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







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

=
−−
+−=
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
ω
=

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

ở đâ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
+−=
−+−=

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

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
:
∑∑
=

=
=+





Ở đâ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
ω

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)

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
πω
πω
ωω
ωω
πω






−=
∑∑
==

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


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status