Xử lý tiếng nói là lĩnh vực nghiên cứu tiếng nói của con người và được chuyển thành dạng tín hiệu để xử lý trong khoa học máy tính Trong luận văn tôi nghiên cứu phương pháp tính tần số cơ bản hay F0 một trong những đặc trưng quan trọng của tín hiệu tiếng nói Việc xác định tần số cơ bản của tín hiệu tiếng nói được ứng dụng trong các lĩnh vực như tổng hợp tiếng nói và nhận dạng tiếng nói Để tìm được tần số cơ bản của tín hiệu tiếng nói tôi sử dụng hàm tự tương quan vì tính đơn giản và hiệu quả của thuật toán này Tuy nhiên kết quả đường F0 tính được từ hàm tự tương quan trong hầu hết trường hợp là không được trơn Do đó tôi đã kết hợp tính tần số cơ bản bởi hàm tự tương quan với phương pháp lọc trung vị Đồng thời tôi tiến hành khảo sát thực nghiệm để xác định được các tham số tối ưu của các thuật toán Đánh giá độ chính xác so với phương pháp đo F0 thủ công cho thấy việc tính tần số cơ bản của tín hiệu tiếng nói bởi hàm tự tương quan có kết quả đáng tin cậy Với các kết quả nghiên cứu thu được việc tính tần số cơ bản của tín hiệu tiếng nói bởi hàm tự tương quan sẽ là cơ sở để tiến hành các nghiên cứu khác trong lĩnh vực xử lý tiếng nói
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA TRẦN VĂN TÂM XÁC ĐỊNH TẦN SỐ CƠ BẢN CỦA TÍN HIỆU TIẾNG NÓI DÙNG HÀM TỰ TƯƠNG QUAN LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Đà Nẵng – Năm 2019 ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA TRẦN VĂN TÂM XÁC ĐỊNH TẦN SỐ CƠ BẢN CỦA TÍN HIỆU TIẾNG NĨI DÙNG HÀM TỰ TƯƠNG QUAN Chun ngành: Khoa học máy tính Mã số: 8480101 Khóa: 35 LUẬN VĂN THẠC SĨ CÁN BỘ HƯỚN DẪN KHOA HỌC: TS Ninh Khánh Duy Đà Nẵng – Năm 2019 LỜI CAM ĐOAN Tơi cam đoan cơng trình nghiên cứu riêng tôi.Các số liệu, kết nêu luận văn trung thực Mọi giúp đỡ cho việc thực luận văn cảm ơn thơng tin trích dẫn luận văn rõ nguồn gốc rõ ràng đượ phép công bố Người thực luận văn Trần Văn Tâm i LỜI CẢM ƠN Sau thời gian học tập rèn luyện, biết ơn kính trọng, tơi xin gửi lời cảm ơn chân thành đến Ban Giám hiệu, phòng, khoa thuộc Trường đại học Đà nẵng Phó Giáo sư, Tiến sĩ nhiệt tình hướng dẫn, giảng dạy tạo điều kiện thuận lợi giúp đỡ tơi suốt q trình học tập, nghiên cứu hoàn thiện đề tài nghiên cứu khoa học Đặc biệt, tơi xin bày tỏ lịng biết ơn sâu sắc tới TS Ninh Khánh Duy, người Thầy trực tiếp người ln tận tình hướng dẫn, bảo, giúp đỡ động viên suốt q trình nghiên cứu hồn thành đề tài nghiên cứu Xin chân thành cảm ơn gia đình, bạn bè đồng nghiệp ln khích lệ giúp đỡ tơi q trình học tập nghiên cứu khoa học Người thực luận văn Trần Văn Tâm ii TÓM TẮT LUẬN VĂN XÁC ĐỊNH TẦN SỐ CƠ BẢN CỦA TÍN HIỆU TIẾNG NĨI DÙNG HÀM TỰ TƯƠNG QUAN Học viên: Trần Văn Tâm Chuyên ngành: Khoa học máy tính Mã số: Khố: K35 Trường Đại học Bách khoa – ĐHĐN Tóm tắt – Xử lý tiếng nói lĩnh vực nghiên cứu tiếng nói người chuyển thành dạng tín hiệu để xử lý khoa học máy tính Trong luận văn, tơi nghiên cứu phương pháp tính tần số (hay F0), đặc trưng quan trọng tín hiệu tiếng nói Việc xác định tần số tín hiệu tiếng nói ứng dụng lĩnh vực tổng hợp tiếng nói nhận dạng tiếng nói Để tìm tần số tín hiệu tiếng nói, tơi sử dụng hàm tự tương quan tính đơn giản hiệu thuật tốn Tuy nhiên, kết đường F0 tính từ hàm tự tương quan hầu hết trường hợp khơng trơn Do đó, tơi kết hợp tính tần số hàm tự tương quan với phương pháp lọc trung vị Đồng thời tiến hành khảo sát thực nghiệm để xác định tham số tối ưu thuật toán Đánh giá độ xác so với phương pháp đo F0 thủ cơng cho thấy việc tính tần số tín hiệu tiếng nói hàm tự tương quan có kết đáng tin cậy Với kết nghiên cứu thu được, việc tính tần số tín hiệu tiếng nói hàm tự tương quan sở để tiến hành nghiên cứu khác lĩnh vực xử lý tiếng nói Từ khố – dị tìm tần số bản; hàm tự tương quan; lọc (làm trơn) trung vị; tín hiệu tiếng nói; miền thời gian; tính chu kỳ pitch DETERMINING THE FUNDAMENTAL FREQUENCY OF SPEECH SIGNAL USE AUTOCORRELATION FUNCTION Abstract - Speech processing is the field of human voice research and being converted into a signal form for processing in computer science In the thesis, I focus on basic frequency calculation method (or F0), one of the most important features the voice signal The determination of the basic frequency of the voice signal is Applied in specializations such as voice synthesis and voice recognition To find the basic frequency of the voice signal, I use autocorrelation function because of simplicity and efficiency of this algorithm However, F0 road results by autocorrelation function In most cases not smooth Therefore, I combine autocorrelation function with median smoothing At the same time, I conducted empirical survey to determine the optimal parameters of the algorithms Evaluating accuracy compared to F0 method manual measurement shows that the calculation of the basic frequency of the voice signal by the autocorrelation function has reliable results With the research obtained results ,the basic frequency of the voice signal by the autocorrelation function shall be the basis for conducting other studies in the field of Voice processing Key words – fundamental frequency detection; autocorrelation function; median filtering/smoothing; speech signal; time domain; pitch period estimation iii MỤC LỤC LỜI CAM ĐOAN .i LỜI CẢM ƠN ii TÓM TẮT LUẬN VĂN iii DANH MỤC HÌNH VẼ vii DANH MỤC BẢNG BIỂU ix MỞ ĐẦU 1 Lý chọn đề tài .1 Mục đích ý nghĩa đề tài a Mục đích b Ý nghĩa khoa học thực tiễn đề tài Mục tiêu nhiệm vụ a Mục tiêu b Nhiệm vụ Đối tượng phạm vi nghiên cứu a Đối tượng nghiên cứu b Phạm vi nghiên cứu .3 Phương pháp nghiên cứu a Phương pháp lý thuyết b Phương pháp thực nghiệm Kết luận a Kết đề tài b Hướng phát triển đề tài Bố cục luận văn CHƯƠNG 1: TỔNG QUAN VỀ XỬ LÝ TÍN HIỆU TIẾNG NĨI 1.1 Mở đầu 1.2 Khái niệm tín hiệu tiếng nói .5 1.2.1 Biểu diễn miền thời gian 1.2.2 Biểu diễn miền tần số .7 1.3 Các đặc tính tín hiệu tiếng nói 1.3.1 Âm sắc .8 iv 1.3.2 Cường độ 1.3.3 Trường độ .10 1.3.4 Âm hữu 11 1.3.5 Âm vô 11 1.4 Xử lý ngắn hạn (short-time processing) .11 1.5 Tần số (F0) 13 1.5.1 F0 13 1.5.2 Tầm quan trọng F0 xử lý tiếng nói 14 1.5.3 Các lý khiến việc tìm F0 khó khăn 15 1.6 Tổng kết chương 16 CHƯƠNG 2: TÍNH TẦN SỐ CƠ BẢN DÙNG HÀM TỰ TƯƠNG QUAN .17 2.1 Mở đầu 17 2.2 Hàm tự tương quan ứng dụng để tính F0 .17 2.3 Thuật tốn tính F0 .20 2.4 Các tham số quan trọng thuật toán .23 2.4.1 Độ dài khung tín hiệu 23 2.4.2 Ngưỡng xác định hữu thanh/vô 23 2.5 Lọc trung vị 25 2.5.1 Cơ sở lý thuyết 25 2.5.2 Thuật toán lọc trung vị 26 2.5.3 Kích thước lọc 27 2.6 Tổng kết chương 27 CHƯƠNG 3: TRIỂN KHAI VÀ ĐÁNH GIÁ THUẬT TOÁN 28 3.1 Mở đầu 28 3.2 Môi trường phát triển 28 3.3 Dữ liệu thử nghiệm .29 3.4 Demo ứng dụng 29 3.5 Khảo sát giá trị kích thước lọc trung vị 32 3.6 Khảo sát ngưỡng xác định hữu thanh/vô 35 3.7 So sánh cài đặt hàm tự tương quan tự làm với hàm Matlab 42 3.8 So sánh thuật tốn tính F0 tự động với cách đo F0 thủ công 44 v 3.8.1 Cách đo F0 thủ công 44 3.8.2 Kết giọng nam .46 3.8.3 Kết giọng nữ 50 3.9 Tổng kết chương 53 KẾT LUẬN 54 Những việc hoàn thành 54 Các kết luận .54 Hạn chế hướng phát triển 55 TÀI LIỆU THAM KHẢO 56 vi DANH MỤC HÌNH VẼ Số hiệu Tên hình vẽ hình vẽ 1.1 Dạng sóng theo thời gian Tín hiệu âm người nói thu hai thời điểm khác 1.2 1.3 Phổ hai chiều 1.4 Phổ ba chiều 1.5 Âm sắc người nữ phát nguyên âm /a/ 1.6 Âm sắc người nam phát nguyên âm /a/ 1.7 Đồ thị biểu diễn sóng tín hiệu nguyên âm /a/ người nói 1.8 Đồ thị biểu diễn sóng tín hiệu phụ âm /h/ người nói Nguyên âm /a/ thu hai thời điểm khác 1.9 người nói 1.10 Âm /a/ người nữ 1.11 Âm /a/ người nam 1.12 Chia tín hiệu thành khung cửa sổ Tần số đo nguyên âm /a/ người nam 166.6 Hz 1.13 ứng với chu kỳ 0.006 giây Tần số đo nguyên âm /a/ người nữ 333.3 Hz ứng 1.14 với chu kỳ 0.003 giây 1.15 Đường F0 điệu tiếng Việt Đường F0 (trên) tín hiệu (dưới) câu nói “Các bạn trẻ định 1.16 có nhiều hội” giọng nữ 2.1 Một đoạn tín hiệu tuần hồn miền thời gian 2.2 Hàm tự tương quan đoạn tín hiệu tuần hồn Hình 2.1 2.3 Tín hiệu (trên) hàm tự tương quan (dưới) âm hữu 2.4 Tín hiệu (trên) hàm tự tương quan (dưới) âm vơ 2.5 Thuật tốn tìm F0 dùng hàm tự tương quan Ví dụ khung tín hiệu có độ dài 662 mẫu (tương đương 15 ms 2.6 với tần số lẫy mẫu 44100 Hz) 2.7 Ví dụ minh hoạ tín hiệu kết tính F0 Tín hiệu âm vơ bị xác định nhầm thành âm hữu thanh, dẫn 2.8 đến xác định F0 = 191,2 Hz 0,16 giây vii Trang 8 9 10 10 10 11 12 14 14 15 15 17 18 19 20 21 22 23 24 2.9 2.10 2.11 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 Tín hiệu âm hữu bị xác định nhầm thành âm vô không xác định giá trị F0 Sơ đồ khối thuật toán lọc trung vị Đường F0 trước (hình trên) sau lọc trung vị (hình dưới) Tín hiệu nguyên âm /a/ người nam Tín hiệu nguyên âm /a/ người nữ Giao diện chương trình Hiển thị sóng âm tín hiệu tiếng nói Kết tính F0 hàm tự tương quan tự cài đặt lọc trung vị Kết tính F0 hàm tự tương quan Matlab lọc trung vị Chức xem khung tín hiệu hàm tự tương quan khung Kết tính F0 người nam thứ theo ngưỡng khác Kết tính F0 người nam thứ hai theo ngưỡng khác Kết tính F0 người nam thứ ba theo ngưỡng khác Kết tính F0 người nữ thứ theo ngưỡng khác Kết tính F0 người nữ thứ hai theo ngưỡng khác Kết tính F0 người nữ thứ ba theo ngưỡng khác Chuyển đổi độ xác đo phần mềm Sonic Visualiser Phóng to đoạn tín hiệu phần mềm Sonic Visualiser Đo chu kỳ tín hiệu phần mềm Sonic Visualiser Kết đo F0 tín hiệu âm /o/ với độ dài khung 20 ms người nam thứ ba Một khung tín hiệu bị lỗi cao độ ảo hàm tự tương quan Một khung tín hiệu khơng bị lỗi cao độ ảo hàm tự tương quan viii 24 24 26 27 29 29 30 30 31 31 32 37 38 39 40 41 42 45 45 46 48 48 Đơn vị đo: Hz Độ lệch Tín hiệu F0 đo thủ cơng F0 tính tự động hai giá trị F0 199,6 230,3 30,8 /a/ /e/ 184,5 224,1 39,5 /i/ 226,2 228,2 2,0 /o/ 179,3 225,9 46,6 /u/ 239,7 243,9 4,2 205,9 230,5 24,6 Trung bình Bảng 3.26 – Kết đo F0 với độ dài khung 20 ms người nữ thứ hai Đơn vị đo: Hz Độ lệch Tín hiệu F0 đo thủ cơng F0 tính tự động hai giá trị F0 /a/ 188,6 198,3 9,6 203,9 208,7 4,8 /e/ /i/ 215,0 210,2 4,8 /o/ 195,8 207,3 11,5 /u/ 213,0 237,9 24,9 Trung bình 203,3 212,5 11,1 Bảng 3.27 – Kết đo F0 với độ dài khung 20 ms người nữ thứ ba Có thể thấy với độ dài khung 20 ms, độ lệch cách tính F0 thủ cơng cách tính F0 tự động hàm tự tương quan giảm so với kết độ dài khung 15 ms giọng nữ Trong giọng người nữ thứ hai có sai số tính F0 lớn (sai số tương đối xấp xỉ 12% với khung 20 ms 18% với khung 15 ms), người cịn lại có sai số nhỏ nhiều Với độ dài khung 30 ms, thu kết sau: Đơn vị đo: Hz Độ lệch Tín hiệu F0 đo thủ cơng F0 tính tự động hai giá trị F0 /a/ 315,1 319,3 4,3 /e/ 310,7 318,1 7,4 /i/ 334,1 332,0 2,1 /o/ 317,4 318,5 1,1 336,7 332,6 4,1 /u/ Trung bình 322,8 324,1 3,8 Bảng 3.28 – Kết đo F0 với độ dài khung 30 ms người nữ thứ Tín hiệu F0 đo thủ cơng F0 tính tự động /a/ /e/ 199,6 184,5 255,4 233,4 52 Đơn vị đo: Hz Độ lệch hai giá trị F0 55,9 48,9 226,2 227,6 1,4 /i/ /o/ 179,3 227,9 48,7 /u/ 239,7 238,2 1,5 Trung bình 205,9 236,5 31,3 Bảng 3.29 – Kết đo F0 với độ dài khung 30 ms người nữ thứ hai Đơn vị đo: Hz Độ lệch Tín hiệu F0 đo thủ cơng F0 tính tự động hai giá trị F0 /a/ 188,6 198,2 9,6 /e/ 203,9 208,3 4,4 /i/ 215,0 207,2 7,7 195,8 206,8 11,0 /o/ /u/ 213,0 217,6 4,6 Trung bình 203,3 207,6 7,5 Bảng 3.30 – Kết đo F0 với độ dài khung 30 ms người nữ thứ ba So với kết thu độ dài khung 20 ms, kết tính F0 dùng độ dài khung 30 ms người nữ thứ thứ ba có sai số giảm xuống (nhưng khơng đáng kể), kết người nữ thứ hai lại có sai số tăng lên (sai số tương đối xấp xỉ 15% với khung 30 ms) Do khơng thể kết luận cách rõ ràng độ dài khung 20 ms hay 30 ms cho kết tốt với liệu Kết luận: từ kết đo F0 tự động tín hiệu người nữ khảo sát, độ xác kết tính F0 có xu hướng tăng dần độ dài khung tín hiệu tăng từ 15 ms đến 30 ms Thuật toán tự tương quan chưa cho thấy lỗi cao độ ảo áp dụng với giọng nữ 3.9 Tổng kết chương Trong chương này, tiến hành cài đặt thuật tốn tìm F0 dùng hàm tự tương quan công cụ Matlab dùng hàm tự tương quan tự viết, từ phát triển thành ứng dụng tính F0 Tôi khảo sát thực nghiệm ảnh hưởng tham số quan trọng thuật toán để tìm tham số tối ưu Đối với độ dài khung tín hiệu, độ xác kết tính F0 có xu hướng tăng dần độ dài khung tín hiệu tăng từ 15 ms đến 30 ms cho giọng nam nữ Do đó, độ dài khung 30 ms nên sử dụng kết tính F0 đáng tin cậy Với ngưỡng xác định hữu thanh/vô thanh, tiến hành khảo sát tìm ngưỡng biên độ cực đại cục 30% giá trị biên độ cực đại toàn cục hàm tự tương quan cho kết xác Ngồi ra, tơi tiến hành khảo sát giá trị kích thước lọc trung vị xác định với N = lọc trung vị cho kết làm trơn tối ưu 53 KẾT LUẬN Những việc hoàn thành Với mục tiêu đề tài nghiên cứu phương pháp tính tần số dựa hàm tự tương quan, sử dụng lọc trung vị để làm trơn kết đánh giá ưu điểm nhược điểm thuật tốn, tơi thực việc sau: - Nghiên cứu lý thuyết liên quan đến xử lý tín hiệu tiếng nói, đặc biệt tần số F0 tín hiệu tiếng nói - Nghiên cứu lý thuyết hàm tự tương quan thuật tốn để tính F0 tự động từ tín hiệu tiếng nói - Nghiên cứu lý thuyết lọc trung vị áp dụng vào làm trơn chuỗi giá trị F0 tính - Phân tích lý thuyết khảo sát thực nghiệm tham số quan trọng thuật tốn xử lý tín hiệu - Cài đặt đánh giá so sánh thuật tốn tính F0 dùng hàm tự tương quan tự viết hàm tự tương quan Matlab, đánh giá độ xác thuật toán tự viết liệu thực nghiệm tự thu thập Các kết luận Dựa kết thực nghiệm, thấy hàm tự tương quan phương pháp tương đối đơn giản hiệu để giải tốn tính F0 tín hiệu tiếng nói Với kết đo file thu âm giọng nam giọng nữ, thuật tốn dùng hàm tự tương quan cho kết tính F0 xác với độ dài khung tín hiệu dài 30 ms Để cho đường kết tính F0 hàm tự tương quan trơn tru hơn, cần phải có bước lọc trung vị kết tính F0 thu Qua khảo sát kích thước lọc trung vị N = 3, N = 5, N = cho thấy, với kích thước lọc trung vị N = cho kết trơn tối ưu so với kích thước lọc trung vị cịn lại Ngồi ra, tham số ảnh hưởng lớn đến kết tính F0 tín hiệu tiếng nói, việc xác định khung tín hiệu tuần hồn khơng tuần hồn Việc xác định khung tín hiệu tuần hồn hay khơng tuần hồn (thuộc âm hữu hay âm vô thanh) dựa hàm tự tương quan tín hiệu bị ảnh hưởng ngưỡng biên độ cực đại cục Khảo sát định tính cho thấy ngưỡng 30% giá trị biên độ cực đại tồn cục hàm tự tương quan cho kết xác Thuật tốn tính F0 dùng hàm tự tương quan nhạy với lỗi độ cao ảo Cần có giải pháp để khắc phục lỗi tạo sai số lớn 54 Hạn chế hướng phát triển Do thiếu liệu F0 chuẩn cho khung tín hiệu tiếng nói nên việc đánh giá độ xác thuật tốn tính F0 dùng thước đo sai số tương đối đơn giản (độ lệch giá trị F0 cách đo thủ cơng thuật tốn dùng hàm tự tương quan, tính cho tín hiệu) chưa đầy đủ Các tín hiệu dùng thực nghiệm dừng ngun âm, vốn có đặc trưng tuần hồn tương đối ổn định, nên chưa đánh giá đầy đủ hiệu thuật tốn gặp tín hiệu tiếng nói có tính chất biến đổi phức tạp Luận văn chưa đưa cải tiến để cải thiện độ xác (đặc biệt khắc phục lỗi cao độ ảo) tốc độ thực thi thuật toán, thiếu đánh giá so sánh với thuật tốn tính F0 khác Tìm giải pháp cho vấn đề hướng phát triển luận văn tương lai 55 TÀI LIỆU THAM KHẢO [1] Phạm Văn Sự, Lê Xuân Thành, Bài giảng Xử lý tiếng nói, Học viện Cơng nghệ Bưu Viễn thơng, 2010 [2] Nguyễn Bình Thiên, Ninh Khánh Duy, Cải tiến thuật tốn tự tương quan tìm cao độ tín hiệu đàn ghi-ta vi xử lý ARM Cortex-M4, Kỷ yếu hội nghị quốc gia lần thứ X Nghiên cứu ứng dụng Công nghệ thông tin (FAIR), 2017 [3] Lê Tiến Thường, Huỳnh Ngọc Phiên, Trần Tiến Đức, Phương pháp trích chu kỳ cao độ trung bình ứng dụng nhận dạng điệu tiếng Việt, Tạp chí Bưu Viễn thơng Cơng nghệ thơng tin, 2003 [4] Lawrence R Rabiner and Ronal W.Schafer , Digital Processing Of Speech Signals, Prentice Hall, 1978 [5] John G Proakis and Dimitris G Manolakis, Digital Signal Processing: Principles, Algorithms & Applications, Prentice Hall, 1995 [6] Vinay K Ingle and John G Proakis, Digital Signal Processing Using MATLAB, Cengage Learning, 2012 [7] Denis Jouvet and Yves Laprie, Performance Analysis of Several Pitch Detection Algorithms on Simulated and Real Noisy Speech Data, 25th European Signal Processing Conference (EUSIPCO), 2017 [8] Alain de Cheveigne and Hideki Kawahara, Comparative evaluation of F0 estimation algorithms, Eurospeech, 2001 [9] Duy Khanh Ninh and Yoichi Yamashita, F0 Parameterization of Glottalized Tones in HMM-Based Speech Synthesis for Hanoi Vietnamese, IEICE TRANS INF & SYST., 2015 56 ... tiếng nói Việc xác định tần số tín hiệu tiếng nói ứng dụng lĩnh vực tổng hợp tiếng nói nhận dạng tiếng nói Để tìm tần số tín hiệu tiếng nói, tơi sử dụng hàm tự tương quan tính đơn giản hiệu thuật... tính tần số tín hiệu tiếng nói hàm tự tương quan sở để tiến hành nghiên cứu khác lĩnh vực xử lý tiếng nói Từ khố – dị tìm tần số bản; hàm tự tương quan; lọc (làm trơn) trung vị; tín hiệu tiếng nói; ... F0 dùng hàm tự tương quan tính đơn giản lý thuyết cài đặt thực tế Thuật toán thử nghiệm tín hiệu tiếng nói [9] tín hiệu âm nhạc [2] cho thấy hiệu 16 CHƯƠNG 2: TÍNH TẦN SỐ CƠ BẢN DÙNG HÀM TỰ TƯƠNG