ĐẠ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 ĐÀ 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 Hình 2.4 – Tín hiệu (trên) hàm tự tương quan (dưới) âm vô 2.3 Thuật tốn tính F0 Với phân tích phần 2.2, tơi đưa thuật tốn tính F0 khung tín hiệu dựa hàm tự tương quan Hình 2.5: 20 Bắt đầu Một khung tín hiệu tiếng nói Tính hàm tự tương quan theo độ trễ Biên độ cực đại ngưỡng False Khung tín hiệu khơng tuần hồn (âm vơ thanh) True Xác định độ trễ T0 cực đại tìm Khơng xác định F0 Tính F0 = 1/T0 Kết thúc Hình 2.5 – Thuật tốn tìm F0 dùng hàm tự tương quan 21 Thuật toán diễn giải sau Bằng kỹ thuật xử lý ngắn hạn, tín hiệu tiếng nói đầu vào chia nhỏ thành khung tín hiệu ngắn (có độ dài từ 10 ms đến 30 ms) để xử lý Trong luận văn, thực phân khung hàm cửa sổ Hamming [4] Hàm cửa sổ Hamming xác định công thức: w(n) = 0.54 − 0.46 cos(2 n ), N 0nN (2.3) Hình 2.6 – Ví dụ khung tín hiệu có độ dài 662 mẫu (tương đương 15 ms với tần số lẫy mẫu 44100 Hz) Sau tín hiệu cắt thành khung, khung tín hiệu cần phân loại thuộc âm hữu âm vô Nếu khung tín hiệu thuộc âm vơ (nghĩa khung tín hiệu khơng tuần hồn) F0 khơng xác định Nếu khung tín hiệu thuộc âm hữu có giá trị F0 xác định Việc phân loại hữu thanh/vô dựa hàm tự tương quan khung tín hiệu sau: thuật tốn cần xác định điểm cực đại cục có biên độ lớn hàm tự tương quan (trừ điểm cực đại tồn cục vị trí độ trễ =0) Nếu điểm cực đại cục có biên độ lớn tìm có biên độ nhỏ ngưỡng (thường 30% giá trị biên độ điểm cực đại tồn cục [4]) âm vơ thanh, ngược lại âm hữu Nếu khung tín hiệu thuộc âm hữu giá trị độ trễ điểm cực đại có biên độ lớn hàm tự tương quan chu kỳ T0 khung tín hiệu Từ ta xác định F0 khung tín hiệu xét theo cơng thức: F0 = T0 (2.4) Việc chia tín hiệu thành chuỗi khung để xử lý tính F0 dẫn đến kết đường F0 thu có dạng Hình 2.7 với giá trị F0 xác định khung hữu (voiced frames) F0 không xác định khung vơ (unvoiced frames) 22 Hình 2.7 – Ví dụ minh hoạ tín hiệu kết tính F0 2.4 Các tham số quan trọng thuật tốn Phần trình bày tham số quan trọng ảnh hưởng nhiều đến độ xác thuật tốn tự tương quan, độ dài khung tín hiệu ngưỡng xác định hữu thanh/vơ Các tham số khảo sát thực nghiệm phần 3.6 3.8 2.4.1 Độ dài khung tín hiệu Thuật tốn tính F0 dựa hàm tự tương quan có sử dụng kỹ thuật xử lý ngắn hạn (phân tín hiệu thành nhiều khung nhỏ) nên việc chọn loại cửa sổ độ dài cửa sổ thích hợp quan trọng Có nhiều hàm cửa sổ sử dụng kỹ thuật xử lý tín hiệu ngắn hạn: Hamming, Hanning, Blackman, tam giác, chữ nhật [5] Trong luận văn, chọn cửa sổ Hamming tính phổ dụng xử lý tín hiệu tiếng nói [4] Về độ dài cửa sổ, cửa sổ có độ dài từ 10 ms đến 30 ms (để đảm bảo tính chất tín hiệu tiếng nói tương đối ổn định khung tín hiệu) bao gồm chu kỳ liên tiếp tín hiệu điều kiện cần để xác định chu kỳ T0, từ suy F0, tín hiệu Tuy nhiên, cửa sổ chứa q nhiều chu kỳ tín hiệu lại làm cho thuật toán dễ mắc lỗi cao độ ảo [2], giá trị F0 tìm thường gấp đơi (hoặc gấp ba) hay 1/2 (hoặc 1/3) giá trị F0 thực 2.4.2 Ngưỡng xác định hữu thanh/vô Trong thuật tốn tìm F0 dùng hàm tự tương quan, có tham số quan trọng ngưỡng để xác định khung tín hiệu âm hữu hay âm vô Việc tăng giảm ngưỡng ảnh hưởng đến việc xác định âm hữu âm vơ đoạn tín hiệu tiếng nói Nếu ngưỡng đặt thấp, tính F0, khung tín hiệu vơ bị nhầm thành khung tín hiệu hữu Nếu ngưỡng 23 đặt cao, tính F0, khung tín hiệu hữu bị nhầm thành khung tín hiệu vơ Hình 2.8 - Tín hiệu âm vơ bị xác định nhầm thành âm hữu thanh, dẫn đến xác định F0 = 191,2 Hz 0,16 giây Hình 2.9 - 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 24 2.5 Lọc trung vị 2.5.1 Cơ sở lý thuyết Trong hầu hết ứng dụng xử lý tín hiệu, làm trơn tuyến tính sử dụng để loại bỏ thành phần nhiễu tín hiệu Tuy nhiên, với vài ứng dụng xử lý tiếng nói, làm trơn tuyến tính khơng hoạt động hiệu tính chất tín hiệu làm trơn Một ví dụ đường F0 xác định từ tín hiệu tiếng nói khơng chứa giá trị thay đổi cách bất thường (outliers) so với giá trị lân cận (Hình 2.10) mà cịn gián đoạn vùng chuyển tiếp âm vô âm hữu (Hình 2.7) Một lọc tuyến tính thông thấp không kéo giá trị F0 bất thường gần giá trị làm méo đường F0 điểm gián đoạn Trong trường hợp này, kỹ thuật làm trơn phi tuyến lọc trung vị cần thiết Làm trơn trung vị (median smoothing) kỹ thuật lọc phi tuyến sử dụng phổ biến xử lý tín hiệu Nó có ưu điểm loại bỏ giá trị nhảy vọt so với giá trị lân cận mà bảo tồn điểm gián đoạn tín hiệu Giá trị đầu lọc trung vị ứng với giá trị đầu vào x(n), ký hiệu MN[x(n)], giá trị trung vị (median) N giá trị x(n-L), …, x(n),…, x(n+L) (với N=2L+1 số nguyên dương lẻ) Các giá trị trung vị với chiều dài cửa sổ lọc N có tính chất sau [4]: - MN [ x(n)] = MN [x(n)] ; - Các giá trị trung vị không làm nhoè điểm gián đoạn tín hiệu tín hiệu khơng có điểm gián đoạn khác phạm vi N/2 mẫu (nghĩa điểm gián đoạn phải cách đủ xa); - Các giá trị trung vị bám theo, cách gần đúng, xu hướng có dạng đa thức bậc thấp tín hiệu Mặc dù lọc trung vị giữ lại gián đoạn sắc nét tín hiệu, kỹ thuật lại thường khơng loại bỏ hồn tồn thành phần giống nhiễu tín hiệu Khi đó, người ta kết hợp lọc trung vị với lọc thông thấp tuyến tính để tận dụng ưu điểm phương pháp 25 2.5.2 Thuật tốn lọc trung vị Khung tín hiệu đưa vào Duyệt giá trị chưa xét khung tín hiệu Lấy điểm lân cận điểm khung tín hiệu xét đưa vào cửa sổ Sắp xếp giá trị cửa số Tính tốn điểm cửa sổ (Median value) Gán điểm tín hiệu xét giá trị cửa số Nếu cịn tín hiệu để xét khung tín hiệu True False Khung tín hiệu đầu Hình 2.10 – Sơ đồ khối thuật tốn lọc trung vị Trong luận văn, tín hiệu đưa vào thuật toán lọc trung vị chuỗi giá trị F0 tín hiệu tiếng nói xác định thuật toán tự tương quan Việc lọc trung vị áp dụng cho điểm từ đầu đến cuối tín hiệu đầu vào Với kích thước N định sẵn cửa sổ lọc trung vị, N giá trị lân cận bên điểm tín hiệu xét điền vào cửa sổ Sau tính tốn, giá trị trung vị cửa sổ gán cho điểm tín hiệu xét Thuật toán lặp lại kết thúc tín hiệu đầu vào Đối với giá trị F0 gần hai biên cửa sổ lọc trung vị bị thiếu giá trị khơng có đủ N giá trị lân cận bên Để khắc phục điều này, trước tiên bổ sung N/2 giá trị 26 F0 biên trái vào trước chuỗi giá trị F0 bổ sung N/2 giá trị F0 biên phải vào sau chuỗi giá trị F0, sau tơi tiến hành chạy lọc trung vị chuỗi giá trị F0 ban đầu Hình 2.11 – Đường F0 trước (hình trên) sau lọc trung vị (hình dưới) 2.5.3 Kích thước lọc Độ dài N cửa sổ lọc trung vị (cịn gọi kích thước lọc) tham số quan trọng để lọc trung vị hoạt động Nếu kích thước lớn, giá trị tính tốn thu hẹp điểm lỗi gần so với điểm trơn điểm cịn lại Tuy nhiên, kích thước q lớn lọc ảnh hưởng đến tốc độ tính tốn điểm bất thường sửa lỗi Nếu tín hiệu có q nhiều điểm bất thường điểm bất thường cần sửa lỗi khơng có tác dụng sử dụng lọc trung vị Do đó, kích thước cửa sổ lọc cần chọn phải phù hợp với tín hiệu Tham số khảo sát thực nghiệm phần 3.5 2.6 Tổng kết chương Về chất, hàm tự tương quan hàm biến đổi tín hiệu từ miền thời gian sang miền độ trễ Do đó, để tính F0, cần phải có kỹ thuật khác liên quan đến miền độ trễ áp dụng thuật tốn tìm F0 tín hiệu tiếng nói Qua làm cho giá trị F0 tìm xác Để đánh giá thuật tốn hàm tự tương quan việc tính F0 tín hiệu tiếng nói thu được, chương tơi trình bày ứng dụng sử dụng hàm tự tương quan đánh giá hàm tự tương quan phát triển so với cách thủ cơng để tính F0 27 CHƯƠNG 3: TRIỂN KHAI VÀ ĐÁNH GIÁ THUẬT TOÁN 3.1 Mở đầu Trong chương này, tơi tiến hành cài đặt thuật tốn tính F0 dùng hàm tự tương quan Matlab [6] Đồng thời, dùng thuật toán lọc trung vị để làm trơn kết tính F0 nhận từ thuật tốn tự tương quan Để rút kết nhận xét hàm tự tương quan thực tính F0 tín hiệu tiếng nói, tơi cài đặt hai hàm tự tương quan, hàm tự triển khai, hàm thư viện Matlab (hàm xcorr()) Đồng thời, tơi so sánh kết tính F0 tự động thuật tốn với cách đo thủ cơng Để đánh giá độ xác thuật tốn tính F0, người ta thường dùng thước đo gồm: lỗi xác định hữu thanh/vô sai số giá trị F0 [8] Lỗi xác định hữu thanh/vô lại chia thành loại lỗi sau: - Lỗi nhầm hữu thành vơ thanh: tỷ lệ lỗi khung tín hiệu tuần hoàn (ứng với âm hữu thanh) bị xác định nhầm thành khung khơng tuần hồn (ứng với âm vô thanh) - Lỗi nhầm vô thành hữu thanh: tỷ lệ lỗi khung tín hiệu khơng tuần hồn (ứng với âm vô thanh) bị xác định nhầm thành khung tuần hoàn (ứng với âm hữu thanh) Sai số giá trị F0 tính khung tín hiệu xác định thuộc âm hữu thanh, dựa giá trị F0 chuẩn (thường đo phương pháp thủ cơng) giá trị F0 tính tự động thuật toán Tuy nhiên, thước đo đánh giá tập tín hiệu xác định trước khung tín hiệu hữu hay vô thanh, khung hữu F0 có giá trị chuẩn Do không đủ thời gian để xây dựng tập liệu F0 chuẩn cho tín hiệu tiếng nói (ví dụ câu), luận văn khảo sát tín hiệu ngun âm nguyên âm âm hữu giá trị F0 người nói coi thay đổi khơng đáng kể thời gian phát âm Khi đó, sai số thuật tốn tính F0 tín hiệu nguyên âm tính độ lệch tuyệt đối giá trị F0 chuẩn đo thủ công giá trị F0 tự động tính thuật tốn 3.2 Mơi trường phát triển Tơi cài đặt thuật tốn tiến hành thực nghiệm máy tính có cấu hình: - Hệ điều hành: Windows 10 Ultimate x64 - Bộ nhớ trong: 8GB - Bộ vi xử lý: Intel® Core™ i5-6260U CPU @ 1.80GHz Phần mềm sử dụng: Matlab – Phiên R2018a 28 3.3 Dữ liệu thử nghiệm Việc khảo sát tín hiệu nhiều âm nói nhiều người khác cần thiết để đánh giá hiệu thuật tốn Tơi thu thập tín hiệu tiếng nói năm nguyên âm /a/, /e/, /i/, /o/, /u/ điều kiện phòng với ba giọng nam ba giọng nữ người trưởng thành Các tín hiệu thu tần số lấy mẫu 44100 Hz, đơn kênh (mono), lưu file wav theo định dạng PCM Microsoft Hình 3.1 – Tín hiệu nguyên âm /a/ người nam Hình 3.2 – Tín hiệu nguyên âm /a/ người nữ 3.4 Demo ứng dụng Ứng dụng viết phần mềm Matlab với ba chức bản: phần hiển thị sóng âm tín hiệu tiếng nói, phần hiển thị kết tính F0 hàm tự tương quan tự lập trình hàm tự tương quan Matlab, phần cuối kết hàm lọc trung vị liệu F0 thu 29 Hình 3.3 – Giao diện chương trình Để tính giá trị F0 tín hiệu tiếng nói, cần phải mở file cách vào menu File → Open file, sau chọn file tín hiệu tiếng nói Để hiển thị dạng sóng âm tiếng nói, click vào nút “Show waveform” Hình 3.4 – Hiển thị sóng âm tín hiệu tiếng nói Để hiển thị kết tính tốn ứng với hàm tự tương quan tác giả hàm tự tương quan Matlab, click chọn radio button tương ứng “Autocorrelation function (make by author)” “Autocorrelation function (Matlab)” sau click “Show result” để hiển thị kết 30 Để hiển thị kết sau lọc trung vị tính hiệu tiếng nói, click vào nút “Show median smoothing” Hình 3.5 – Kết tính F0 hàm tự tương quan tự cài đặt lọc trung vị Hình 3.6 - Kết tính F0 hàm tự tương quan Matlab lọc trung vị Ngồi ra, ứng dụng cịn có chức khác chức cho phép hiển thị đoạn tín hiệu kết xử lý đoạn tín hiệu hàm tự tương quan ứng với độ dài khung nhập ứng dụng Để thực chức này, cần phải tắt chế độ “data cursor mode” Matlab từ , file âm phải mở Click vào sang 31 nút “Show wave form” để hiển thị đồ thị sóng âm Từ đồ thị, click chuột trái đồ thị để kích hoạt chức Hình 3.7 – Chức xem khung tín hiệu hàm tự tương quan khung 3.5 Khảo sát giá trị kích thước lọc trung vị Trong luận văn, để tính kết xác hơn, tơi sử dụng hàm lọc trung vị để tính kết F0 sau tính hàm tự tương quan Để xác định kích thước lọc N có độ tin cậy cao việc tính F0 tín hiệu tiếng nói, tơi tiến hành khảo sát với N có giá trị 3, 5, Các kích thước lọc khảo sát tín hiệu tiếng nói người nam người nữ âm /a/, /e/, /i/, /o/, /u/ Để khảo sát mang tính đầy đủ hơn, tiến hành khảo sát độ dài khung tín hiệu 15 ms, 20 ms, 30 ms Kết thu độ dài khung 15 ms sau: Tải FULL (78 trang): https://bit.ly/3UMcKec Dự phịng: fb.com/TaiHo123doc.net Tín hiệu /a/ /e/ /i/ /o/ /u/ Đơn vị đo: Hz F0 dùng F0 dùng hàm tự tương quan qua lọc hàm tự Đo trung vị tương quan thủ công Độ Độ Độ Độ F0 N=3 N=5 N=7 lệch lệch lệch lệch 112,0 296,0 184,0 N/A N/A N/A N/A N/A N/A 107,7 230,9 123,2 N/A N/A N/A N/A N/A N/A 117,2 187,2 70,0 N/A N/A N/A N/A N/A N/A 103,2 110,0 6,8 N/A N/A N/A N/A N/A N/A 115,4 337,5 222,1 336,2 220,8 329,7 214,3 N/A N/A Bảng 3.1 – Khảo sát kích thước lọc trung vị với người nam khung tín hiệu 15 ms 32 Đơn vị đo: Hz F0 dùng F0 dùng hàm tự tương quan qua lọc hàm tự Đo trung vị Tín tương quan thủ hiệu cơng Độ Độ Độ Độ F0 N=3 N=5 N=7 lệch lệch lệch lệch /a/ 315,1 325,0 9,9 325,0 10,0 325,1 10,0 325,0 10,0 /e/ 310,7 322,6 12,0 321,9 11,3 322,2 11,5 322,2 11,6 /i/ 334,1 333,7 0,5 333,7 0,4 333,6 0,5 333,6 0,5 /o/ 317,4 320,8 3,4 320,7 3,4 320,7 3,4 320,7 3,3 /u/ 336,7 332,0 4,7 332,0 4,7 331,9 4,8 331,9 4,8 Bảng 3.2 - Khảo sát kích thước lọc trung vị với người nữ khung tín hiệu 15 ms Ở độ dài khung 15ms, tín hiệu người nam thu được, kết hầu hết chưa có giá trị để thực đánh giá Ở bảng 3.7, kết đo âm /u/, độ dài khung 15ms, kết đo F0 không đáng tin Nhưng ngược lại, độ dài khung này, bảng 3.8, kết tín hiệu nữ thu lại có giá trị độ lệch cao 11,6 Hz Trong hầu hết kết đo được, với N = cho thấy kết tốt so với N = N = Với N = N = 7, kết thu không rõ ràng để định kích thước cửa sổ tốt Với độ dài khung 20ms, kết thu sau: Tải FULL (78 trang): https://bit.ly/3UMcKec Dự phòng: fb.com/TaiHo123doc.net Đơn vị đo: Hz F0 dùng F0 dùng hàm tự tương quan qua lọc hàm tự Đo trung vị Tín tương quan thủ hiệu cơng Độ Độ Độ Độ F0 N=3 N=5 N=7 lệch lệch lệch lệch /a/ 112,0 116,7 4,7 116,1 4,1 116,0 4,1 115,2 3,3 /e/ 107,7 138,8 31,2 115,1 7,4 114,8 7,1 114,5 6,8 /i/ 117,2 123,7 6,5 119,4 2,1 118,6 1,4 118,6 1,3 /o/ 103,2 119,9 16,7 114,0 10,8 113,2 10,0 113,1 9,8 /u/ 115,4 127,7 12,3 123,1 7,8 123,1 7,7 123,0 7,6 Bảng 3.3 - Khảo sát kích thước lọc trung vị với người nam khung tín hiệu 20 ms Đơn vị đo: Hz Tín hiệu Đo thủ cơng F0 dùng hàm tự tương quan Độ F0 lệch F0 dùng hàm tự tương quan qua lọc trung vị Độ lệch N=3 33 N=5 Độ lệch N=7 Độ lệch /a/ /e/ /i/ /o/ /u/ 315,1 323,2 8,1 323,1 8,0 323,1 8,1 323,1 8,1 310,7 321,8 11,2 321,9 11,2 321,8 11,1 321,8 11,1 334,1 333,9 0,2 333,9 0,2 333,9 0,2 334,0 0,1 317,4 319,7 2,3 319,4 2,1 319,4 2,0 319,5 2,1 336,7 321,3 15,4 331,2 5,5 331,2 5,5 331,2 5,5 Bảng 3.4 - Khảo sát kích thước lọc trung vị với người nữ khung tín hiệu 20 ms Với độ dài khung tín hiệu 20 ms, cho thấy với N = 7, tín hiệu hàm tự tương quan qua lọc trung vị giọng nam thu tốt Điều thể rõ qua bảng 3.9 giọng nam thu Có số trường hợp N = có độ lệch N = Tuy nhiên, kết khác, N = lại cho kết tốt so với N = Đối với giọng nữ, việc chênh lệch kích thước cửa sổ lọc trung vị không nhiều Nên trường hợp này, khơng thể đánh giá kích thước lọc trung vị tốt Ở khung tín hiệu có chiều dài 30 ms có kết sau: Đơn vị đo: Hz F0 dùng F0 dùng hàm tự tương quan qua lọc hàm tự Đo trung vị Tín tương quan thủ hiệu cơng Độ Độ Độ Độ F0 N=3 N=5 N=7 lệch lệch lệch lệch /a/ 112,0 116,7 4,8 116,5 4,6 114,7 2,8 115,2 3,3 /e/ 107,7 113,0 5,3 112,9 5,2 113,0 5,3 113,3 5,6 /i/ 117,2 114,9 2,3 115,8 1,4 115,8 1,4 114,5 2,7 /o/ 103,2 112,2 8,9 112,0 8,8 111,8 8,5 111,3 8,1 /u/ 115,4 135,1 19,7 134,9 19,5 124,3 9,0 123,5 8,2 Bảng 3.5 - Khảo sát kích thước lọc trung vị với người nam khung tín hiệu 30 ms Đơn vị đo: Hz Tín hiệu /a/ /e/ /i/ /o/ /u/ F0 dùng F0 dùng hàm tự tương quan qua lọc hàm tự trung vị tương quan Độ Độ Độ Độ F0 N=3 N=5 N=7 lệch lệch lệch lệch 315,1 319,7 4,6 319,8 4,7 319,7 4,6 319,7 4,6 310,7 321,5 10,9 321,5 10,9 321,4 10,8 321,5 10,8 334,1 332,0 2,1 332,0 2,1 331,9 2,2 331,9 2,2 317,4 318,5 1,1 318,5 1,1 318,6 1,2 318,3 1,0 336,7 332,8 3,9 332,8 3,9 332,8 3,9 332,8 3,9 Bảng 3.6 - Khảo sát kích thước lọc trung vị với người nữ Đo thủ công 34 7740251 ... 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