Sơ đồ khối thuật toán lọc nhiễu sử dụng năng lượng tập trung

Một phần của tài liệu (LUẬN văn THẠC sĩ) tìm hiểu, nghiên cứu và ứng dụng một số thuật toán nén tiếng nói luận văn ths công nghệ thông tin 60 48 05001 (Trang 48 - 53)

Các biến được sử dụng trong thuật toán lọc nhiễu sử dụng năng lượng tập trung được mô tả như trên Hình 3.9:

A: lưu giá trị tín hiệu.

B: lưu giá trị tín hiệu dạng integer 16 bit

CHƢƠNG 4. XÂY DỰNG ỨNG DỤNG NHẬN DẠNG TIẾNG NÓI 4.1. Xây dựng ứng dụng thử nghiệm 4.1. Xây dựng ứng dụng thử nghiệm

4.1.1. Bài toán nhận dạng tiếng nói

Bài toán đặt ra là hãy xây dựng hệ thống nhận dạng hai từ đơn “Có” và “Không”, trong môi trường có nhiễu là môi trường sinh hoạt bình thường với số người nói không hạn chế. Nói một cách khác đầu vào là phát âm các từ đơn của người nói bất kỳ nếu nhận dạng ra đó là từ “Có” hoặc “Không” hệ thống sẽ hiện lên các từ này.

4.1.2. Mô tả bài toán nhận dạng từ đơn “Có” và “Không”

Hệ thống nhận dạng hai từ “Có”, “Không” dựa trên thuật toán Zerocrossing nghĩa là lấy các đoạn Zerocrossing làm đặc trưng của từ.

 Phương pháp: Nhận dạng từ đơn (Isolate word recognition)

 Input: file âm thanh dạng .wav, ghi lại phát âm của một từ đơn nào đó.

 Output: Màn hình của trương trình hiện lên từ“Có” hoặc “Không” nếu từ vào có đặc trưng trùng với một từ nào đó có trong cơ sở dữ liệu.

 Cơ sở dữ liệu: là các dãy Zerocrossing của hai từ “Có” và “Không”.

Khử nhiễu

(sử dụng hàm năng lượng thấp, dựa vào năng lượng tập trung)

Input file.wav từ đơn

Trích, chọn Zerocrossing

Học mẫu Ghi đặc trưng vào

cơ sở dữ liệu

Đối sánh đặc trưng với các đặc trưng trong cơ sở dữ liệu

Đánh giá kết quả đổi sánh

Ra quyết định

Stop Đúng

Sai Begin

Chuẩn hóa dãy Zerocrossing

4.2. Tổ chức, chuẩn hóa dữ liệu

Việc xác định được dữ liệu đầu vào, cách lưu trữ ra sao cho hợp lý luôn là một bước rất quan trọng. Bởi nó không chỉ quyết định tốc độ tính toán, giảm kích thước cơ sở dữ liệu mà còn liên quan đến độ chính xác của kết quả.

 Dữ liệu đầu vào: Là một chuỗi của các dãy bộ 3 tham số {x,y,z}(Dữ liệu âm thanh đã qua bước trích, chọn Zerocrossing)

 Dãy Zerocrossing {(x,y,z)} được gọi là dãy chuẩn hóa nếu dãy bộ 3 {(x,y,z)} là dãy đan dấu của z và phần tử đầu tiên của dãy ứng với z > 0

 Từ dãy Zerocrossing chuẩn hóa {(x,y,z)} ta trích ra dãy con dạng {(x,y)}. Dãy này được gọi là dãy đặc trưng Zerocrossing của từ vào W.

4.3. Học mẫu

Sau quá trình tính và chuẩn hóa dãy Zerocrossing. Ta trích được dãy đặc trưng Zerocrossing, các từ được chọn làm mẫu sẽ được lưu vào cơ sở dữ liệu (DataBase).

Giả sử ta có từ vào W và dãy {(x,y)} là dãy đặc trưng Zerocrossing của nó. Khi đó cơ sở dữ liệu chứa mẫu các từ W có dạng:

W; {(x,y)} = “W; x1,y1, x2,y2, …, xn,yn*”

Nói một cách khác mỗi từ mẫu trong cơ sở dữ liệu là các dòng text kết thúc bằng dấu hiệu “*”

Ví dụ: Co1; 7,6,4,2,5,3,6,1,…,*

4.4. Đối sánh đặc trƣng và đánh giá kết quả

4.4.1. Thuật toán đối sánh theo hệ số tương quan

Ý tƣởng:

Giả sử từ vào nhận dạng làW có dãy đặc trưng Zerocrossing là “W;{(x,y)}*” và trong cơ sở dữ liệu có N từ mẫu có đặc trưng là “Wj;{(x’,y’)}*”.

Từ dãy “W;{(x,y)}*” của từ vào W ta có dãy 𝑑𝑤 = 𝑥𝑖 (𝑖 = 1, 𝑛).

Từ dãy “Wj;{(x’,y’)}*” của các từ mẫu trong cơ sở dữ liệu ta có dãy𝑑𝑤𝑗 = 𝑥𝑖′ (𝑖 = 1, 𝑚).

Tính𝑟𝑘 = max

𝑗=1, 𝑁𝑟 𝑑𝑤,𝑑𝑤𝑗 =𝑟 𝑑𝑤,𝑑𝑤𝑘

Nếu rk> 0.7 ta kết luận từ vào W là từ Wktrong cơ sở dữ liệu, Wk là từ

Mô tả thuật toán:

1) Input (W); Trích dãy đặc trưng Zerocrossing “W;{(x,y)}*” ; trích dãy 𝑑𝑤 = 𝑥𝑖 (𝑖 = 1, 𝑛) từ dãy đặc trưng Zerocrossing của W.

2) Với 𝑗 = 1, 𝑁 lấy dãy đặc trưng Zerocrossing “Wj;{(x’,y’)}*” của từ trong cơ sở dữ liệu; trích dãy 𝑑𝑤𝑗 = 𝑥𝑖′ (𝑖 = 1, 𝑚).

3) Tính 𝑟𝑘 = max

1≤𝑗 ≤𝑁𝑟 𝑑𝑤,𝑑𝑤𝑗 =𝑟 𝑑𝑤,𝑑𝑤𝑘 .

4) Nếu 𝑟𝑘 >𝑐 khẳng định từ vào là Wk ngược lại kết luận không biết. 5) Dừng, kết thúc thuật toán.

Ở đây: - N số từ mẫu trong cơ sở dữ liệu - c là ngưỡng tin cậy, thường c > 0.7.

Lƣu ý:

Khi tính 𝑟 𝑑𝑤,𝑑𝑤𝑗 ta cần chú ý độ dài của dãy của 𝑑𝑤 và 𝑑𝑤𝑗 là khác nhau. Giả sử 𝑑𝑤 =𝑛 và 𝑑𝑤𝑗 =𝑚. Nếu n ≤ m ta phải duyệt tất cả các dãy con có độ dài n bảo toàn thứ tự của dãy 𝑑𝑤𝑗 tìm giá trị tương quan lớn nhất làm giá trị tương quan của 𝑟 𝑑𝑤,𝑑𝑤𝑗 . Trường hợp n > m ta phải duyệt tất cả các dãy con có độ dài m bảo toàn thứ tự của dãy 𝑑𝑤 tìm giá trị tương quan lớn nhất làm giá trị tương của 𝑟 𝑑𝑤,𝑑𝑤𝑗 .

x1 x2 … xm xm+1 xm+2 ……. xn x1' x2' ... xm' dw dwj x1' x2' … xn' xn+1' xn+2' ……. xm' x1 x2 ... xn dw dwj Trường hợp n > m Trường hợp n < m

Một phần của tài liệu (LUẬN văn THẠC sĩ) tìm hiểu, nghiên cứu và ứng dụng một số thuật toán nén tiếng nói luận văn ths công nghệ thông tin 60 48 05001 (Trang 48 - 53)