1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nhận dạng giọng nói bằng MATLAB

45 2,9K 106

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 45
Dung lượng 0,96 MB

Nội dung

Nhận dạng giọng nói bằng MATLAB, sử dụng Mô hình Markov ẩn dàdabvisdbvaivbaivbasidvbasdivbivbdfvsfzbdzffffffffffffffffffffffffffffffffffffffffzvzfvdfdfavs8gvsa8dvasudgvasvbaivuaiubvivaivbasvigasbvisavbiasvbaisvgsaivgaigvasivabviadfvgaivsbviasbviuviagvuagvaisgvaivgaivbaivaibvaivbaivubauvbskvisbivsbvsibaivbsaivbfviabviavbiuvvib

Trang 1

MỤC LỤC

Trang 2

do tính chất phức tạp và khơng cố định của đối tượng nhận dạng là tiếng nĩi của conngười, đặc biệt là tiếng Việt

Hiện nay cĩ rất nhiều phương pháp nhận dạng tiếng nĩi Mơ hình Fujisaki được ứng dụng rộng rãi trong hệ thống của tiếng Nhật, mơ hình MFGI (Mixdorff Fujisaki model of German Intonation) được ứng dụng trong tiếng Đức, mơ hình HMM (hidden markov models)…vv

Trong các mơ hình trên lại áp dụng nhiều phuơng pháp nhận dạng khác nhau Mọi phương pháp mang một tính đặc trưng và ưu điểm riêng

• Phương pháp LPC (linear predictive coding)-mã hóa dự báo tuyến tính: nhược điểm là có một số từ phát âm gần giống nhau thì bị nhầm lẫn nhiều

• Phương pháp AMDF (average magnitude difference function)- hàm hiệu biên độ trung bình: ưu điểm là số ngõ vào ít,kích thước mạng huấn luyện nhỏ, ít phụ thuộc vào cách phát âm nên tỉ lệ đọc sai ít hơn phương pháp LPC, tuy nhiên khuyết điểm là không phân biệt về thanh điệu, khó sử ụng trong trường hợp từ đọc liên tiếp

• AMDF & LPC :Do ưu và nhược điểm của hai phương pháp LPC và AMDF nên cần sự kết hợp giữa hai phương pháp đó

• Phương pháp thứ tư MFCC (mel-frequency ceptrums coefficients)

Nhận dạng tiếng nĩi là một quá trình nhận dạng mẫu, với mục đích là phân lớp thơng tin tín hiệu tiếng nĩi thành một dãy tuần tự các mẫu đã được học trước đĩ và lưu trư trong hệ thống nhận dạng Các mẫu là các đơn vị nhận dạng, chúng cĩ thể là các từ hay các âm vị Nếu các mẫu này là bất biến và khơng thay đổi thì cơng việc nhận dạng tiếng nĩi trở nên đơn giản bằng cách so sánh dữ liệu tiếng nĩi cần nhạn

Trang 3

dạng với các mẫu đã được học và lưu trữ trong hệ thống

Nhận dạng tiếng nói là một lĩnh vực tuy không mới nhưng vô cùng phức tạp Nhạn dạng tiếng nói được thế giới bắt đầu nghiên cứu cách đây hơn 50 năm, tuy nhiên những kế quả thực tế đạt được vô cùng khả quan Còn phải rất lâu nữa con người mới đạt đến việc xây dựng một hệ thống hiểu được tiếng nói như con người Trong phạm vi chỉ là đồ án tốt nghiệp chúng em sẽ xây dựng chương trình nhận dạng mười chữ số tiếng Việt bằng những công cụ có sẵn của Matlab Định hướng xây dựng chương trình nhận dạng được tất cả các từ, câu trong tiếng Việt để có thể ứng dụng được vào thực tế Tuy nhiên do chỉ mới tiếp xúc với lĩnh vực này nên khả năng, kiến thức của chúng em con rất hạn chế và những khó khăn về thời gian, phương tiện…nên chúng êm chỉ có thể xây dựng một hệ thống nhận dạng nhỏ Trong tương lai nếu có điều kiện tiếp xúc và nghiên cứu sâu hơn về lĩnh vực này, emmong muốn phát triển đồ án này lên để có thể ứng dụng trong thực tế

Trang 4

Chương 1 TỔNG QUAN VỀ NHẬN DẠNG TIẾNG NÓI

1.1 Nhận dạng tiếng nói

Hiểu một cách đơn giản, nhận dạng tiếng nói (speech recognition by

machine) là dùng máy tính chuyển đổi tín hiệu ngôn ngữ từ dạng âm thanh thành dạng văn bản Nói một cách chính xác hơn: nhận dạng tiếng nói là phân chia

(segmentation) và gán nhãn ngôn ngữ (labeling) cho tín hiệu tiếng nói

Nhận dạng tiếng nói có nhiều ứng dụng:

Đọc chính tả : Là ứng dụng được sử dụng nhiều nhất trong các hệ nhận dạng.

Thay vì nhập liệu bằng tay thông qua bàn phím, người sử dụng nói với máy qua micro và máy xác định các từ được nói trong đó

Điều khiển - giao tiếp không dây : Chẳng hạn hệ thống cho phép máy tính

nhận lệnh điều khiển bằng giọng nói của con người như: “chạy chương trình”, “tắt máy”… Một số ưu điểm của việc sử dụng tiếng nói thay cho các

thiết bị vào chuẩn như bàn phím, con chuột là: thuận tiện, tốc độ cao, không

bị ảnh hưởng của cáp, khoảng cách, không đòi hỏi huấn luyện sử dụng

Điện thoại-liên lạc : Một số hệ thống (chẳng hạn ở máy điện thoại di động)

cho phép người sử dụng đọc tên người trong danh sách thay vì bấm số Một

số hệ thống khác (ở ngân hàng, trung tâm chứng khoán…) thực hiện việc trả lời tự động đối với các các cuộc gọi hỏi về tài khoản…

 Các phương pháp nhận dạng hiện tại của máy tính khá “máy móc”, còn xa mới đạt đến mức độ tư duy của con người

 Nhiễu là thành phần luôn gặp trong môi trường hoạt động của các hệ thống nhận dạng và ảnh hưởng rất nhiều đến kết quả nhận dạng

Do những khó khăn đó, nhận dạng tiếng nói cần tri thức từ rất nhiều từ ngành khoa học liên quan:

Trang 5

Xử lí tín hiệu: tìm hiểu các phương pháp tách các thông tin đặc trưng, ổn

định từ tín hiệu tiếng nói, giảm ảnh hưởng của nhiễu và sự thay đổi theo thời

gian của tiếng nói

Âm học: tìm hiểu mối quan hệ giữa tín hiệu tiếng nói vật lí với các cơ chế

sinh lí học của việc phát âm và việc nghe của con người

Nhận dạng mẫu: nghiên cứu các thuật toán để phân lớp, huấn luyện và so

sánh các mẫu dữ liệu

Lí thuyết thông tin: nghiên cứu các mô hình thống kê, xác suất; các thuật

toán tìm kiếm, mã hoá, giải mã, ước lượng các tham số của mô hình…

Ngôn ngữ học: tìm hiểu mối quan hệ giữa ngữ âm và ngữ nghĩa, ngữ pháp,

ngữ cảnh của tiếng nói

Tâm-sinh lí học: tìm hiểu các cơ chế bậc cao của hệ thống nơron của bộ não

người trong các hoạt động nghe và nói

Khoa học máy tính: nghiên cứu các thuật toán, các phương pháp cài đặt và

sử dụng hiệu quả các hệ thống nhận dạng trong thực tế

Ba nguyên tắc cơ bản trong nhận dạng tiếng nói:

 Tín hiệu tiếng nói được biểu diễn chính xác bởi các giá trị phổ trong một

khung thời gian ngăn Như vậy ta có thể trích ra đặc điểm tiếng nói từ những

khỏang thời gian ngắn và dùng các đặc điểm này làm dữ liệu nhận dạng tiếng

nói

 Nội dung của tiếng nói được biễu diễn dưới dạng chữ viết, là một dãy các kí

hiệu ngữ âm

 Nhận dạng tiếng nói là một quá trình nhận thức Ngôn ngữ nói là có nghĩa, do

