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ó
Trang 1MỤC LỤC
LỜI NÓI ĐẦU 3
CHƯƠNG 1: ÂM THANH VÀ SỐ HÓA ÂM THANH 5
1.1 Đặc trưng sóng âm 5
1.1.1.Các đặc trưng 5
1.1.2 Đơn vị vật lý của âm thanh 5
1.2 Quá trình số hóa âm thanh 7
1.2.1 Quá trình lấy mẫu âm thanh tương tự 7
1.2.2 Quá trình lượng tử hóa 8
1.3 Cấu trúc file Wave 9
1.3.1 Các loại file âm thanh 9
1.3.2 Cấu trúc file Wave 10
1.3.3 Xử lý file Wave 12
CHƯƠNG 2: TIẾNG VIỆT VÀ CÁC ĐẶC TRƯNG 14
2.1 Quá trình phát âm 14
2.2 Ngữ âm tiếng việt 15
2.2.1 Các đặc tính cơ bản của tiếng Việt 15
2.2.2 Khái niệm âm tiết 15
2.2.3 Cấu trúc âm tiết tiếng việt 16
2.3 Kỹ thuật trích chọn đặc trưng 18
2.3.1 Tiền xử lý 18
2.3.2 Phân tích và lượng tử các hệ số dự báo tuyến tính 19
2.3.2.1 Tính toán cửa sổ và các hệ số tự tương quan 19
2.3.2.2 Thuật toán Levinson- Durbin 21
2.3.2.3 Quá trình chuyển đổi LP sang LSP 21
2.3.2.4 Lượng tử hóa các hệ số LSP 23
2.3.3 Thuật toán VAD tách nhiễu nền 26
2.3.3.1 Mô tả chi tiết thuật toán 26
2.3.3.2 Trích chọn tham số 28
Trang 22.3.3.3 Khởi tạo trung bình trượt của các đặc trưng nhiễu nền 29
2.3.3.4 Tạo năng lượng tối thiểu 32
2.3.4.5 Tạo độ lệch các tham số 32
2.3.4.6 Khởi tạo đa đường quyết định giọng nói 33
2.3.4.7 Làm trơn quyết định vùng hoạt động giọng nói 34
2.3.4.8 Cập nhật trung bình trượt các đặc trưng nhiễu nền 36
CHƯƠNG 3: MẠNG NEURAL VÀ ỨNG DỤNG TRONG NHẬN DẠNG GIỌNG NÓI 37
3.1 Các phương pháp nhận dạng 37
3.1.1 Khái niệm 37
3.1.2 Phương pháp nhận dạng dùng tập mẫu 38
3.1.3 Phương pháp nhận dạng dùng mô hình thống kê 39
3.1.4 Phương pháp nhận dạng dùng mạng neural 40
3.2 Mạng neural 41
3.2.1 Giới thiệu chung 41
3.2.2 Mạng neural nhân tạo 41
3.2.3 Cấu trúc mạng neural 42
3.2.4 Luật học mạng neural 44
3.2.5 Phân loại mạng neural 47
3.3 Mạng neural hồi quy trong ứng dụng nhận dạng giọng nói 48
3.3.1 Giới thiệu chung 48
3.3.2 Mạng Haming 50
CHƯƠNG 4: THIẾT KẾ CHƯƠNG TRÌNH NHẬN DẠNG 57
4.1 Phân tích yêu cầu của bài toán 57
4.2 Phương án xây dựng bài toán 58
4.3 Thiết kế chương trình 59
4.3.1 Thiết kế hệ thống 59
4.3.2 Giao diện chương trình chính 60
4.3.3 Chức năng thu âm 61
Trang 34.3.4 Chức năng trích chọn đặc trưng 62
4.3.5 Chức năng khởi tạo và huấn luyện mạng 63
4.3.6 Chức năng nhận dạng 64
KẾT LUẬN VÀ KIẾN NGHỊ 66
1 Đánh giá kết quả đạt được 66
2 Hạn chế của đề tài 66
3 Hướng phát triển tiếp theo 67
4 Lời cảm ơn 67
TÀI LIỆU THAM KHẢO 68
Trang 4LỜ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, tronglĩ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ànhvấn đề nghiên cứu trọng điểm được nhiều nhà khoa học quan tâm ở cáclĩ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àocông nghệ nhận dạng giọng nói và đã có một số thành công đối với việcnhận dạng tiếng Anh và một số ngôn ngữ khác, ví dụ như các phần mềmVia Voice Gold của hãng IBM, Speech SDK của Microsoft, DragonNatural Speaking của Dragon System Đối với nước ta, đã có nhiều côngtrì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ácchư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ácphương pháp trích chọn đặc trưng, nghiên cứu về mạng Neural và xâydựng một ứng dụng nhận dạng một số từ tiếng Việt Đồ án được trình bàytrong 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
Trang 5- Chương 3: Mạng neural và ứng dụng trong nhận dạng giọngnó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ìnhhướng dẫn, chỉ bảo từng nội dung của đề tài, các thầy, cô giáo trong khoaCô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
Trang 6CHƯƠNG 1: ÂM THANH VÀ SỐ HÓA ÂM THANH
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ễunề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ổnghợ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 thanhnà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 đànhồi như không khí dưới dạng sóng đàn hồi gọi là sóng âm Sóng âmkích động màng nhĩ tai gây cảm giác về âm Âm thanh có những đặctrưng cơ bản là: Độ cao của âm, độ to của âm, âm sắc Do đó cần phânbiệt các loại đại lượng về âm:
Trang 7a 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ínhcủa âm là tần số Những âm có tần số khác nhau gây cho ta những cảmgiá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à f1, một âm khác tần số là f2 (f2> f1) thì f2/f1 =2x
Khi x=1 thì f2/f1 =2 gọi là một quãng tần số (một ốc-ta)
Khi x=½ thì f2/f1 = 1.41 gọi là nửa ốc-ta
Khi x=1/3 thì f2/f1 = 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ộngthê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ưngmối quan hệ giữa cao độ và tần số cơ bản lại không mang tính chất tuyếntí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ộ)
Đối với con người, giá trị tuyệt đối của cường độ âm I không quantrọng bằng giá trị tỷ đối của I với một giá trị I0 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/I0
L(B) = lg(I/I0) hoặc L(dB) = 10lg(I/I0) với 1B = 10dB
Trang 8Trong 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 I0 Đó là mức cường độ nhỏ nhất mà tai ta
â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ố f1 thì đồngthời cũng phát ra các âm có tần số f2=2f1, f3=3f1,…
Âm có tần số f1 gọi là âm cơ bản hay hoạ âm thứ nhất, các âm cótần số f2, f3,… gọi là các hoạ âm thứ hai, thứ ba … Tuỳ theo cấu trúc từngnhạ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ốf1 của âm cơ bản nhưng đường biểu diễn của nó không còn là đường hìnhsin 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
Trang 91.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 10000mẫ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ặcbằ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ẳnghạ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ểudiễ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 (datarate) và giá trị lớn nhất của chất lượng âm (quality)
Trang 10è 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ànglớ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 đổingượ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ểnngượ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ínhiệ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ấtmá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 âmthanh, được tính theo công thức:
N i
i e
i x
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áytí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
Trang 111.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 đượcné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ắtWindow) Chất lượng âm thanh rất tốt nhưng kích thước file rất lớn Mộtbài hát pop đầy đủ ở dạng Wave có thể chiếm 40 MB của không gian đĩahoặ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 Windowcho lưu trữ các file multimedia Một file RIFF có header file là một chuỗicác chunk dữ liệu Một file Wave thường là file RIFF cùng với mộtchunk 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”
Trang 12Hì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
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ònlạ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
Trang 13Dạ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
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)
ze
=NumSamples*NumChannels*BitPerSample/8
Số các byte trong dữ liệu
Trang 14Từ 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ốighé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 monohay 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ếtsau 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ùngmức lượng tử, mà File 2 có tốc độ lấy mẫu lớn hơn File 1, thì khi ghépFile2 vào File 1; khi phát, âm thanh File 1 như ban đầu còn file 2 sẽ phátchậm hơn (điều này tương đương với 1 dọng trầm được phát thay vì dọngcao) Ngược lại, File 2 có tốc độ lấy mẫu bé hơn File 1, thì khi ghép File2vào File 1, khi phát, âm thanh File 1 như ban đầu còn file 2 sẽ phátnhanh hơn (điều này tương đương với 1 dọng cao được phát thay vì dọngtrầ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ácnhau, chẳng hạn File1 là 8Bit/mẫu, File2 là 16Bit/mẫu khi ghép 2 File lạivớ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
Header Dữ liệu
Trang 15lượ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 1File 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ủakênh trái hoặc kênh phải Lúc này từ File Stereo ta được 2 File MonoLeft
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 âmkhác nhau
Trang 16Hì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 đến100ms
+ 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ếngnó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ủacá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ầnphả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ủacá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 saoviế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
Trang 17đồng trong hệ thống chữ viết, mặc dù vậy nhìn chung tiếng việt vẫn nhấtquá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 âmnhỏ 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ưngchú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:
Trang 18+ 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ònlạ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ứcnăng tu chỉnh âm sắc của âm tiết Âm đệm có nhiệm vụ làm trầm hoá âmtiết Tiếng Việt có hai âm đệm là [o] và [u] được phát âm tương đối giốngnhau
Â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êuchí về âm sắc và âm lượng Các âm chính là các thành phần dễ phân biệtnhấ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ápkhác nhau Ta có thể áp dụng một phương pháp xử lý tiếng nói trên ngônngữ này rất hiệu quả Nhưng cùng phương pháp đó áp dụng cho một ngônngữ khác thì không phải lúc nào cũng đúng Đặc điểm của ngôn ngữ tiếngAnh là một từ được cấu trúc từ một hoặc nhiều âm vị khác nhau Vì vậynó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êngbiệ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ạnglầ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ìnhdung 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, độ
Trang 19phứ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ầnnhư thế nào là chuẩn, là đảm bảo yêu cầu Đây mới là vấn đề quan tâmhàng đầu Chính vì những điều khó khăn này mà ta phải nghĩ tới mộthướng khác về cấu trúc từ Và đây là quan điểm mới mà tôi muốn thảoluậ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áigồ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áchphá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ủaPGS.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ếngViệ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
Trang 20thố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 1
2 1
1
9114024
0 9059465
1 1
46363718
0 92724705
0 46363718
0 )
z z
z
Các tín hiệu vào được lọc qua Hh1(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à:
1 )
( 1
i
i
i z a z
A (2)
Với aˆ i, i=1,…,10 là các hệ số dự báo tuyến tính(đã được lượng tử) Phântí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ệntrên khung tín hiệu giọng nói sử dụng phương thức tự tương quan cùngvớ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
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
Trang 21toá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:
159
) 200 (
2 cos(
199 , , 0 n ) 399 n 2 0.46cos(
0.54 (n)
-W p
n n
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)= Wlp(n)s(n) n=0,…,239 (4)được sử dụng để tính hệ số tự tương quan:
( ' ) ( ' )
(
k n
k k
n s n s k
Trang 22vớ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 ) (
W
s lag
(6)
Với f0=60 hz là dải tần mở rộng, và fs=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)= Wlag(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
k k
r k
i r
end
a k a a
i to j for
k a
E j i r a k
a
to i for
r E
i i i
i j i i i j i j
i i i
i i
j
i j i
i
] 1 [ 2 ]
] 1 [ ] 1 [ ] ]
] 1 [ 1
0 1
] 1 [ 0 0
) 1 (
1 1
/ ) ( ' 1
10 1
) 0 ( '
Trang 23Kết quả cuối cùng cho bởi a j =a j [10] , j=0, ,10 , với a0=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ặpphổ vạch (LSP) cho mục đích lượng tử và nội suy Các hệ số LSP đượcxác định là nghiệm của tổng các đa thức:
F’1(z) = A(z) + z-11A(z-1) (9)Và:
F’2(z) = A(z) - z-11A(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ạothà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 rabằng cách định nghĩa các đa thức mới:
F1(z) = F’1(z) / (1 + z-1) (11)Và:
F2(z) = F’2(z) / (1 – z-1) (12)Mỗi đa thức có 5 nghiêm liên hợp trên một chu trình đơn vị (eji
2 1
i
i z z q
2 1
i
i z z q
z
với q i cos( i) Các hệ số i là tần số phổ vạch(LSF) và chúngthỏa mãn 0 1 2 10 Các hệ số qi là các hệ số LSP trong miềncosine
Trang 24Bởi vì cả hai đa thức F1(z) và F2(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ứcnà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 f1(0) = f2(0) = 1.0 Các hệ số LSP được tìm kiếm bằng cáchđánh giá các đa thức F1(z) và F2(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ấychính xác hơn Các đa thức Chebyshev được sử dụng để đánh giá F1(z) vàF2(z) Trong phương pháp này các nghiệm được tìm kiếm chính xác trongmiền cosine Các đa thức F1(z) hoặc F2(z), được đánh giá tại z e j ,được viết:
2e 5 C(x)
(16)với :
C(x) = T5(x) + f(1)T4(x) + f(2)T3(x) + f(3)T2(x) + f(4)T1(x) + f(5)/2 (17)
ở đây T m(x) cos(m ) là bậc thứ m của đa thức Chebyshev, và
f(i) , i=1,…,5 là hệ số của F1(z) hoặc F2(z), được tính toán từ phương trình(15) Đa thức C(x) được đánh giá tại giá trị x cos( )sử dụng quan hệ đệquy :
2 / ) 5 ( )
(
) 5 ( 2
1 4
2 1
2 1
f b xb x
C
end
k f b xb b
to down k
for
k k k
Trang 25Các hệ số LSP qi đượ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 )
i
(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ữacá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
2 ( 2 ) 1 ( 1
5 , , 1 )
2 ( 2 ) 1 ( 1 ˆ
i l
L l L
i l
L l L l
i i
i i
Ở đâ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ố lˆ i được điều chỉnh tiến
gần tới các hệ số có khoảng cách nhỏ nhất J :
end end
l l l
J l l l
J l l if
i for
i i i
i i i
i i
2 / ) ˆ ˆ ˆ
2 / ) ˆ ˆ ˆ
) ˆ ˆ
10 , , 2
1
1 1
( 4
1 , )
ˆ
k
k m i k i
m i k
k i
m
Trang 26Ở đây pˆi,k 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 lˆi i / 11 với k<0
Sau khi tính toán ˆi, bộ lọc tương ứng sẽ kiểm tra tính ổn địnhtheo trình tự sau :
1) Xắp xếp lại hệ số ˆi theo giá trị tăng dần
2
) ˆ (
i
i i i
w
Otherwise If
i
w
oth erwise If
w
i i
i i i
i
1 ) 1
9 2 0 ( 10
0 1 92 0 0
1
1 ) 1 (
10
0 1 0
1 9 2
1 ) 1 04 0 ( 10
0 1 04 0 0
1
2 9
9 10
2 1 1
1 1 2
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 / ˆ
1 , 4
1
) ( , )
k k i k
k m i k i
Trang 27thiểu MSE có trọng số được lựa chọn Vectơ kết quả lˆ i, 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.
Như đã đề cập trong phần trên, vectơ kết quả lˆ i được điều chỉnh lại 2 lần
và kiểm tra sự ổn định các hệ số LSF đã lượng tử ˆi thu được
2.3.3 Thuật toán VAD tách nhiễu nền
Thuật toán VAD xác định vùng hoạt động giọng nói với mỗi 10
ms, phù hợp với kích thước khung bộ mã hóa tiếng nói G729 Một tậphợp các tham số khác nhau được trích rút và sử dụng cho quá trình khởitạo ban đầu bao gồm: Năng lượng băng thông cao, năng lượng băngthông thấp, tỉ lệ điểm cắt không, và giới hạn quang phổ
Đầu ra của module VAD là 0 hoặc 1, biểu thị tương ứng với sự cómặt hay vắng mặt hoạt động giọng nói Nếu đầu ra của VAD là 1, Bộ mãG729 sẽ thực hiện mã hóa hoặc giải mã các khung tiếng nói hoạt động,nếu đầu ra VAD là 0, thuật toán DTX/CNG được sử dụng để mã hóa hoặcgiải mã các khung không có hoạt động tiếng nói
2.3.3.1 Mô tả chi tiết thuật toán
Thuật toán VAD hoạt động trên các khung âm thanh đã được sốhóa Các khung được xử lý theo trình tự và được đánh số liên tục từ khibắt đầu đoạn hội thoại hoặc bản ghi âm thanh tiếng nói
Trang 28Tại giai đoạn đầu tiên, 4 tham số đặc trưng được trích rút từ tínhiệu đầu vào Việc trích rút các tham số dựa trên việc mã hóa vùng hoạtđộng và không hoạt động âm thanh cho hiệu quả của sự tính toán Cáctham số là khung năng lượng băng thông cao, khung năng lượng băngthông thấp, tập các tần số phổ vạch, tỉ lệ cắt không khung.
Nếu số lượng khung nhỏ hơn N i, một giai đoạn khởi tạo các giá trịtrung bình được thực hiện, và quyết định hoạt động tiếng nói được gángiá trị 1 nếu năng lượng khung nhận được từ phân tích LPC lớn hơn 15
dB, ngược lại được gán giá trị 0 Nếu số lượng khung bằng N i, một giaiđoạn khởi tạo năng lượng đặc trưng nhiễu nền xảy ra
Trang 29Hình 2.3: Chi tiết thuật toán VAD.
Tại giai đoạn tiếp theo một tập các tham số khác nhau được tínhtoán Tập này được sinh ra như là sự đo lường khác nhau giữa các tham
số khung hiện thời và trung bình trượt của đặc trưng nhiễu nền Có 4 sự
đo lường khác nhau được tính toán:
- Sự méo quang phổ
- Sự chênh lệch năng lượng
Trang 30- Sự chênh lệch năng lượng băng thông thấp
- Sự chênh lệch qua điểm không
Việc quyết định hoạt động giọng nói được thực hiện tại giai đoạntiếp theo sử dụng các vùng quyết định đa đường trong không gian 4 đặctrưng khác nhau đo được Quyết định giọng nói hoạt động dựa vào sự kếthợp các vùng quyết định và quyết định không có hoạt động tiếng nói là sựquyết định logic phần bù của nó Sự suy xét năng lượng cùng với cáckhung quyết định lân cận trước đó được sử dụng làm trơn quyết định
Trung bình trượt chỉ được cập nhật khi có sự hiện diện của nhiễunền và không có mặt giọng nói Một ngưỡng thích nghi được kiểm tra vàchỉ cập nhật nếu gặp tiêu chuẩn ngưỡng
2.3.3.2 Trích chọn tham số
Với mỗi khung, một tập các tham số được trích rút từ tín hiệugiọng nói Các module được trích chọn có thể được dùng chung giữaVAD, bộ mã hóa có hoạt động của giọng nói, và bộ mã hóa không cóhoạt động của giọng nói Tập các tham số cơ sở này chính là tập các hệ số
tự tương quan được biểu thị bởi:
LSF 1, với p=10, nhận được từ tập các hệ số dự báo tuyến tính
b Dải năng lượng đầy
Dải năng lượng đầy là của hệ số tự tương quan đầu tiên được chuẩn
Trang 31Với N=240 là kích thước cửa sổ phân tích LPC trong các mẫugiọng nói.
c Dải năng lượng thấp
Dải năng lượng thấpE l trên dải từ 0 đến E f Hz , được tính nhưsau:
10 10 (B.2)
d Tỉ lệ qua điểm cắt không
Tỉ lệ qua điểm không đã chuẩn hóa ZC cho mỗi khung được tínhbởi:
| ) 1 ( sgn ) ( sgn
| 2
1 M i
i x i
x M
Ở đây x (i) là tín hiệu đầu vào đã tiền xử lý và M=80
2.3.3.3 Khởi tạo trung bình trượt của các đặc trưng nhiễu nền
Với N i khung đầu tiên, các tham số phổ của nhiễu nền biểu diễn bởi
LSF 1 của các khung Trungbình của tỉ lệ cắt không nhiễu nền, biểu diễn bởi ZC được khởi tạo như
là một trung bình tỉ lệ cắt không ZC của các khung
Trung bình trượt của năng lượng nhiễu nền cho bởi E f và nănglượng dải thấp nhiễu nền cho bởi E l được khởi tao như sau:
Thứ nhất, thủ tục khởi tạo sử dụng E n xác định bằng trung bình
của năng lượng khung E f qua N i khung đầu tiên Ba tham số trung bình (
p
i i
Trang 32
else
then if
else
then if
5 4
3 2
2 1
1 0 1
K En E
K En E
K En E
K En E
T En T
K En E
K En E
T En
l f
l f
l f
Trang 332.3.3.4 Tạo năng lượng tối thiểu
Tham số năng lượng tối thiểu, E min , được tính bằng min(E f)/N0, vớiN0 là số khung trước đó Bởi vì N0 là tương đối lớn, Emin được tính bằng
cách lưu các giá trị cực tiểu E f trên từng đoạn nhỏ trước đó
b Độ lệch dải năng lượng đầy
Đánh giá sai khác năng lượng full-band được tạo ra bằng sai lệch
giữa năng lượng khung hiện thời E f, và trung bình trượt của năng lượngnhiễu nền E f
E f E f E f (B.5)
c Độ lệch dải năng lượng thấp
Đánh giá sai khác năng lượng low-band được tạo ra bằng sai lệch giữa
năng lượng dải thấp khung hiện thời E l , và trung bình trượt năng lượng
dải thấp nhiễu nền E l
l l
Trang 34Đánh giá độ lệch qua điểm không được tạo ra bằng sai lệch giữa tỉ
lệ qua điểm không khung hiện thời ZC, và trung bình trượt của tỉ lệ quađiểm không nhiễu nền ZC:
ZC ZC ZC (B.7)
2.3.4.6 Khởi tạo đa đường quyết định giọng nói
Khởi tạo quyết định hoạt động giọng nói biểu diễn bởi I VD ,và đượcđặt bằng 0(“FALSE”) nếu vectơ các tham số sai lệch nằm trong vùnggiọng nói không hoạt động, ngược lại quyết định hoạt động giọng nóiđược đặt là 1(“TRUE”) Mười bốn đường biên quyết định trong khônggian 4 chiều được định nghĩa như sau: