Hình 4.16. Sơ đồ khối hệ thống khử nhiễu kết hợp kỹ thuật trừ phổ và wavelet
a, Khối trừ phổ:
Nếu chúng ta biễu diễn tín hiệu tiếng nói s(k) và nhiễu là n(k) thì tín hiệu lẫn nhiễu là x(k)
Công thức 4.8
x(k) = s(k) + n(k)
Tín hiệu sau khi cửa sổ hoá là
0 1 -1 0 1 -1 -0.5 0.5 0 1 -1 0 1 -1 -0.5 0.5
Công thức 4.9
xw(k) = sw(k) + nw(k)
Phổ của tín hiệu lẫn nhiễu là
Công thức 4.10
2 2 2 * *
|Xw( ) |w |S ww( ) | |N ww( ) | S w N ww( ). w( )S w N ww( ). w( )
Nếu chúng ta cho rằng n(k) có trung bình bằng 0 và không tương quan với s(k) thì * *
( ). ( ) ( ). ( )
w w w w
S w N w S w N w tiếntới 0. Do vậy ta có
Công thức 4.11 2 2 2 | ( ) |S w |X w( ) | E|N w( ) | Công thức 4.12 2 2 2 2 | ( ) | | ( ) | | ( ) | 1 ( ) | E N w S w X w X w Công thức 4.13 2 2 | ( ) |S w |X w( ) | . ( )G w
Gọi G(w) là hệ số trọng số phổ. Như vậy có thể thấy rằng tín hiệu sau khi được loại trừ nhiễu phải dương nên biến đổi Wiener là
Công thức 4.14 G = Max 2 2 | ( ) | 1 , 0 ( ) | E N w X w
Sử dụng phương pháp VAD và phổ năng lượng được xác định theo công thức Công thức 4.15 2 2 1 2 1 .| ( )| (1 )| ( ) | _ _ 2 | ( )| | ( ) | n n N w X w No Voice Detected w N w Otherwise N w
Đơn giản hoá 4.14 bằng biến đổi hàm trọng số ta có
G = Max 1 ( ), ( ) PSD PSD N w X w
Với là hệ số ước lượng trên và là sàn phổ được chọn tương ứng. Việc lựa chọn các hệ số trên tiến hành qua thực nghiệm sao cho không làm biến dạng tín hiệu sau khi trừ phổ.
Việc lựa chọn tham số tương ứng với một trong 2 trường hợp đó là có tín hiệu và không có tín hiệu tiếng nói. Trong khoảng có tín hiệu tiếng nói để lấy được tiếng nói chất lượng thì ngưỡng trên cần chọn gần 1 và ngưỡng dưới được chọn lớn hơn 0.2. Giá trị thực nghiệm chọn ở đây là 0.9 và 0.5, trong khoảng lặng không có tín hiệu tiếng nói thì chọn >1, <0.2
Hình 4.17 Sơ đồ chi tiết khối trừ phổ
b, Khối biến đổi Wavelet (Wavelet transform): Sử dụng phân rã wavelet gói phân rã tín hiệu thành các băng tần critical. Sơ đồ thực thi dùng cấu trúc cây đa phân giải 6 mức, sử dụng các bộ lọc 16-tap FIR nhận được từ wavelet Deubechies.
Biến đổi wavelet WT được sử dụng để phân giải tín hiệu thành các băng con.
Công thức 4.17
trong đó {Cim} là các hệ số phân rã với i tương ứng với băng con, m ứng với vị trí trên trục thời gian. Với tín hiệu tiếng nói lấy mẫu 8KHz, kết quả phân rã là 18 băng con FFT Trừ phổ nhiễu IFFT Ước lượng phổ nhiễu x(n) X(w) S(w) s(n) |N(w)|
c, Khối ước lượng ngưỡng phụ thuộc thời gian – tần số (thereshold estimation): Phương pháp ước lượng ngưỡng truyền thống của Dohono – Johnstone chỉ phù hợp với nhiễu dừng hoặc biến đổi chậm. không thích hợp để khử nhiễu với tín hiệu tiếng nói . Phương pháp sử dụng ở đây của Qiang Fu [24] ước lượng độ lệch chuẩn cho mỗi bank con trên trục thời gian.
Điều đó được thực hiện bắt đầu bằng cách phân đoạn bank con thứ i của các hệ số được phân rã Cim thành các khung Lifrm và các đoạn L iseg . Gọi là mức nhiễu ước lượng của khung thứ p và bank thư i, được ước lượng bằng các hệ số đứng trước trong đoạn với . Trước hết ta sắp xếp các hệ số theo thứ tự . Với q là một số nguyên (0<q<1), hệ số lượng tử cho đoạn là . Nhiễu được ước lượng:
Công thức 4.18
Cuối cùng ngưỡng nhiễu được ước lượng là:
Công thức 4.19
Hình 4.18 Ước lượng ngưỡng cho khung thứ p và bank con thứ i.
Một vấn đề tồn tại là tiếng nói sau khi được tổng hợp lại gặp phải một hiệu ứng gọi là “musical noise” làm cho chất lượng tiếng nói không còn tự nhiên sau khi khử nhiễu. Để khắc phục, Ephraim và Malah đã phát triển một kỹ thuật đặt ngưỡng mềm mà thực nghiệm chứng tỏ khắc phục được hiện tượng “musical noise”.
Trong phần trước chúng ta gọi là ngưỡng ước lượng ban đầu cho khung thứ p và bank chon thứ i. Ta định nghĩa tỉ lệ hệ số trên ngưỡng tiền nghiệm CTR (Cofficient to Thershold Ratio) Rim
Công thức 4.20
CTR hậu nghiệm tương ứng
Công thức 4.21
Với là một hệ số có thể thay đổi để điều khiển mức độ “trừ” phổ. 0 < < 1, Với CTR tiền nghiệm và hậu nghiệm xác định như trên ta có công thức biểu diễn bộ lọc trừ phổ .
Công thức 4.22
áp dụng bộ lọc trừ phổ này cho các hệ số đã được phân rã ci
m ta có
Công thức 4.23
e, Khối biến đổi wavelet ngược: Tổng hợp lại tín hiệu tiếng nói bằng biến đổi wavelet ngược, tín hiệu đầu ra được tổng hợp là tín hiệu tiếng nói đã được triệt nhiễu và nâng cao chất lượng.
4.4 Ứng dụng biến đổi wavelet nhận dạng tiếng nói
4.4.1 Tổng quan
Biến đổi wavelet (WT) cung cấp một công cụ thay thế biến đổi Fourier (FT) truyền thống. Giản đồ tỉ lệ Scalogram sinh ra bởi WT có nhiều ưu điểm so với giản đồ phổ Spectrogram sinh ra bởi FT. Cả cấu trúc formant và cấu trúc hài (harmonic structure) của tín hiệu tiếng nói đều có thể quan sát trên giản đồ Scalogram, từ đó các nhà nghiên cứu nảy sinh ý tưởng WT có thể phù hợp trong việc phân tích tiếng nói để tìm ra các đặc trưng phục vụ nhận dạng tiếng nói. Biến đổi CWT gần đây đã được một số nhà nghiên cứu sử dụng trong nhận dạng âm tiết, từ rời rạc tiếng Anh [31], âm tiết, từ rời rạc và thanh điệu tiếng Việt [15]. Biến đổi DWT cũng được sử dụng để nhận dạng từ rời rạc tiếng Anh [26]. Các kết quả đã chứng minh rằng DWT thực thi tốt hơn LPC với các âm vô thanh tuy nhiên với nhận dạng từ rời rạc DWT kém hơn hẳn CWT và Mel-Scale Frequency Ceptra Cofficients (MFCC). Trong phần này, chúng ta nghiên cứu về phương pháp nhận dạng dùng DWT và CWT
4.4.2 Nhận dạng tiếng nói dùng biến đổi CWT
Cấu trúc CWT đơn giản hóa được gọi là SCWT được sử dụng rộng rãi trong nhận dạng tiếng nói. Trong SCWT, wavelet mẹ được cắt từ vùng thời gian liên tục từ đến . Wavelet được lấy mẫu với khoảng cách mẫu bằng
Công thức 4.24
Trong đó No là số lượng mẫu có độ phân giải đủ lớn đối với tỉ lệ nhỏ nhất (tần số lớn nhất). Tỉ lệ của wavelet mẹ được lấy mẫu được tính bằng cách thay đổi khoảng cách mẫu . Hệ số tỉ lệ a>=1, có thể lấy giá trị bất kỳ chỉ cần hình dáng kết quả không quá sparse. Tham số dịch là cố định bằng một hằng số b0 để tránh việc lấy mẫu không đều.
Công thức 4.25
với
Công thức 4.26
với đáp ứng tần số là
Công thức 4.27
SCWT được thực hiện đơn giản bằng bộ lọc tuyến tính, người ta thường rời rạc biến tỉ lệ bằng cách chọn khi và V là số lượng âm trên một octave.
Việc lựa chọn wavelet mẹ là rất quan trọng, không phải hàm wavelet mẹ nào cũng có thể dùng cho nhận dạng tiếng nói. Thực tế mũ Mexico rất phổ biến trong xử lý ảnh nhưng không thích hợp cho nhận dạng tiếng nói do đặc tuyến tần số bằng phẳng dẫn tới kết quả độ phân giải các tần số formant thấp. Trong hầu hết các hệ thống nhận dạng tiếng nói người ta sử dụng Morlet wavelet.
Đơn giản hóa wo = 5.5, hàm wavelet Morlet có dạng:
Công thức 4.28
Wavelet Morlet được thể hiện trên hình 4.17 và SCWT của một đoạn tiếng nói được trình bày trên hình 4.18
Hình 4.19 Morlet wavelet a, phần thực của Morlet wavelet b, đáp ứng tần số của Morlet wavelet
Hình 4.20 SCWT của từ “this”
Morlet là một hàm phức do đó các hệ số CWT là các số phức được sử dụng làm vector đặc trưng cho hệ thống nhận dạng. Sử dụng phân tích Ceptral để giảm số lượng hệ số CWT xuống thành các hệ số Ceptral và dùng các hệ số Ceptral này làm vector đặc trưng cho hệ thống nhận dạng.
4.4.3 Nhận dạng tiếng nói dùng DWT
DWT có thể thực hiện nhanh hơn CWT với thuật toán FWT và cấu trúc băng con đa phân giải.
Wavelet mẹ được chọn thường là Deubechies, DB8 được thể hiện như trên hình 4.19
Hình 4.21 Deubechies Wavelet a, DB8 wavelet b, Đáp ứng tần số của DB8
Trong thực tế DWT thường được cài đặt thực nghiệm là FWT và tỉ lệ nhân đôi (Dyadic) được sử dụng. Phân rã tới mức 6 là vừa đủ, mức phân rã cao hơn sẽ tăng thời gian tính toán mà không mang lại thêm đáng kê thông tin. FWT Deubechies của một từ tiếng nói được trình bày trong hình 4.20.
Hình 4.22. FWT Deubechies 8 của từ “this”
Nếu chọn phân rã mức N, tiếng nói được xử lý bằng FWT đưa ra N tỉ lệ trên N octave. Hai hệ số FWT có biên độ lớn nhất đối với mỗi tỉ lệ, được cập nhật sau
khoảng thời gian cố định sử dụng các khung thời gian không chồng lấp. Chú ý rằng số lượng mẫu trên mỗi khung là khác nhau đối với mỗi tỉ lệ. Các hệ số FWT tính được đối với mỗi khung dữ liệu được sử dụng làm vector đặc trưng.
4.4.4 So sánh SCWT, FWT và các vector đặc trưng truyền thống
Các kết quả thực nghiệm trong [26, 31] chỉ ra rằng DWT cho độ chính xác nhận dạng cao hơn LPC với các âm vô thanh.
Các kết quả thực nghiệm trong [26, 31] như trên hình 4.21 chỉ ra rằng DWT cho độ chính xác nhận dạng thấp hơn MFCC và SCWT. Kết quả trên hình 4.22 cũng cho thấy MFCC và SCWT cho tỉ lệ nhận dạng đúng tương đương dù MFCC có độ lợi về độ phức tạp tính toán nên thực hiện nhanh hơn.
Hình 4.23 So sánh tỉ lệ nhận dạng đúng với nhận dạng nguyên từ rời rạc dùng MFCC, SCWT và DWT.
Hình 4.24 So sánh tỉ lệ nhận dạng đúng với nhận dạng âm tiết dùng MFCC và SCWT
4.5 Rút trích các đặc trưng tiếng Việt dùng biến đổi wavelet
Một số công trình nghiên cứu đã chứng tỏ các thông số như formants và pitch period có thể sử dụng hiệu quả nhận dạng tiếng việt (đặc biệt là thanh điệu tiếng Việt)[15], các thông số này cũng có thể được tính toán thông qua CWT [15, 30, 32].
4.5.1 Trích formant dùng CWT
Biến đổi CWT của tiếng nói x(t) có thể viết như sau:
Công thức 4.29
áp dụng tính chất tuyến tính của CWT ta có
Hàm wavelet, , giới hạn tín hiệu tiếng nói trong khoảng thời gian t quanh điểm t = b. Vì tiếng nói là tín hiệu biến đổi chậm trên miền thời gian, ta có thể giả sử rằng trong khoảng thời gian đó biên độ tức thời và tần số tức thời là không đổi
Công thức 4.31
Do đó phương trình 4.30 có thể viết lại như sau:
Công thức 4.32
Ta thấy rằng tự nó là một biến đổi Fourier của hàm wavelet, tại tần số tức thời có thể viết dưới dạng
Công thức 4.33
trong đó là biến đổi Fourier của wavelet mẹ , thay 4.33 vào 4.32 được
Nếu băng thông của hàm wavelet đủ hẹp để chỉ chứa một thành phần tần số wi, chỉ thành phần tần số này sẽ tác động lên kết quả và trị tuyệt đối đạt tới giá trị cực đại tại với wo là tần số trung tâm của wavelet dùng trong biến đổi (thường là wavelet Morlet) . Do vậy mỗi thành phần tần số tức thời w1 tại t = b trong tín hiệu tiếng nói ảnh hưởng lên kết quả phân tích trong lân cận của tỉ lệ ai liên hệ với tần số tức thời wi là
Công thức 4.35
Từ tính chất định vị của wavelet mẹ trong miền Fourier, cơ bản đạt cực đại trong lân cận của scale ai gọi là ridge của CWT. Nếu Morlet wavelet được dùng, các đỉnh của ridge trong CWT sẽ ở tại vị trí của scale ai, tương ứng với thành phần tần số wi tại thời gian đang phân tích. Nếu mỗi thành phần tần số được xem như là một formant, các đỉnh của ridge sẽ tương ứng với formant trong tín hiệu tiếng nói.
Trong kết quả đã phân tích, của tín hiệu tiếng nói, x(t), các đỉnh của ridge có thể thu được nhờ vào cực đại địa phương của theo hướng scale, do đó chỉ cần tính cực đại địa phương của CWT theo hướng scale ta cũng có thể có được hình ảnh của formant.
Phối hợp tất cả các kiến thức lý thuyết trên, phương pháp đề nghị trích formant được trình bày trên hình 4.23 [15].
Hình 4.25. Phương pháp trích formant dùng CWT
Tín hiệu tiếng nói được tính CWT để tìm được các ridge tương ứng với các formant. Sau đó kết quả phân tích được tính cực đại địa phương theo hướng scale để định vị chính xác vị trí của các formant.
Cuối cùng một giải thuật thích hợp được dùng để trích biên độ theo thời gian của các formant này từ các cực đại địa phương [30, 32].
4.5.2 Trích chu kỳ pitch dùng CWT
Khi phân tích tiếng nói bằng phương trình (4.34) ta có kết quả như sau
Công thức 4.36
Với Xi(t) và i(t) lần lượt là biên độ và pha tương ứng của thành phần tần số tương ứng wi của tín hiệu phân tích. Thành phần tần số nhỏ nhất trong tín hiệu tiếng nói w1 là tần số cơ bản hay tần số pitch, tại scale a1 tương ứng với tần số này khoảng băng thông của hàm wavelet rất nhỏ vì khả năng định vị của hàm wavelet ở tần số thấp là rất tốt. Khoảng băng thông này đủ hẹp để chỉ chứa một tần số cơ bản w1, do đó chỉ thành phần tần số này ảnh hưởng tới kết quả phân tích CWT. Vì thế chỉ có thành phần liên quan đến tần số w1 được giữ lại trong tổng của phương trình (4.36). Nó có thể viết rõ lại như sau
Công thức 4.37
Trị tuyệt đối và pha
Công thức 4.38
Vì vậy một scale cố định a1 tương ứng với tần số cơ bản của tín hiệu tiếng nói, pha của biến đổi với b thay đổi trong khoảng thời gian tồn tại của tín hiệu là pha của tần số pitch
Bản thân tần số cơ bản w1 là một tín hiệu tuần hoàn với chu kỳ , do đó góc pha cũng tuần hoàn với chu kỳ T và có giá trị thay đổi trong khoảng [-
]. Vì vậy pha của cũng là một tín hiệu tuần hoàn (1/tần số pitch). Ta có thể dùng những điểm mà ở đó góc pha thay đổi đột ngột từ đến - để đánh dấu những điểm tuần hoàn của tần số pitch hay chu kỳ pitch của tín hiệu phân tích.
Hình 4.26. Giải thuật trích chu kỳ pitch dùng CWT
Từ các trình bày trên một cách hiệu quả để tính chu kỳ pitch là dựa vào pha của CWT. Bước đầu tiên là xác định giá trị scale a1 từ tần số pitch tiếng nói. Sau đó biến đổi wavelet tín hiệu tiếng nói chỉ lấy tại một giá trị scale a1(một đường trong kết quả CWT), pha của kết quả này sẽ tuần hoàn với chu kỳ là chu kỳ pitch. Trong thực tế những điểm gãy đột ngột của pha luôn tương ứng với những chỗ trũng chính của dạng sóng tiếng nói. Điểm này gọi là điểm bắt đầu mỗi chu kỳ tiếng nói, chúng ta cần tinh chỉnh để định vị chính xác điểm này bằng các đỉnh âm - điểm bắt đầu của tiếng nói. Kết quả thu được là tín hiệu tiếng nói với các điểm đánh dấu bắt đầu mỗi chu kỳ. Lúc này ta có thể tách bất kỳ chu kỳ pitch nào theo nhu cầu nhận dạng dựa trên điểm bắt đầu và kết thúc (tức điểm bắt đầu của chu kỳ tiếp theo) của chu kỳ đó.
Chương 5. KHẢO SÁT VỀ NGỮ ÂM TIẾNG VIỆT ỨNG DỤNG XÂY DỰNG HỆ THỐNG NHẬN DẠNG THANH ĐIỆU
TIẾNG VIỆT
5.1. Một số đặc trưng ngữ âm tiếng Việt 5.1.1. Thanh điệu 5.1.1. Thanh điệu
Thanh điệu là đặc tính đặc trưng của tiếng Việt nói riêng và các ngôn