đó thông tin về ngữ nghĩa và suy đoán của giá trị trong quá trình nhận dạng

tiếng nói nhất là khi thông tin về âm học là không rõ ràng

Ph¸t ©m tõ rêi r¹c

Ph¸t ©m tõ rêi r¹c

Ph¸t ©m liªn tôc Telephone

banking

T×m d÷ liÖu qua tho¹i

§iÒu khiÓn thiÕt bÞ

Ph¸t ©m liªn tôc

Kh«ng thêi gian thùc

Ph¸t ©m tõ rêi r¹c

Ph¸t ©m tõ rêi r¹c

Ph¸t ©m liªn tôc Telephone

banking

T×m d÷ liÖu qua tho¹i

§iÒu khiÓn thiÕt bÞ

Ph¸t ©m liªn tôc

Kh«ng thêi gian thùc

Ph¸t ©m tõ rêi r¹c

Ph¸t ©m tõ rêi r¹c

Ph¸t ©m liªn tôc Telephone

banking

T×m d÷ liÖu qua tho¹i

§iÒu khiÓn thiÕt bÞ

Ph¸t ©m liªn tôc

Kh«ng thêi gian thùc

Trang 6

Phân tích và xác định các tham số

Lượng

tử hóa Vector

So sánh

độ tương ứng với các mẫu HMM

Nguyê

n tắc lựa chọn

Các mẫu của HMM được lưu trữ

Tiếng nói

đầu vào

Từ nhận dạng được

1.2 Một số phương pháp nhận dạng tiếng nói phổ biến

1.2.1 So sánh mẫu bằng phương pháp lập trình động ( Dynamic Program)

Khi so sánh tín hiệu thu người ta phải so sánh với tất cả các mẫu, điều này sẽlàm tốn rất nhiều thời gian tính toán Để giảm thời gian tính toán và tăng tốc độ xử

lý nhận dạng giọng nói người ta sử dụng phương pháp lập trình động Ở phươngpháp nhận dạng mẫu này các từ cần nhận dạng sẽ được so sánh với các mẫu đượclưu trữ trong hệ thống và thực hiện việc so sánh hai mẫu tín hiệu này để tìm ra mẫu

có sai số là nhỏ nhất Bởi vì tín hiệu âm thanh được tạo ra tại các thời điểm khácnhau thì không bao giờ giống nhau hoàn toàn Nó luôn có sự sai khác do các yếu tố

về trọng âm, ngữ điệu, tốc độ, … Vì vậy cần phải thực hiện so sánh hai mẫu theocác thuật toán biến dạng nhằm giảm thiểu sai số Thuật toán DTW (Dynamic TimeWarping) có thể coi là thuật toán hiệu quả nhất cho việc ứng dụng so sánh tín hiệu

có chiều dài khác nhau và có sai số nhỏ nhất Thuật toán này sử dụng phương pháp

đệ quy

Ví dụ : Các chương trình con (Procedure) được tự động gọi ra nhưng với cácthông số (parameter) khác nhau và tìm các sai số so với các tín hiệu mẫu Mẫu nào

có sai số so với tín hiệu cần so sánh là nhỏ nhất thì mẫu đó chính là mẫu cần tìm

1.2.2 Phương pháp mô hình Markov ẩn (Hidden Markov Model)

Hệ thống nhận dạng từ rời rạc dựa trện HMM có sơ đồ khối như sau:

Trang 7

Từ nhận dạng được chia thành chuỗi thời gian của T khung và được phân tíchmột số thuật toán phân tích như (MFCC), phân tích mã hóa dự báo tuyến tính (LPC),biến đổi Fourier nhanh (FFT), Sau bước này ta có chuỗi mẫu quan sát Ot (t= 1,2,3, T) Chuỗi Ot được lượng tử hóa là tập đại diễn của M mẫu tiếng nói Sau đó

hệ thống so sánh độ tương ứng của từ đầu vào với của M mẫu tiếng nói Từ đầu vào được nhận bằng cách lấy từ giống với nó nhất trong mẫu của hệ thống

Về mặt toán học, mỗi mô hình từ Mi, i=1,2, W được xác định bởi tập tham số [A,B,π].]

