Thuật toán ước lượng các điểm đánh dấu pitch của sóng tiếng nói trong miền thời gian dựa trên tập đỉnh của tín hiệu tổng tích lũy
Tóm tắt: Để định vị các điểm đánh dấu pitch (PM) của sóng tiếng nói, các
thuật toán đã biết đều phải ước lượng các giá trị của đường F0 trước đó. Đây là
một bước yêu cầu sử dụng các mô hình phức tạp và không được diễn giải một
cách trực quan.
Trong bài báo này, chỉ sử dụng các bước tiền xử lý đơn giản trên tập các
đỉnh của tín hiệu tổng tích lũy của sóng tiếng nói hữu thanh, chúng tôi đã đề xuất
một thuật toán mới để ước lượng các điểm PM mà không cần phải thực hiện
bước ước lượng các giá trị F0. Thực nghiệm đã chứng tỏ phương pháp đề xuất
cho kết quả tương đương với các phương pháp truyền thống. Ngoài ra bài báo
cũng đề xuất một áp dụng của thuật toán mới để tổng hợp đường F0 của các âm
tiết tiếng Việt dựa trên biểu diễn thanh điệu dạng qTA của Xu.
Tóm tắt nội dung tài liệu: Thuật toán ước lượng các điểm đánh dấu pitch của sóng tiếng nói trong miền thời gian dựa trên tập đỉnh của tín hiệu tổng tích lũy
Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 58, 12 - 2018 147 THUẬT TOÁN ƯỚC LƯỢNG CÁC ĐIỂM ĐÁNH DẤU PITCH CỦA SÓNG TIẾNG NÓI TRONG MIỀN THỜI GIAN DỰA TRÊN TẬP ĐỈNH CỦA TÍN HIỆU TỔNG TÍCH LŨY Tạ Yên Thái1*, Nguyễn Văn Hùng2, Vũ Thị Hải Hà3, Đặng Duy An4 Tóm tắt: Để định vị các điểm đánh dấu pitch (PM) của sóng tiếng nói, các thuật toán đã biết đều phải ước lượng các giá trị của đường F0 trước đó. Đây là một bước yêu cầu sử dụng các mô hình phức tạp và không được diễn giải một cách trực quan. Trong bài báo này, chỉ sử dụng các bước tiền xử lý đơn giản trên tập các đỉnh của tín hiệu tổng tích lũy của sóng tiếng nói hữu thanh, chúng tôi đã đề xuất một thuật toán mới để ước lượng các điểm PM mà không cần phải thực hiện bước ước lượng các giá trị F0. Thực nghiệm đã chứng tỏ phương pháp đề xuất cho kết quả tương đương với các phương pháp truyền thống. Ngoài ra bài báo cũng đề xuất một áp dụng của thuật toán mới để tổng hợp đường F0 của các âm tiết tiếng Việt dựa trên biểu diễn thanh điệu dạng qTA của Xu. Từ khóa: Hữu thanh/vô thanh; Điểm đánh dấu chu kỳ pitch; Epoch; Pulse, Đỉnh; Tổng tích lũy; Cộng chồng đồng bộ; Tổng hợp tiếng nói; Mô hình Xu; Lương hóa xấp xỉ hướng đích qTA. 1. MỞ ĐẦU Để biến đổi đường F0 của một ngữ đoạn âm thanh, âm tiết thành một ngữ đoạn có đường F0 thay đổi, âm tiết mang thanh điệu khác, chúng ta cần xác định dạng đường F0 đích và các điểm đánh dấu pitch (PM-Pitch mark, hoặc các Pulse) của âm thanh gốc [1, 2], sau đó sử dụng một công cụ nắn chỉnh đường F0 chẳng hạn thuật toán PSOLA [3]. Do vậy việc xác định giá trị đường F0 của ngữ đoạn tiếng nói, các điểm PM và cách điệu nó để khái quát cho đường F0 âm thanh đích là điểm quan trọng để tổng hợp tiếng Việt [3]. Vấn đề ước lượng giá trị F0 cũng như xác định các điểm đánh dấu chu kỳ pitch (các điểm PM, cũng còn gọi là các điểm đánh dấu chu kỳ F0) hiện nay vẫn là vấn đề mở, có rất nhiều thuật toán để ước lượng F0 và xác định các điểm PM, xem chẳng hạn [2, 4-7]. Ngoài ra, hầu hết phương pháp đều dựa trên thuật toán quy hoạch động kiểu Talkin [6], kỹ thuật xác định PM dựa trên nhiều giai đoạn [2], kỹ thuật xác định PM trong miền tần số [7] v.v... Các tiếp cận xác định các điểm PM của sóng tiếng nói, nói chung lựa chọn các điểm PM dựa trên các điểm đỉnh hoặc thung lũng của sóng tiếng nói [7,8]. Ngoài ra còn có tiếp cận dựa trên các điểm Pulse (xung) kiểu phần mềm Praat [9]. Các điểm Pulse của Praat được xác định xung quanh các điểm tại đó tín hiệu tiếng nói đổi dấu từ âm sang dương, các điểm thung lũng hoặc đôi khi là các đỉnh. Các phương pháp xác định các điểm PM hiện nay đều bao gồm hai bước: đầu tiên là ước lượng các giá trị F0 của phần tiếng nói hữu thanh (tạm gọi là các giá trị F0 ”thô”), sau đó mới định vị các điểm PM. Điều này xuất phát từ nguyên nhân là biên độ tín hiệu tiếng nói miền thời gian thường rất biến đổi xung quanh các điểm PM. Một điểm PM không nhất thiết là điểm có biên độ lớn hơn so với một đỉnh sóng tiếng nói khác ở kề nó. Vì vậy, nếu có thể xác định được các điểm PM dựa trên trực tiếp sóng tiếng nói và không cần phân chia tín hiệu tiếng nói đầu vào thành các khung (yêu cầu bắt buộc khi cần ước lượng F0) thì việc tính toán sẽ rất đơn giản, không phải vận dụng các phép biến đổi tín hiệu sang miền tần số và kết quả các điểm PM cũng không bị ảnh hưởng của tham số độ dài một khung. Đây chính là tiếp cận mới được chúng tôi đề xuất trong bài báo này. Phần còn lại của bài báo được tổ chức như sau: Phần 2, trình bày một số nghiên cứu liên quan của thuật toán Talkin theo tiếp cận tối ưu hàm mục tiêu dạng quy hoạch động, Công nghệ thông tin & Cơ sở toán học cho tin học T. Y. Thái, , Đ. D. An, “Thuật toán ước lượng các điểm tín hiệu tổng tích lũy.” 148 tiếp cận xác định các điểm chu kỳ dựa trên các điểm Pulse của Praat; Phần 3 là đề xuất thuật toán sử dụng tín hiệu tổng tích lũy để xác định các điểm PM; Các kết quả thực nghiệm đưa ra trong phần 4; Kết luận được cho trong phần 5. 2. NGHIÊN CỨU LIÊN QUAN Trong các công trình [2,6,8,9,10,11] các thuật toán định vị các điểm PM thường gồm hai bước xử lý, trong đó bước đầu tiên là ước lượng các giá trị F0 thô bằng việc bằng việc sử dụng hệ số tự tương quan ( nói chung giá trị F0 thô được ước lượng ở bước này là không tạo ra một đường trơn). Tín hiệu tiếng nói đầu vào được chia thành các khung thời gian ngắn (gọi là frame) có độ dài như nhau và nằm trong khoảng 10-30 ms (mili giây), hai khung liên tiếp chồng lên nhau với độ dài chồng lên nhau là hằng số P (P thuộc khoảng 5-15ms). Trên mỗi khung thời gian ngắn framet, ta tính các hệ số tự tương quan sau: 1 , 0 0,M 1, ( ) ( ),1 M kdef k t t t i k R frame i frame k i t T (1) , ở đây 1t 0{frame (i)} M i là các mẫu tín hiệu tiếng nói của framet , M là số lượng mẫu của framet và T là số lượng khung. Tiếp theo, chúng ta có thể ước lượng một giá trị F0 của khung tính hiệu ngắn framet như sau: 0 0, ( ) s t f F t k , ở đây fs là tần số lấy mẫu của tín hiệu tiếng nói và def 0, , 1 1 {R }arg maxt k t k M k . Độ chính xác của ước lượng F0 thô theo công thức trên phụ thuộc vào tham số độ dài của một khung (với tiếng nói có tần số F0 thấp như giọng nam chẳng hạn tham số độ dài cửa sổ phải đủ lớn), ngoài ra có thể k0,t không là đỉnh phù hợp [6]. Về một phương pháp chuẩn hóa hệ số tự tương quan và ước lượng F0 khác sử dụng thuật toán quy hoạch động(để chọn đỉnh phù hợp) có thể xem thuật toán RAPT [6]}. 3. KỸ THUẬT ĐỀ XUẤT Trong phần này, chúng tôi trình bày kỹ thuật xác định các điểm PM trong tập hợp các đỉnh của tín hiệu tổng tích lũy. Sử dụng tín hiệu tổng tích lũy, các đỉnh (peaks, điểm cực đại địa phương) của tín hiệu này được biên tập (loại bỏ, chèn và thay thế) thông qua nhiều bước tiền xử lý. Các bước tiền xử lý là tương đối đơn giản, không cần những tính toán phức tạp do đặc điểm của tín hiệu tổng tích lũy. Tiếp theo chúng tôi đề xuất các phương pháp xác định các điểm chu kỳ pitch dựa trên đỉnh, hoặc điểm thung lũng hoặc điểm tại đó tín hiệu tiếng nói gốc. 3.1. Phân đoạn tiếng nói và quyết định hữu thanh/vô thanh Bước đầu tiên để xác định các điểm chu kỳ pitch của một ngữ đoạn tiếng nói là phân đoạn tiếng nói/nền và thiết lập quyết định tính hữu thanh/vô thanh cho từng đoạn tiếng nói. Để thực hiện nhiệm vụ này, ở đây chúng tôi sử dụng các giá trị năng lượng và các giá trị đo số lần đổi dấu của tín hiệu tiếng nói gốc như sau: Giá trị năng lượng của một khung: 2 ( 1)* 0 1, , Mdef t t M i i t T E x , (2) Độ đo số lần đổi dấu tính từ một mẫu và trở về trước được xác định như sau: 1 1 ( ) ( )1 ( ) , 1, 2 m n n x n m M sign x sign x Z m m M N M , (3) Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 58, 12 - 2018 149 , N là số lượng mẫu của sóng tiếng nói đầu vào và sign(x) là hàm dấu của x. Chúng ta có 2 luật quyết định như sau: A1: Khung tiếng nói 0t frame là thuộc nền nếu 0 1 *max{ }t E t t T E E (4) A2: mẫu xm là thuộc phần vô thanh nếu ( )x zZ m (5) Các tham số E và z được xác định bằng thực nghiệm (chẳng hạn, có thể chọn E = 1/30, z = 0.17). 3.2. Tập đỉnh của tín hiệu tổng tích lũy và phương pháp xác định các điểm PM của tín hiệu tiếng nói gốc Định nghĩa 3.1: Trên đoạn tiếng nói miền thời gian (hoặc miền tần số) không giảm tính tổng quát giả sử tín hiệu x được lấy mẫu trong đoạn [-a, a] với a>0 nào đó, j 1 {x } j N x chúng ta xác định dãy tổng tích lũy j 1{s } j Ns , trong đó 1 1s x def 1 j 1 2, , j j j tj N s s x x dt (6) (a) (b) Hình 1. (a) Câu “Trời nghe trở gió ầm ầm trên mặt nước” trích trong truyện “Dế mèn phiêu lưu ký” và (b) Tín hiệu tổng tích lũy của đoạn tín hiệu âm tiết /gió/. Với j 1{x } j Nx , chúng ta ký hiệu xz và xz là hai tập giá trị thời gian tại đó tín hiệu tiếng nói đổi dấu từ dương sang âm và ngược lại như sau: 1 1 | 0 0 , | 0 0 def def x i i x i i z i x x z i x x (7) Ngoài ra, chúng ta cũng ký hiệu | 0 def ix i x , | 0 . def ix i x (8) và peak(x) là tập đỉnh của x (để xác định peak(x), xem [14]). Chúng ta có các tính chất sau thể hiện tính chất của các đỉnh của tín hiệu tổng tích lũy và quan hệ của nó với các điểm tín hiệu của tiếng nói gốc: Tính chất 1: (i) xpeak s z và xpeak s z , trong đó s là tín hiệu tổng tích lũy của x. (ii) Nếu ,i j x thì 1, ,..,i i js s s là một dãy số đơn điệu tăng, và nếu ,i j x thì 1, ,..,i i js s s là một dãy số đơn điệu giảm. Chứng minh. (i) 1 1 1 1 1 1 0 0 0 0 i i i i i i i i i i i i x s s s s x s s x s s x x i z i peak s Công nghệ thông tin & Cơ sở toán học cho tin học T. Y. Thái, , Đ. D. An, “Thuật toán ước lượng các điểm tín hiệu tổng tích lũy.” 150 Do đó xpeak s z . (ii) 1 1 , , 1, 0 0 k k k k k k i j x k i j x s s x s s . Ngoài ra, 1 1, , 1, 0 0k k k k k ki j x k i j x s s x s s Hình 2 dưới đây thể hiện mục (i) của tính chất 1. Các điểm PM định vị tại các điểm đỉnh của tín hiệu tổng tích lũy được khoanh vòng tròn nhỏ, quy chiếu về tiếng nói gốc, chúng là các điểm tín hiệu tiếng nói gốc tại đó tín hiệu gốc đổi dấu từ dương sang âm. (a) Quy chiếu các đỉnh của tín hiệu tổng tích lũy về các điểm thời gian của tín hiệu tiếng nói gốc( các điểm đổi dấu được khoanh tròn nhỏ). (b) Các đỉnh của tín hiệu tổng tích lũy tương ứng. Hình 2. Quy chiếu các đỉnh của tín hiệu tổng tích lũy sang điểm tín hiệu của tiếng nói gốc (các đỉnh khoanh tròn, tại các điểm này, tín hiệu tiếng nói gốc đổi dấu từ dương sang âm của). Hình 3. Phân đoạn tự động thành 7- đoạn hữu thanh của câu “Đừng lo, xem mây vận trời đêm nay có cơ đổi gió.” – Trích truyện “Dế mèn phiêu lưu ký”, mỗi đoạn được hiển thị trong một cặp đường viền đứt nét đỏ-xanh( sử dụng thuật toán 1 bước 1). Hình 3 ở trên thể hiện quá trình xác định tín hiệu tổng tích lũy của các đoạn hữu thanh của tín hiệu tiếng nói đầu vào. Ở đây nhấn mạnh rằng tín hiệu tổng tích lũy không được tính chỉ duy nhất một lần trên toàn bộ tín hiệu tiếng nói gốc. (a) (b) Hình 4. (a) Một phần tín hiệu của đoạn thứ hai trong 7- đoạn hữu thanh và (b) Tín hiệu tổng tích lũy tương ứng. Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 58, 12 - 2018 151 Trên hình 4.b ta thấy tín hiệu tổng tích lũy có đỉnh nổi hơn rất nhiều so với các đỉnh của tín hiệu tiếng nói gốc. Các đỉnh là điểm đánh dấu pitch của tín hiệu tiếng nói gốc có thể không phân biệt về giá trị biên độ so với các đỉnh tín hiệu xung quanh. Ngược lại với tín hiệu tổng tích lũy, các đỉnh là điểm đánh dấu pitch thường có giá trị biên độ cao hơn các điểm tín hiệu xung quanh. Từ đây chúng tôi đề xuất một tiếp cận mới, đó là việc tìm điểm đánh dấu pitch dựa trên đỉnh sóng âm gốc sẽ được thay thế bằng việc xác định các điểm PM từ tập đỉnh của tín hiệu tổng tích lũy của tín hiệu gốc (xem mục (i) của tính chất 1). Các tập đánh dấu pitch: Tiếp theo, chúng tôi đề xuất các cách xác định các PM của tín hiệu tiếng nói gốc. Xuất phát từ tập PM của tín hiệu tổng tích lũy chúng tôi xác định các tập PM của tiếng nói gốc dựa trên tập đỉnh hoặc tập thung lũng của nó. Định nghĩa 3.1: Giả sử j 1{x } j Nx là một đoạn tín hiệu tiếng nói hữu thanh và j 1{s } j Ns là tín hiệu tổng tích lũy của x. Giả sử x jPMZ pmz là tập PM của s (được xác đinh trong tập đỉnh của s). Chúng ta ký hiệu xPMZ , x PM và x PM là 3 tập PM suy dẫn từ các giá trị PM kề nhau của xPMZ , chúng được xác định như sau: 1{ / , min{l/ ( ), } def x j jPMZ k j k l peak s pmz l pmz (9) 1{ / : min{ / ( ), }} def x j jPM k j k l l peak x pmz l pmz (10) 1/ , min{ / ( ), }} def x j jPM k j k l l peak x pmz l pmz (11) Để xác định tập các điểm chu kỳ pitch xPMZ trước hết chúng ta cần xác định tập các đỉnh của tín hiệu tổng tích lũy peak(sk), sau đó sử dụng các luật loại bỏ và chèn để chọn ra các điểm chu kỳ pitch của tín hiệu tiếng nói gốc. Do các tính chất toán học của tín hiệu tổng tích lũy chúng ta sử dụng các luật đơn giản và trực giác sau để xác định xPMZ trên mỗi đoạn tiếng nói hữu thanh thứ k: B1: (Chọn phần tử PM đầu tiên) , ,1{ }k x kPMZ p , trong đó: , { } ,1 , { } , arg min # { } k k k ndef n peak s k k k n k n peak sk s mean p s mean peak s (12) (PM đầu tiên pk,1 của sk, là đỉnh đầu tiên của sk có biên độ không dưới ngưỡng meank) B2: (Bổ sung một PM tạm thời tiếp theo) Nếu tồn tại m peak(sk) và , 0,max 0,min[fs / ,fs / ]k jm p f f (13) với , ,max{ }k j k xp PMZ thì , , { }k x k xPMZ PMZ m B3: (Xóa một PM tạm thời) Nếu có 2 PM tạm thời liên tiếp pk,j-1, pk,j ,k xPMZ sao cho: , 1, 0,max 0,min[fs / ,fs / ]k jpk jp f f (14) thì , , ,\{ }k x k x k jPMZ PMZ p . B4: (Xóa một PM tạm thời) Nếu có 3 PM tạm thời liên tiếp pk,j-1, pk,j, pk,j+1 ,k xPMZ sao cho Công nghệ thông tin & Cơ sở toán học cho tin học T. Y. Thái, , Đ. D. An, “Thuật toán ước lượng các điểm tín hiệu tổng tích lũy.” 152 , , , , 1 , 1 , , , 1 , 1 ,, 1 , 1, min , min{ , } 0.5*max{ , }, k p k p k j k j k j k j k j k j k j k jk j k jk j s s s p p p p p p p pk p (15) thì , , ,\{ }k x k x k jPMZ PMZ p . B5: (Chèn một đỉnh vào tập PM tạm thời) Nếu có 3 PM tạm thời liên tiếp pk,j-1, pk,j, pk,j+1 ,k xPMZ sao cho , 1 , , , 1* ( )k j k j k j k jp p p p (16) thì , , { }k x k xPMZ PMZ m , với m được chọn: , , 1 , , 1( ) : , ( ) / 2 mink k j k j k j k jm peak S p m p m p p (17) ( là một tham số thực nghiệm, > 1) B6: (Thay thế giá trị của một PM tạm thời) Nếu có 3 PM tạm thời liên tiếp pk,j-1, pk,j , pk,j+1 ,k xPMZ sao cho: , , , , , ,/2, /2 / 2, / 2 k j k j k j k j k t k mp T p T m peak S t p L p L s s (18) thì gán lại pk,j = m, với def , , 1 , 1 ,min ,k j k j k j k jL p p p p Sử dụng các luật B1-B6, thuật toán xác định các PM từ tập đỉnh của tín hiệu tổng tích lũy được thiết lập như sau: Thuật toán 1: EPM (Ước lượng các PM của tín hiệu tiếng nói). Đầu vào: Tín hiệu tiếng nói 1{x }m m N trong miền thời gian. Tần số lấy mẫu fs , [f0,min, f0,max] là khoảng các giá trị F0. Đầu ra: Số các đoạn hữu thanh K, các tập PM tương ứng với 4 kiểu ,2 ,2 , ,1 ,1 1 ,1 , ,1 ,1 1 ,1 , , , k k k k k j k jk K j n k K j n k j k jk K j n k K j n pm pm p p , với , ,1 ,1 1 ,1,k kk j k jk K j n k K j npm pm là 2 tập PM kiểu truyền thống. Bước 1: Phân đoạn tín hiệu đầu vào 1{x }m m N thành K đoạn hữu thanh, ,1 ,2{x } k km N m N và còn lại là các đoạn vô thanh. Bước 2: Lặp, trên mỗi đoạn hữu thanh ,1 ,2 {x } , 1, k km N m N k K xác định ,x kPMZ : 2.1: Xác định tín hiệu tổng tích lũy ,1 ,2k ={s } , 1, k km N m N s k K sử dụng công thức (6) 2.2: Xác định tập đỉnh của sk, tính giá trị trung bình biên độ của các đỉnh của sk: , , { } / # k k k n k n n peak S mean s peak s 2.3: Xác định PM đầu tiên của ,x kPMZ bằng luật B1. 2.4. Lặp ... ầu và âm cuối). Ngoài ra chúng ta chọn = 1.6 cho luật R5 ở trên trong thực nghiệm. Khi so sánh các thuật toán tính PM khác, như đã đề cập có nhiều cách tính PM, nên để so sánh với một phương pháp cụ thể chẳng hạn như Pulse của Praat (gần các điểm tín hiệu đổi dấu từ âm sang dương), chúng tôi sẽ sử dụng tập các điểm PM xác định trên tập điểm thung lũng của tín hiệu tổng tích lũy ( xPMZ ), cũng như khi so sánh tập PM theo thuật toán Talkin ( xác định dựa trên các đỉnh của tín hiệu gốc) chúng tôi sẽ sử dụng tập điểm xPM v.v... Hình 7. So sánh tập các điểm PM tại các điểm thung lũng của tín hiệu tổng tích lũy được quy chiếu về các điểm của tín hiệu tiếng nói gốc (tại các điểm này tín hiệu tiếng nói gốc đổi dấu từ âm sang dương) theo thuật toán 1 và tập Pulse của Praat. Công nghệ thông tin & Cơ sở toán học cho tin học T. Y. Thái, , Đ. D. An, “Thuật toán ước lượng các điểm tín hiệu tổng tích lũy.” 156 Hình 7 ở trên minh họa các điểm PM được xác định xác định bằng tập xPMZ (xem định nghĩa 3.2 và thuật toán 1 mục 5) trên một đoạn hữu thanh. Khi quy chiếu các điểm PM này về tín hiệu tiếng nói gốc chúng là các điểm mà tại đó tín hiệu tiếng nói gốc đổi dấu từ âm sang dương. Bảng 1. So sánh kết quả tính PM trên một tín hiệu âm tiết ( đơn vị tính được quy đổi từ ms sang sample). Giá trị tính được sử dụng Praat Giá trị tính được sử dụng thuật toán 1( thuộc tập x PMZ ) 154, 233, 314, 395, 469, 557, 655, 752, 848, 943,1038, 1133, 1227, 1321, 1413, 1504, 1595, 1684, 1773, 1860, 1946, 2028, 2111, 2197, 2273, 2343, 2411, 2468, 2534, 2600, 2654, 2715, 2778 84, 157, 237, 315, 400, 464, 551, 651, 748, 844, 939, 1035, 1129, 1223, 1316, 1408, 1500, 1590, 1680, 1802, 1855, 1941, 2024, 2107, 2193, 2277, 2338, 2409, 2471, 2546, 2609, 2663, 2725, 2789 So sánh 2 tập trên ta thấy thuật toán 1 và Praat trích rút ra dãy giá trị có số lượng chỉ chênh nhau 1. Praat thiếu vị trí bắt đầu là 84, thuật toán 1 xác định đúng vị trí bắt đầu. Các vị trí khác cơ bản sai lệch nhau chỉ vài mẫu, chẳng hạn cặp (154,157); (551,557); (2789, 2778). Phần hữu thanh xung quanh vùng nguyên âm /ô/ sự sai lệch là nhỏ hơn vùng gần cuối (âm /n/ kết thúc âm tiết) chẳng hạn như cặp (2028,2024) so với cặp (2789,2778). Tại vùng bắt đầu cho tới kết thúc phần nguyên âm, vị trí tính được của thuật toán 1 quan sát bằng mắt chính xác hơn kết quả của Praat. (a) (b) Hình 8. (a) Sóng âm gốc /mười/ và (b) Tín hiệu tổng tích lũy. Hình 8 ở trên thể hiện rõ các đỉnh của tín hiệu tổng tích lũy nổi hơn rất nhiều so với các đỉnh chu kỳ pitch của sóng âm gốc. Trở lại hình 4, so sánh tập các điểm PM trích chọn từ tập đỉnh của tín hiệu tổng tích lũy và tập Pulse của Praat nhờ thuật toán 1, chúng ta cũng thấy sai lệch số lượng điểm đánh dấu chỉ là 2 vị trí cuối và vị trí các điểm đánh dấu PM tương ứng còn lại của hai thuật toán không quá 3( sai số quy đổi là 0.000272 giây). Bảng 2 dưới đây thể hiện một kết quả tính PM của Praat và x PMZ của thuật toán 1. Các số liệu này được sử dụng để minh họa ở hình 11 và 12 dưới đây. Bảng 2. So sánh kết quả tính PM trên tín hiệu một ngữ đoạn đọc tự nhiên. Giá trị tính được sử dụng Praat Giá trị tính được sử dụng thuật toán 1 16231 16267 16303 16340 16377 16415 16452 16490 16529 16567 16605 16644 1668216721 16760 16799 16838 16877 16916 16955 16232 16268 16305 16342 16379 16417 16454 16492 16530 16569 16607 16646 16684 16723 16762 16801 16841 16887 16926 16965 Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 58, 12 - 2018 157 Tuy nhiên trong sự sai lệch này không phải Praat là kết quả ước lượng chuẩn hơn mà kết quả tính bằng thuật toán 1 là dễ nhận thấy hơn kết quả của Praat khi quan sát bằng mắt trực tiếp sóng âm thanh như thể hiện ở hình 9 và hình 10 dưới đây. Hình 9. Một điểm Pulse xác định bằng Praat [9]. Hình 10. Một điểm Pulse xác định bằng thuật toán 1 (đề xuất). Hình 10 chỉ ra chính xác điểm quy chiếu từ các điểm PM của tín hiệu tổng tích lũy sang tín hiệu tiếng nói gốc, tại các điểm này tín hiệu tiếng nói góc đổi dấu từ dương sang âm, trong khi kết quả tính của Praat là kém trực quan hơn. Thực nghiệm so sánh trên ngữ đoạn tiếng nói Trong thực nghiệm này chúng tôi sử dụng phương pháp xác định các điểm PM dựa trên các điểm pulse của Praat [9]. Sau đó chúng tôi tiến hành so sánh từng tập điểm PP (Pulse xác định bằng Praat) với tập điểm xPMZ tương ứng được xác định bằng thuật toán 1 đề xuất. Để so sánh 2 tập PM trên cùng một đoạn tiếng nói hữu thanh, chúng tôi sử dụng một độ đo kiểu khoảng cách soạn thảo (Về một kết quả liên quan, chúng ta có thể xem trong [15]) Đầu tiên, giả sử 1 m I i i PM pm và ' 1 n J j j PM pm , ,và chúng ta giá trị đo DPM(PMI,PMJ) bằng: ', 1 1( , ) , / min{m,n} def nm PM I J m n i ji j D PM PM D pm pm (24) trong đó, ' 1,1 1 1D pm pm và ', , 1 1, 1, 1min , , , 2i j i j i j i j i jD pm pm D D D i j (25) Tiếp theo, trên toàn bộ ngữ đoạn, chúng ta lấy trung bình của các giá trị DPM được tính bằng công thức (25) như trên. Giá trị trung bình ED được xác định như sau: , , 1 , / K PM I k J k k ED D PM PM K (26) với , 1 K I k k PM và , 1 K J k k PM là 2 dãy tập PM của đoạn hữu thanh thứ k của ngữ đoạn tiếng nói đầu vào. Để so sánh với phương pháp xác định PM khác như Praat [9], chúng tôi sử dụng thuật toán 1 để thu được xPM sau đó tính giá trị ED . Dưới đây là bảng đánh giá sai số của cách ước lượng PM đề xuất xPMZ và ước lượng Pulse của Praat. Công nghệ thông tin & Cơ sở toán học cho tin học T. Y. Thái, , Đ. D. An, “Thuật toán ước lượng các điểm tín hiệu tổng tích lũy.” 158 Bảng 3. So sánh kết quả tính xPMZ của thuật toán 1 đề xuất và PP trên các ngữ đoạn. Ngữ đoạn Nội dung K (Số đoạn hữu thanh) ED (ms) #1 “Đừng lo xem mây vận trời đêm nay có cơ đổi gió.” 7 0.5022 #2 “Từ chỗ này muốn qua chỗ khác chúng tôi chỉ lách nhích từng tẹo.” 13 0.3234 #3 “Chũi bảo chũi không nhìn thấy.” 5 0.3671 #4 “Trời nghe trở gió ầm ầm trên mặt nước.” 4 0.2751 #5 “Thì ra bè chúng tôi từ lúc nào đã trôi vào gần một bờ cỏ.” 13 0.2292 #6 “Ấy vậy mà lúc đó chén ngon đáo để.” 7 0.2217 Bảng kết quả trên cho chúng ta thấy ước lượng PM dựa trên tín hiệu tổng tích lũy của tín hiệu tiếng nói các ngữ đoạn tiếng Việt có kết quả tương đối khớp với Praat. Tuy nhiên giống như trường hợp âm tiết rời, trong ngữ cảnh ngữ đoạn, Praat có thể xác định thiếu điểm Pulse, như hình sau cho chúng ta thấy rõ (thuật toán đề xuất EPM vẫn tìm được đầy đủ): (a) (b) Hình 11. Các ô tròn đánh dấu vị trí Pulse mà Praat bỏ sót, (a) với câu #2 (bảng 3) ở đoạn 2, thiếu vị trí xung quanh mẫu 355, và (b) ở đoạn 5,thiếu vị trí xung quanh mẫu 497 (tính vị trí tương đối từ mẫu đầu đoạn). 4.3. Thử nghiệm tổng hợp thanh điệu cho âm tiết Để thử nghiệm thuật toán SynTone đề xuất, chúng tôi thử nghiệm ứng dụng vào tổng hợp thanh điệu – chuyển một tín hiệu tiếng nói âm tiết mang thanh ngang (thanh không dấu của các âm tiết không tận cùng là p-t-c/ch) thành các tín hiệu âm tiết mang dấu (huyền, sắc,nặng, hỏi và ngã). Ngoài ra với các âm tiết tận cùng bằng p-t-c-ch chúng tôi tổng hợp thanh sắc từ một tín hiệu âm tiết cũng tận cùng bằng p-t-c-ch nhưng mang thanh sắc với dạng đường biểu diễn F0 là của thanh sắc có âm tiết không tận cùng là p-t-c-ch (dạng qTA 6 thành phần là [a,b,c,d,g,k] theo biểu diễn của công thức (19)). Các kết quả tổng hợp thanh điệu được thực nghiệm cho các âm tiết được thu nhận để bao gồm đầy đủ các dạng âm tiết tiếng Việt theo tiêu chí phân loại về nguyên âm chính, phụ âm đầu/cuối hoặc kết thúc là bán nguyên âm v.v... Tham số thực nghiệm được chọn: =20ms, M=0.8*N nếu tổng hợp thanh nặng (từ các thanh khác), trong các trường hợp còn lại thì chọn M=N, ở đây N và M là độ dài tín hiệu âm tiết đầu vào và âm tiết tổng hợp tính theo đơn vị ms. Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 58, 12 - 2018 159 Để giải hàm mục tiêu theo công thức (20), chúng tôi sử dụng thủ tục fminsearch của Matlab [16], và quá trình giải hàm mục tiêu là hội tụ trên tập dữ liệu {f0(t)} của các thanh điệu tiếng Việt. Lấy trung bình chúng ta nhận được bộ [atn,btn,ctn,dtn,gtn,ktn] cho các thanh điệu tiếng Việt tn. Hình 12. Sinh đường F0 của từ đôi ”đấu/võ” sử dụng công thức (19). Thang điểm đánh giá chất lượng tổng hợp thanh điệu cho bởi độ đo MOS gồm: Xuất sắc (4.1 – 5), Tốt (3.1 – 4), Bình thường (2.1 – 3), Kém (1.1 – 2), Tồi (0 – 1). Chúng tôi chọn 10 cán bộ nghiên cứu của Viện ngôn ngữ trong đó có 4 chuyên gia về ngữ âm học để đánh giá. Kết quả của thực nghiệm cho thấy: Các âm tiết đã được biến đổi thanh nghe rõ, không bị hiện tượng rè, thanh điệu tổng hợp nghe rõ ràng, giữ được đường nét đặc trưng thanh điệu tương ứng. Điểm trung bình MOS của chất lượng tổng hợp thanh điệu cho bởi các chuyên gia đánh giá là 3.8. 5. KẾT LUẬN Trong bài báo này chúng tôi đã đề xuất đóng góp mới cho phương pháp xác định các điểm đánh dấu pitch của tín hiệu tiếng nói gốc trong miền thời gian dựa trên tín hiệu tổng tích lũy. Thuật toán đơn giản, không cần phép chia thành các đoạn ngắn (khung) để ước lượng F0 ”thô” như các phương pháp khác. Với dữ liệu âm thanh tiếng Việt của các âm tiết và ngữ đoạn được thử nghiệm có chất lượng thu âm cao, kết quả tính các điểm đánh dấu pitch theo tiếp cận mới đã chứng tỏ sự đúng đắn, chính xác tương đương với các tiếp cận truyền thống-xác định PM qua hai bước như Praat– một cài đặt thuật toán xác định PM theo tiếp cận truyền thống kiểu Talkin. Ngoài ra tiếp cận của bài báo cơ một ưu điểm quan trọng là các điểm PM tìm được có thể quan sát được tính hợp lý bằng trực quan dựa trên đường tín hiệu miền thời gian. Ngoài ra kết quả của bài báo đã đề xuất thuật toán tổng hợp thanh điệu cho âm tiết rời tiếng Việt, thử nghiệm ứng dụng đạt kết quả âm tổng hợp có chất lượng tốt. Điều đó chứng tỏ phương pháp xác định PM theo tín hiệu tổng tích lũy là khá hiệu quả khi ứng dụng cho tổng hợp thanh điệu tiếng Việt. Trong các nghiên cứu tiếp theo chúng tôi sẽ mở rộng kết quả để tổng hợp thanh điệu cho các từ đa âm tiết trong tiếng Việt với các điểm đánh dấu pitch được lựa chọn tự động từ tiếp cận duyệt tập đỉnh của tín hiệu tổng tích lũy đề xuất. Công nghệ thông tin & Cơ sở toán học cho tin học T. Y. Thái, , Đ. D. An, “Thuật toán ước lượng các điểm tín hiệu tổng tích lũy.” 160 TÀI LIỆU THAM KHẢO [1]. A Short Guide to Pitch-marking in the Festival Speech Synthesis System and Recommendations for Improvements, Local LanguageSpeech Technology Initiative (LLSTI) Reports.Retrieved from: pp. 3-9, 2004 [2]. M. Leg´at, J. Matouˇsek, D. Tihelka, On the Detection of Pitch Marks Using a Robust MultiPhase Algorithm. Speech Communication, Elsevier : North-Holland, 53 (4), pp.552, 2011. [3]. Trịnh Anh Tuấn, Nghiên cứu các đặc trưng để phân tích và tổng hợp tín hiệu âm tần, Luận án tiến sỹ, Học viện Công nghệ Bưu chính Viễn thông, 2000. [4]. Hynek Bořil and Petr Pollák, Direct Time Domain Fundamental Frequency Estimation Of Speech In Noisy Conditions, 1003-1006, Eusipco 2004. [5]. Dongmei Wang, John H.L. Hansen , F0 Estimation For Noisy Speech By Exploring Temporal Harmonic Structures In Local Time Frequency Spectrum Segment Icassp, pp. 6510-6514, 2016. [6]. D. Talkin, A Robust Algorithm for Pitch Tracking (RAPT), in "Speech Coding & Synthesis", W B Kleijn, K K Paliwal eds,Elsevier ISBN 0444821694, pp. 495-518, 1995. [8] Jau-Hung Chen and Yung-An Kao, Pitch Marking Based on an Adaptable Filter and a Peak-Valley Estimation Method, Computational Linguistics and Chinese Language Processing Vol. 6, No. 2, pp. 1-12, Feburary 2001. [7]. Jau-Hung Chen and Yung-An Kao, Pitch Marking Based on an Adaptable Filter and a Peak-Valley Estimation Method, Computational Linguistics and Chinese Language Processing Vol. 6, No. 2, pp. 1-12, Feburary 2001. [8]. Milan Leg´at, Daniel Tihelka, Jindˇrich Matouˇsek.: Pitch Marks at Peaks or Valleys, Springer, pp.502-507, 2007. [9]. Praat: Doing phonetics by computer. [10]. Onur Babacan, Thomas Drugman, Nicolas d’Alessandro, Nathalie Henrich, Thierry Dutoit, Algorithms On A Large Variety Of Singing Sounds, Acoustics, Speech, and Signal Processing, IEEE International Conference on ICASSP, 2013. [11]. Yin pitch estimator, Online; accessed 27- November-2012. [12]. Ching X. Xu*, Yi Xu*, and Li-Shi Luo, A Pitch Target Approximation Model For F0 Contours In Mandarin, ICPhS99, 1999. [13]. Xu, Y. and Prom-on, S, Toward invariant functional representations of variable surface fundamental frequency contours: Synthesizing speech melody via model- based stochastic learning. Speech Communication 57, pp.181, 2014. [14]. https://www.voicebox.com/ [15]. J.P.Cabral, J.Kane, C.J., 2001. Evaluation of glottal epoch detection algorithms on different voice types, Interspeech, Florence, Italy. pp. 1989. [16]. Optimizing Nonlinear Functions - MATLAB and Simulink. https://www.mathworks.com/help/matlab/math/optimizing-nonlinear-functions.html PHỤ LỤC Thủ tục 1. EDPM (Tính trung bình khoảng cách “soạn thảo” của hai dãy PM). Đầu vào: Dãy giá trị '1 1,i ji m j npm pm . Đầu ra: Giá trị độ lệch giữa 2 dãy PM. Bước 1 Tính: '1, 1 1 , 1, j j k k D pm pm j n Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 58, 12 - 2018 161 ' ,1 1 1 , 1, i i k k D pm pm i m Bước 2: Tính Di,j , 2, , 2,i m j n , ', , 1 1, ,min , ,i j i j i j i j i jD pm pm D D D Bước 3: Trả về , / min{ , }m nD m n ABSTRACT THE ALGORITHM ESTIMATES THE PITCH MARKERS OF SPEECH WAVES IN TIME DOMAIN BASED ON THE PEAKS OF THEIR CUMULATIVE SUM SIGNAL. To locate pitch markers (PMs) of speech waves, known algorithms always evaluate the values of the previous F0 values before. This is a step that requires the use of complex models and is not interpreted visually. In this paper, only use simple preprocessing rules applied on the set of peaks of the cumulative sum signal (cumsum), we present a new approach for estimation of pitch marks in voiced and show that such peaks can be used with significant advantages in pitch tracking. Experimental results indicate that our proposed method performed very well without estimating F0 values before. Moreover, in this paper we also proposed an application of the new algorithm to synthesize F0 curves of Vietnamese syllables based on the qTA model. Keywords: Voiced/unvoiced decision; Pitch mark; Epoch; Pulse; Peaks; Cumsum; PSOLA; TTS; Xu model; qTA. Nhận bài ngày 02 tháng 10 năm 2018 Hoàn thiện ngày 04 tháng 12 năm 2018 Chấp nhận đăng ngày 11 tháng 12 năm 2018 Địa chỉ: 1 Đại học Kinh doanh và Công nghệ Hà Nội; 2 Viện CNTT, Viện Khoa học và Công nghệ quân sự; 3. Viện Ngôn ngữ học, Viện Hàn lâm KHXH Việt Nam; 4 Công ty tập đoàn CDC CORP – Viện máy và dụng cụ công nghiệp - Bộ Công thương. * Email: tayenthai@gmail.com.
File đính kèm:
- thuat_toan_uoc_luong_cac_diem_danh_dau_pitch_cua_song_tieng.pdf