Gọi P = {Ot | Mi} là xác suất nhận được chuỗi quan sát Ot với mô hình Mi Từ được

nhận dạng RW được xác định từ công thức : RW = Argmax [P {O tM i}] Trong đó Argmax cho biết kết quả chỉ số i của mô hình Mi có xác suất P = {Ot | Mi} cao nhất

Để tính giá trị P = {Ot | Mi} cần xét tất cả các chuỗi trạng thái có thể tạo ra chuỗi quan sát và sau đó xác định chuỗi trạng thái nào có xác suất cao nhất Tuy nhiên nếuphải xét tất cả thì sẽ không thực tiễn vì phải xét với số lượng rất lớn các chuỗi trạng thái Để giảm thiểu khối lượng tính toán có thể dùng hai phương pháp đệ quy là thuật toán Baul-Welch và thuật toán Viterbi

1.2.3 Phương pháp mạng Nerural (Neural Network)

Mạng neural có cấu trúc Perceptron nhiều lớp như hình được sử dụng nhiều trong các hệ thống nhận dạng Perceptron là loại đơn giản nhất của các mạng liên kết(là mạng không có liên kết giữa các khối xử lý trong cùng một lớp và không có liên kết giữa các khối xử lý ở lớp ra quay ngược về lớp vào) sử dụng thuật toán có giám sát Một mạng Perceptron bao gồm đơn vị xử lý được sắp xếp thành nhiều lớp Mạng này được huấn luyện theo quy tắc Delta hoặc các biến thể của nó Các khối xử

lý được sắp xếp thành các lớp bao gồm một lớp vào một khối xử lý ở một lớp ẩn và một lớp ra Các liên kết có trọng số khác nhau kết nối mỗi một khối xử lý ở một lớp nào đó tới tất cả các khối xử lý ở lớp lân cận

Lớp ra

Lớp vào

Lớp ra

Lớp ẩn

Trang 8

Mạng Perceptron (a) Perceptron một lớp, (b) Perceptron nhiều líp

Mạng neural loại này được huấn luyến bằng cách nhập một vector mẫu ở lớp đầu vào và tính toán các đầu ra Sau đó, đầu ra được so sánh với các mẫu đầu ra mong muốn Sai số giữa đầu ra thực tế với đầu ra mong muốn được tính và phản hồiqua mạng tới mỗi phần tử Trọng số đầu vào của mỗi phần tử được điều chỉnh để tối thiểu sai số Trong quá trình này được lặp lại cho đến khi đầu ra thực tế lệch với đầu

ra mong muốn trong phạm vi sai số xác định trước Có rất nhiều cặp mẫu đầu vào, đầu ra được đưa qua mạng và quá trình trên đươc lặp lại cho mỗi cặp đầu vào, đầu

ra Việc nhận dạng chính là nhập mẫu tiếng nói chưa biết ở nút đầu vào của mạng đãđược huấn luyện và tính toán giá trị của các nút đầu ra để xác định mẫu tiếng nói.1.2.4 Phương pháp trí tuệ nhân tạo (Artificial Intelligence)

Ý tưởng cơ bản của ứng dụng trí tuệ nhân tạo vào nhận dạng tiếng nói là thu thập kiến thức từ các nguồn kiến thức khác nhau để giải quyết các vấn đề đặt ra Ví

dụ ứng dụng trí tuệ nhân tạo để làm công đoạn phân đoạn và gán nhãn tiếng nói cần

có sự tổng hợp về các kiến thức âm học, ngữ âm học, từ vựng học, cú pháp học, ngữ nghĩa và kiến thức thực tế

- Kiến thức âm học : Là kiến thức về đặc trưng của âm thanh (các đơn vị ngữ

âm) được phát ra trên cơ sở các số đo về phổ tín hiệu và các đặc tính hữu thanh và vô thanh

- Kiến thức về từ vựng : Là những nguyên tắc do từ điển đặt ra để kết hợp các

âm thanh thành từ và ngược lại chia nhỏ từ thành âm thanh

- Kiến thức về cú pháp : Là sự kết hợp các từ thành các cụm từ hoặc câu đúng

ngữ pháp

- Kiến thức về ngữ pháp : Là sự hiểu biết về ngữ cảnh sao cho các câu hoặc

cụm từ phù hợp với mục tiêu định nói và phù hợp với các câu trước

- Kiến thức thực tế : Là khả năng suy luận logic cần thiết để làm rõ ý dựa trên

những cách thức thông thường mà từ được dùng

Có nhiều cách khác nhau để tổng hợp các nguồn kiến thức vào trong hệ thốngnhận dạng tiếng nói Phương pháp thông dụng nhất là xử lý từ dưới lên Theo cách này, các tiến trình xử lý được triển khai tuần tự từ thấp lên cao Tiến trình phân tích tín hiệu đầu vào, tìm đặc tính, phân đoạn, gán nhãn được trển khai đầu tiên, sau đó làcác tiến trình phân lớp âm thanh, xác định từ, câu Mỗi tiến trình xử lý đòi hỏi một nguồn kiến thức và các nguồn kiến thức này được tích lũy dần qua các quá trình xử

Trang 9

lý thực tế giống như kiến thức con người.

1.2.5 Mô hình hai từ và ba từ

Để hệ thống có khả năng làm việc với độ chính xác cao hơn, bên cạnh

phương pháp nhận dạng theo mô hình Markov ẩn người ta còn có thể tích hợp vào

hệ thống một phương pháp thống kê Thông qua mô hình hai từ cũng như ba từ đượcthống kê tích lũy trong qua trình tính toán nhận dạng nhiều lần, tiến trình kiểm tra ngữ cảnh được thiết lập Phương pháp này có ưu điểm là hệ thống nhớ được ngữ cảnh mà người nói quen dùng Hệ thống càng hoạt động lâu với một người, sẽ ngày càng quen với cách nói của người đó và qua đó độ chính xác ngày càng cao Trong quá trình hệ thống nhận dạng làm việc với mô hình thống kê hai từ thì hai từ trong câu được được so sánh với nhau Nếu trước đó hai từ này đã tồn tại trong các câu trước đó trong bộ nhớ thống kê thì từ đã được nhận dạng đó được xác định là chính xác Các hệ thống nhận dạng của các hãng như Dragon, Philips và Lernout&houspieđều được áp dụng phương pháp thống kê hai từ Tương tự như phương pháp thống

kê hai từ, phương pháp thống kê ba từ cho kết quả có độ chính xác cao hơn Với phương pháp thống kê ba từ, hệ thống có tốc độ xử lý chậm hơn do có độ phức tạp hơn phương pháp thống kê hai từ rất nhiều

Trang 10

1.3 Các phương pháp phân tích đặc trưng của tín hiệu tiếng nói

Trích đặc trưng của tiếng nói

1.3.1 Mô hình LPC (Linear Predictive Coding model)

Mô hình LPC được sử dụng khá rông rãi trong các hệ thống nhận dạng tiếng nói là bởi các lý do sau:

- LPC cung cấp một mô hình tốt của tín hiệu tiếng nói Đặc biệt đối với các trạng thái gần ổn định của âm thanh, mô hình LPC cho ta một xấp xỉ khá tốt của phổ âm thanh Tuy trong các vùng ngắn và không âm, mô hình LPC hoạt động kém hiệu quả hơn vùng có âm, nhưng nó vẫn cung cấp một mô hình có thể sử dụng tốt cho mục đích nhận dạng tiếng nói

- Cách mà LPC được ứng dụng trong việc phân tích tín hiệu tiếng nói dẫn đến một sự phân tách hợp lý các âm nguồn âm thanh Và như vậy, việc biểu diễn chi tiết các đặc điểm của các dải âm thanh là hoàn toàn có thể

- Phương pháp tính toán của LPC chính xác về mặt toán học và đơn giản, trực tiếp trong việc cài đặt lên cả phần cứng hoặc phần mềm Số lượng tính toán

Trang 11

trong xử lý LPC cũng ít hơn trong phương pháp filters-bank

- Mô hình LPC hoạt động tốt trong các ứng dụng nhận dạng Knh nghiệm cho thấy, các hệ thống nhận dạng sử dụng mô hình LPC cho kết quả tốt hơn so với các hệ sử dụng filter-bank

Ý tưởng cơ bản của mô hình LPC là một mẫu tiếng nói cho trước tại thời điểm n, s(n) có thể được xấp xỉ bởi một tổ hợp tuyến tính của p mẫu tín hiệu quá khứ, theo biểu thức sau:

s (n) ≈ a1s ( n−1)+a2s (n−2 )+⋯+a p s(n− p) (1)Trong đó các hệ số a1,a2,…ap được coi như không đổi trong khung thời gian phân tích Biến đổi công thức (1), thêm vào đại lượng Gu(n) ta có:

s (n)=

i=1

p

a i s ( n−i)+Gu(n) Trong đó u(n) là kích thích chuẩn hoá và G là hệ số của kích thích Bằng biến đổi sang miền Z ta có quan hệ:

Các biểu thức của phân tích LPC

Dựa trên mô hình liên hệ chính xác giữa s(n) và u(n)

a k s(n−k )

Trang 12

Với hàm truyền sai số :

Vấn đề cơ bản của phân tích dự đoán tuyến tính là xác định tập các hệ số{ak}tiên đoán trực tiếp từ tín hiệu tiếng nói để các đặc tính phổ của bộ lọc trùng với tín hiệu sóng tiếng nói trong cửa sổ phân tích

Do các đặc điểm phổ tần của tiếng nói t hay đổi theo thời gian, do vậy các hệ

số tiên đoán tại một thời điểm n phải được ước lượng từ một phân đoạn ngắn của tín hiệu tiếng nói xảy ra gần n Và như thế, hướng tiếp cận cơ bản là tìm một tập các hệ

số tiên đoán có sai số dự đoán bình phương đạt cực tiểu trên một phân đoạn ngắn của tín hiệu sóng tiếng nói Thông thường, tín hiệu tiếng nói được phân tích trên các khung liên tiếp với độ dài khoảng 10ms

Bài toán này được giải dựa trên phương pháp tự tương quan, khi đó các hệ số ak ướclượng đc sẽ là nghiệm của phương trình:

r (k )=

n=−∞

x (n) x (n+k )

Hệ phương trình này được giải bằng thuật toán Levinson-Durbin

Thuật toán Levinson-Dunbin:

Trang 13

 2

11

Quay lại bước 1, thay p bằng p+1 nếu p P

Các bước thực hiện thuật toán LPC để trích đặc trưng của tín hiệu

Các bước thực hiện thuật toán LPC

Bước 1 : Lọc nhiễu, sử dụng bộ lọc thông cao

c

( )

w

s Hs

s

Với tần số cắt dưới 50-250 Hz để lọc nhiễu tần số thấp do microphone gây ra

Bước 2 : Pre-emphasis để làm bằng phổ (spectrally flaten)

Tín hiệu s(n) được cho qua một bộ lọc thông thấp:

H(z)=1-az-1

Trang 14

Bước 4 : cửa sổ hóa các frame, nhằm giảm sự gián đoạn của tín hiệu tại đầu và

cuối mỗi frame Hay nói cách khác là giảm dần tín hiệu về 0 tại các khoảng bắt đầu và kết thúc của mỗi khung

Cửa sổ thường được dùng là cửa sổ Hamming

2

0.540.46cos()

Trang 15

ˆ ) ( 1 ) (1 )( 3 ) (2 ) ( ) ()

x n a x na  x n a p x np

ap(m) = LPC coefficient , 0 ≤ m≤ p

Ta có p + 1 hệ số a, với a(0) = 1

Chọn p và bỏ a(0) Ta có vector đặc trưng có độ dài là p cho mỗi frame

Bước 6 : Chuyển các hệ số dự báo tuyến tính thành các hệ số ceptral.

sổ ceptral giảm dần ở hai đầu Hàm Wm de-emphasize cm quanh m = 1 và m = Q

Bước 8 : Tính đạo hàm của các hệ số ceptral

Trang 16

N 300 (45 msec) 240 (30 msec) 300 (30 msec)

M 100 (15 msec) 80 (10 msec) 100 (10 msec)

Bảng tham số LPC

1.3.2 Phương pháp MFCC (Mel-Frequency Ceptrum Coefficients)

Bên cạnh LPC thì MFCC cũng là một phương pháp phổ biến MFCC dựa trênnhững nghiên cứu về những dải thông quan trọng (critical) của tai người đối với tần

số Và để thu được những đặc trưng ngữ âm quan trọng người ta sử dụng các bộ lọc tuyến tính với dải tần thấp và các bộ lọc có đặc tính loga với dải tần số cao Trong phương pháp này, ta sử dụng Mel-scale tuyến tính với các tần số dưới 1000Hz và tỉ

lệ logarit với các tần số trên 1000Hz

1.3.2.1 Mel-frequency scale

Các nghiên cứu tâm sinh lý đã chỉ ra rằng nhận thức của con người đối với tần số của âm thanh của các tín hiệu tiếng nói không theo một tỉ lệ tuyến tính Vì vậy người

ta sử dụng một cách đo dựa trên tỉ lệ “Mel”

Để chuyển từ thang tần số sang mel scale ta sử dụng công thức

Trang 17

Cửa sổ thường được dùng là cửa sổ Hamming.

Trang 18

0.540.46cos()

c) Biến đổi Fourier nhanh (FFT)

Tín hiệu (của một frame) sau khi nhân với hàm cửa sổ, được chuyển sang miền tần

số bằng biến đổi Fourier rời rạc:

X n=∑

k=0

N −1

x k e−2 πmjkn / Nvới n=0,1,2 … , N −1

d) Chuyển đổi Mel-Frequency

Thực hiện chuyển đổi theo công thức (Mel)

B (f )=1127.01.048 ln(1+ f

700)

Hình 1 Các bộ lọc tam giác để tính năng lượng trên mỗi dải tần số

e) Wrapping và biến đổi DCT

Để tính được M hệ số MFCC, thang Mel được chia thành M dải, mỗi dải có độ rộng

Bmax(f)/M Dựa vào các dải này ta xây dựng M bộ lọc tam giác Hm Từ đó tính ra M giá trị năng lượng:

Trang 19

ta sẽ thu được các hệ số MFCC:

MFCC = DCT (Sm)Biến đổi cosin rời rạc:

a) Vấn đề xác định điểm đầu và điểm cuối của tín hiệu (speech detection)

Mục đích của việc xác định tín hiệu là để tách biệt các đoạn tín hiệu tiếng nói cần quan tâm với các phần khác của tín hiệu (môi trường, nhiễu …) Điều này là rất cần thiết trong nhiều lĩnh vực Đối với việc tự động nhận dạng tiếng nói, speech

detection là cần thiết để tách riêng đoạn tín hiệu là tiếng nói từ đó tạo ra các mẫu (pattern) phục vụ cho việc nhận dạng

Câu hỏi đặt ra ở đây là làm sao để xác định chính xác tín hiệu tiếng nói, từ đó cung cấp mẫu “tốt nhất” cho việc nhận dạng Trong trường hợp tín hiệu được thu trong điều kiện môi trường gần lí tưởng (gần như không có nhiễu) thì việc xác định chính xác tiếng nói là vấn đề không khó Tuy nhiên, thong thường trong thực tế, một vài vấn đề nãy sinh sẽ gây khó khăn cho việc xác định chính xác Một trong những vấn

đề điển hình nhất là cách phát âm của người nói Ví dụ, khi phát âm, người nói thường tạo ra các âm thanh nhân tạo như tiếng chép môi, hơi thở hoặc là tiếng lách tách trong miệng

Yếu tố thứ 2 làm cho việc xác định tiếng nói trở nên khó khăn là điều kiện môi trường mà tiếng nói được tạo ra Một môi trường lí tưởng với nhiễu và tạp âm gần như không có là không thực tế, do vậy bắt buộc phải xem xét việc phát ra tiếng nói trong môi trường có nhiễu (như tiếng máy móc, quạt, tiếng xì xào của những người

Trang 20

xung quanh), thậm chí còn trong cả trường hợp môi trường xung quanh không ổn định (tiếng sập cửa, tiếng xe cộ )

Yếu tố cuối cùng trong việc làm giảm chất lượng tín hiệu là sự mất mát trong hệ thống truyền tín hiệu, như là chất lượng của kênh thông tin, hay mất mất do sự module hoá (lượng tử hoá, số hoá)

Speech detection thực sự quan trọng đối với phương pháp nhận dạng dựa trên so sánh mẫu (pattern comparison), và cũng nâng cao chất lượng của mẫu đối với phương pháp HMM hay mạng Neuron Tuy nhiên trong nội dung đồ án do chỉ tập trung vào HMM và mạng Neuron nên không đi sâu vào việc xác định tín hiệu, tín hiệu tiếng nói được xác định ở ngưỡng 5%

Trang 21

Chương 2 CÁC THUẬT TOÁN VÀ MÔ HÌNH NHẬN DẠNG TIẾNG NÓI 2.1 Giới thiệu

Mô hình Markov ẩn là mô hình thống kê trong đó hệ thống được mô hình hóađược cho là một quá trình Markov với các tham số không biết trước và nhiệm vụ là xác định các tham số ẩn từ các tham số quan sát được Các tham số của mô hình được rút ra sau đó có thể được sử dụng để thực hiện các phân tích kế tiếp, ví dụ ứng dụng cho nhận dạng mẫu

Trong một mô hình Markov điển hình, trạng thái được quan sát được từ người quan sát, vì vậy các xác suất chuyển tiếp trạng thái là các tham số duy nhất

Mô hình Markov ẩn thêm vào các đầu ra: mỗi trạng thái có xác suất phân bổ trên cácbiểu hiện có thể Vì vậy, nhìn vào dãy các biểu hiện được sinh ra bởi HMM không trực tiếp chỉ ra dãy các trạng thái

Chú ý: Trong lí thuyết xác suất, quá trình Markov là một quá trình mang tính ngẫu nhiên (stochastic process) với đặc tính như sau: trạng thái c k tại thời điểm k là một giá trị trong tập hữu hạn {1,…,M} Với giả thiết rằng quá trình chỉ diễn ra từ thời điểm 0 đến thời điểm N và rằng trạng thái đầu tiên và trạng thái cuối cùng đã biết, chuỗi trạng thái sẽ được biểu diễn bởi một vector hữu hạn C={c 0 ,…,c N } Nếu P(c k |

c 0 ,c 1 , ,c (k − 1) ) biểu diễn xác suất (khả năng xảy ra) của trạng thái c k tại thời điểm k khi đã qua mọi trạng thái cho đến (k-1) Giả sử trong thời điểm đó c k chỉ phụ thuộc vào trạng thái trước đó c k-1 và độc lập với các trạng thái trước khác Quá trình đó gọi là quá trình Markov bậc một(first order Markov process) Có nghĩa là xác suất

để xảy ra trạng thái c k tại thời điểm k, khi biết trước mọi trạng thái cho đến thời điểm k-1 chỉ phụ thuộc vào trạng thái trước, ví dụ trạng thái ck-1 tại thời điểm k-1 Khi đó ta có công thức:

P(ck | c0,c1, ,c(k − 1))= P(ck| c(k − 1)) Nói tóm lại một hệ có thuộc tính Markov được gọi là quá trình Markov (bậc1) Như vậy, với quá trình Markov bậc n:

Trang 22

 Thời gian rời rạc, nghĩa là việc chuyển từ trạng thái này sang trạng thái khác cùng mất một đơn vị thời gian.

 Quan sát không tốn bộ nhớ, nghĩa là chuỗi các quan sát có xác suất chỉ phụ thuộc vào trạng thái ngay trước đó (nên không cần lưu bộ nhớ nhiều)

2.2 Trình

Phương pháp tiếp cận lí thuyết thông tin về nhận dạng

Hình 1

Nhận dạng là tìm cách xác định được khả năng xảy ra lớn nhất của chuỗi ngôn ngữ

W, khi cho trước căn cứ âm A, Công thức:

P(W¿ /A )=max

W P(W / A )

Theo luật Bayes: P(W / A )=

P ( A /W ) P(W ) P( A )

Trong mô hình HMM ta quan tâm đến P(W|A)

Kí hiệu:

P(A/W)  P(O/ λ )

Ngày đăng: 26/09/2016, 10:56

TỪ KHÓA LIÊN QUAN

w