bài tập lớn phân tích giọng nói bằng matlab

27 702 34
bài tập lớn phân tích giọng nói bằng matlab

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tần số pitch và formant là các đặc trưng cơ bản nhất của tiếng nói, do đó nếu phân tích, tìm được các tần số này sẽ giúp cho việc số hóa tín hiệu tiếng nói được dễ dàng hơn, là cơ sở để xây dựng nên các lĩnh vực của xử lí tiếng nói như nhận dạng tiếng nói, tăng chất lượng tiếng nói, mã hóa tiếng nói, tổng hợp tiếng nói,…

I.Phân tích tần số pitch formant âm vị 1.1 Khái quát tần số pitch formant Khái niệm tần số pitch: Khơng khí tạo từ phổi đẩy qua dây trạng thái trương Khi dây rung với chu kì T thơng lượng biến đổi tuần hồn theo chu kì người ta gọi chu kì Giá trị nghịch đảo F0 = T0 T0 gọi tần số tiếng nói F phụ thuộc vào giới tính lứa tuổi người phát âm; F0 thay đổi theo điệu F0 ảnh hưởng đến ngữ điệu câu nói Khái niệm tần số formant: Tuyến âm coi hốc cộng hưởng có tác dụng tăng cường tần số Những tần số tăng cường gọi Formant Mục đích việc tìm pitch formant: Tần số pitch formant đặc trưng tiếng nói, phân tích, tìm tần số giúp cho việc số hóa tín hiệu tiếng nói dễ dàng hơn, sở để xây dựng nên lĩnh vực xử lí tiếng nói nhận dạng tiếng nói, tăng chất lượng tiếng nói, mã hóa tiếng nói, tổng hợp tiếng nói,… 1.2 Phân tích tần số pitch âm vị Ở đây, sử dụng hai file âm ghi âm giọng nói hai chúng em (Hùng Tường) với nội dung ghi âm là: “Đồng Xuân Hùng” Các bước thực hiện: 1.2.1 Sử dụng hàm resample MATLAB để cài đặt lại tần số lấy mẫu 10000(HZ) 1.2.2 Biểu diễn tín hiệu âm theo thời gian Đồ thị biểu diễn tín hiệu âm ghi âm giọng nói Hùng: Đồ thị biểu diễn tín hiệu âm ghi âm giọng nói Tường: 1.2.3 Phân tích tần số pitch miền tần số Phương pháp phân tích tần số pitch miền tần số: • • Sử dụng đảo tần phổ, tức biến đổi fourier logarit phổ tần tín hiệu Xem phổ tần tín hiệu ban đầu tín hiệu đem vào xử lí để tìm chu kì Để nhận ước lượng tần số pitch từ đảo tần phổ, tìm kiếm đỉnh tín hiệu trục nghịch tần (quefrency), tương ứng với tần số X ( jω ) = • Cơng thức biến đổi fourier tổng quát: +∞ ∫ x(t ) * e − jωt dt −∞ Thực Matlab: Dựa vào hai đồ thị trên, phần ghi âm Hùng, ta trích phần âm chữ “Đồng” với n= [10500 11500] Ở phần ghi âm Tường, ta trích phần âm chữ “Đồng” với n= [16000 17000] Sau thực Matlab kết thu được: - Phần ghi âm Hùng: Fpitch_hung=122.0 Hz - Phần ghi âm Tường Fpitch_tuong=138.9 Hz Giải thích kết thu được: • • • Dựa vào đồ thị trên, ta thấy trích đoạn tiếng nói tín hiệu tiếng nói gần tín hiệu tuần hồn, mục đích ta phải tìm chu kì tuần hồn nhỏ Việc phân tích phổ logarit phổ tín hiệu cho ta đồ thị thứ ba thể cực đại tần số ứng với thời gian 1/f_pitch tương ứng, lấy nghịch đảo thời gian ta thu tần số Những việc làm thể rõ chương trình tìm pitch MATLAB 1.2.4 Phân tích tần số pitch miền thời gian Phương pháp phân tích tần số pitch miền thời gian: • • Sử dụng phương pháp tự tương quan, đo độ tương tự hai tín hiệu tự tương quan đo độ tương tự biến đổi theo thời gian Hệ số tương quan khoảng thời gian ngắn đoạn tín hiệu RXX (τ ) = +∞ ∫ x(t ) * x(t − τ )dt τ x(t) với là: với độ trễ thời gian Đối với tín hiệu tiếng nói xét, ta tự tương quan với độ trễ khác nhau, sau dựa vào đồ thị hệ số tương quan, tìm đỉnh có hệ τ số tương quan lớn trừ trường hợp =0 từ suy tần số −∞ • Thực Matlab: Trích phần âm chữ “Đồng” tương tự phần Thực Matlab ta thu kết quả: - Phần ghi âm Hùng: Fpitch_hung=122.0 Hz - Phần ghi âm Tường: Fpitch_tuong=138.9 Giải thích kết thu được: • • τ τ =0 Khi sử dụng hàm tự tương quan với độ trễ khác nhau, τ ta có hệ số tương quan cực đại, tăng hệ số tương quan giảm τ =T lại đạt cực đại ,từ sở ta xây dựng đồ thị biểu diễn hệ số tương quan tương ứng vớ độ trễ thời gian Hệ số tương quan lớn chứng tỏ thời gian trễ đó, tín hiệu gần τ =0 lặp lại so với , thời gian trễ chu kì tuần hồn ngắn tín hiệu, lấy nghịch đảo thời gian ta thu tần số • Việc làm thể rõ chương trình tính tần số pitch miền thời gian xây dựng MATLAB 1.2.5 Nhận xét kết thu từ hai phương pháp tính tần số pitch • Kết tần số pitch thu từ hai phương pháp nhau, chứng tỏ độ xác cao hai phương pháp tính tần số pitch 1.2.6 Phân tích tần số formant hai âm vị Phương pháp thực hiện: Sử dụng phương pháp dự đốn tuyến tính (mơ hình LPC), chất lọc cấu trúc IIR đệ quy, sau tìm tần số cộng hưởng lọc Cơ sở phương pháp dự đốn tuyến tính mẫu tiếng nói xấp xỉ hóa tổ hợp tuyến tính số mẫu khứ, cách tối thiểu hóa tổng bình phương phương sai mẫu tín hiệu tiếng nói mẫu dự đốn tuyến tính, từ thu tập hợp tham số dự đốn LPC tìm hệ số a dự báo tuyến tính theo công thức: x$(n) = −a (2) x(n − 1) − a (3) x (n − 2) − − a ( p + 1) x( n − p) Ứng dụng MATLAB để xây dựng chương trình ước lượng tần số formant, MATLAB trang bị hàm có sẵn LPC, giúp thuận lợi việc xây dựng chương trình Kết thu được: - Phần ghi âm Hùng: Formant Frequency 674.9 Formant Frequency 1084.8 Formant Frequency 2403.0 Formant Frequency 3341.0 Formant Frequency 3547.5 - Phần ghi âm Tường: Formant Frequency 650.9 Formant Frequency 1059.4 Formant Frequency 2665.9 Formant Frequency 3253.7 Formant Frequency 3900.3 Giải thích kết thu được: Lấy nghịch đảo giá trị thời gian ứng với cực đại cục biểu diễn đồ thị ta thu tần số formant Nhận xét: Ta thấy: dù nam giới, lứa tuổi phát âm tiếng “Đồng” phân tích hai phần ghi âm Hùng Tường ta thu tần số pitch tần số formant khác Điều chứng tỏ tần số pitch formant đặc trưng người Đây lí để ta dùng tần số pitch tần số formant làm sở cho công việc phân tích tiếng nói, mã hóa tiếng nói, nhận dạng tiếng nói, tổng hợp tiếng nói, II.Phân tích tín hiệu trường hợp có nhiễu tạp âm sau lọc nhiễu Tín hiệu tiếng nói tín hiệu khác khơng phải lúc tín hiệu có ích mà thường tín hiệu có chứa tạp âm Nghiên cứu ảnh hưởng tạp âm đến tín hiệu phương pháp để loại bỏ tạp âm vấn đề quan trọng mà lĩnh vự xử lí tín hiệu hướng đến Tần số pitch formant hai đặc trưng tiếng nói, phần nghiên cứu tần số pitch formant tín hiệu bị nhiễu tạp âm gauss sau loại bỏ bớt tạp âm gauss, từ suy ảnh hưởng tạp âm đến việc xử lí tín hiệu tiếng nói 2.1 Phân tích tần số pitch formant tín hiệu sau cộng thêm nhiễu 2.1.1 Đôi nét tạp âm Gauss Tạp âm gauss q trình xác suất có mật độ phổ công suất phẳng (mật độ phổ công suất không đổi tồn q trình) nghĩa tín hiệu nhiễu có cơng suất tồn băng thơng Hàm mật độ xác suất tuân theo phân bố Gauss Trong thực tế, tạp âm gauss dòng điện khơng mong muốn chuyển động nhiệt hạt mang điện mạch điện, với tính chất biên độ tạp âm tuân theo quy luật phân bố chuẩn Tạp âm gaussian nhiễu băng rộng, cộng với tín hiệu có ích tạp âm xuất tồn miền tần số tín hiệu có ích 2.1.2 Thêm tín hiệu nhiễu Trong MATLAB, để tạo tín hiệu nhiễu gaussian, ta sử dụng hàm randn Cộng tín hiệu ban đầu với nhiễu, sau phân tích tần số pitch formant tín hiệu này, sử dụng chương trình tính tần số pitch formant xây dựng phần trước Ta có: Với α y nhieu = ybd + α * randn () xác định từ tỉ số SNR(Tính âm/tạp âm) sau: SNR − Pa SNR = 10log10 ( ) → α = Pa *10 10 α (Pa cơng suất tín hiệu ban đầu, α2 công suất tạp âm) Ở ta thay SRN giá trị: 20,10,5,3,0 2.1.3 Tìm tần số pitch tần số formant sau thêm tín hiệu nhiễu 10 Formant Frequency 2422.2 Formant Frequency 3352.9 Formant Frequency 3905.3 b) Với SRN=10 Tín hiệu âm sau thêm nhiễu: Tìm tần số pitch miền tần số: 13 Fpitch_hung_nhieu10=122.0 Hz Tìm tần số formant: Formant Frequency 657.0 14 Formant Frequency 1076.1 Formant Frequency 2408.8 Formant Frequency 3332.7 Formant Frequency 3942.1 c) Với SRN=5 Tín hiệu âm sau thêm nhiễu: Tìm tần số pitch miền tần số: 15 Fpitch_hung_nhieu5=122.0 Hz Tìm tần số formant: Formant Frequency 645.6 16 Formant Frequency 1068.6 Formant Frequency 2382.1 Formant Frequency 3318.7 Formant Frequency 4004.3 d) Với SRN=3 Tín hiệu âm sau thêm nhiễu: Tìm tần số pitch miền tần số: 17 Fpitch_hung_nhieu3=122.0 Hz Tìm tần số formant: Formant Frequency 648.4 18 Formant Frequency 1073.6 Formant Frequency 2422.8 Formant Frequency 3326.5 Formant Frequency 4293.4 e) Với SRN=0 Tín hiệu âm sau thêm nhiễu: Tìm tần số pitch miền tần số: 19 Fpitch_hung_nhieu0=122.0 Hz Tìm tần số formant: Formant Frequency 641.7 Formant Frequency 1065.4 20 Formant Frequency 2381.9 Formant Frequency 3344.2 Formant Frequency 4415.0 Formant Formant Formant Formant Formant Ban đầu 674.9 1084.8 2403.0 3341.0 3547.5 SRN=20 SRN=10 SRN=5 SRN=3 SRN=0 658.5 1078.3 2422.2 3352.9 3905.3 648.4 1073.6 2422.8 3326.5 4293.4 641.7 1065.4 2381.9 3344.2 4415.0 657.0 1076.1 2408.8 3332.7 3942.1 645.6 1068.6 2382.1 3318.7 4004.3 2.1.4 Nhận xét Nhận xét kết thu được: • • • • Ta thấy tỉ số SRN nhỏ, công suất nhiễu lớn, tín hiệu âm bị biến dạng nhiều Do cơng việc khơi phục tín hiệu khó thực Sau cộng thêm nhiễu tần số pitch tín hiệu khơng thay đổi tạp âm gauss tạp âm băng rộng, ảnh hưởng đến tồn tín hiệu, khơng ảnh hưởng đến thay đổi chu kì tuần hồn tín hiệu, tần số khơng thay đổi Tần số formant đoạn tín hiệu sau cộng thêm nhiễu thay đổi so với tần số formant tín hiệu ban đầu Vì tần số formant cực trị địa phương phổ tần số tín hiệu tiếng nói, tần số có biên độ cộng hưởng thấp có trường hợp biên độ cộng hưởng nhiễu lớn biên độ cộng hưởng này, làm thay đổi vị trí cộng hưởng cục làm thay đổi tần số formant III Phân tích tần số pitch formant sau lọc nhiễu 3.1 Lọc nhiễu Vì tạp âm gauss phân bố toàn miền tần số nên miền tần số tín hiệu có ích có chứa tạp âm, ta khơng thể lọc bỏ hồn tồn tạp âm mà loại bỏ phần tạp âm nằm ngồi tín hiệu có ích Để làm điều này, ta cần phân tích phổ tín hiệu ban đầu để xem lượng tín hiệu tập trung nhiều dải tần số nào, sau dùng lọc phù hợp để lọc bỏ tạp âm Phổ tín hiệu âm ban đầu: 21 Dựa vào phổ tín hiệu ban đầu ta thấy lượng âm tập trung chủ yếu miền tần số [115 1500] [2200 4000] Ta sử dụng lọc FIR Matlab để tiến hành loại bỏ tạp âm Trong trường hợp ta sử dụng file âm thêm nhiễu với số SRN=5 Ta dùng lọc thông dải với cửa sổ Hamming cắt khoảng tần số [115 1500] [2200 4000], bậc lọc 240 Như vậy, phần lớn tín hiệu có ích qua, phần tạp âm bị loại bỏ đáng kể Và đảm bảo âm giữ chất giọng đặc trưng người nói Kết thu được: 22 23 Kết thúc cơng việc lọc nhiễu, ta thấy miền tần số miền tần số tập trung lượng tín hiệu bị loại bỏ Còn miền thời gian, lượng nhiễu giảm bớt, nhiên ảnh hưởng đến phần tín hiệu ban đầu làm méo dạng tín hiệu 3.2 Phân tích tần số pitch formant sau lọc nhiễu 3.2.1 Phân tích tần số pitch Phân tích miền tần số: Kết quả: fpitch_hung_loc=122,0(Hz) 24 -Phân tích miền thời gian: +fpitch_hung_loc=122,0(Hz) 25 3.2.2 Phân tích tần số formant Kết quả: Formant Frequency 650.9 Formant Frequency 1059.4 Formant Frequency 2665.9 Formant Frequency 3253.7 Formant Frequency 3900.3 3.3 Nhận xét • • Tương tự thêm nhiễu, lọc nhiễu tần số pitch khơng thay đổi Vì thực chất việc lọc làm hạn chế bớt phần tạp âm bên miền tần số tập trung nhiều lượng tín hiệu, chu kì tuần hồn đoạn tín hiệu xét không thay đổi nên không làm thay đổi tần số pitch Tần số formant thay đổi so với chưa lọc tạp âm đạt giống âm ban đầu tạp âm khơng loại bỏ hồn tồn, ảnh hưởng đến cộng hưởng cục phổ tần tín hiệu 26 IV Kết luận, rút học Trong nội dung tập lớn này, chúng em có cách nhìn sơ tín hiệu tiếng nói, khái niệm, ý nghĩa tần số pitch tần số formant; biết cách sử dụng phương pháp để tìm tần số pitch tần số formant đặc biệt phương pháp tự tương quan phương pháp mơ hình dự đốn tuyến tính LPC Trong q trình làm, chúng em thấy tần số pitch tần số formant người khác Đây sở để vận dụng vào công việc số hóa tín hiệu tiếng nói, phân tích tiếng nói, nhận dạng tiếng nói tổng hợp tiếng nói Đối với tần số pitch, thêm nhiễu vào tín hiệu âm ban đầu sau lọc nhiễu dễ thấy tần số pitch không thay đổi nhiễu Gauss ảnh hưởng đến toàn miền tần số tín hiệu nên chu kì tuần hồn tín hiệu xét không đổi Đối với tần số formant, thêm nhiễu lọc nhiễu, tần số thay đổi cộng hưởng cục đoạn tín hiệu bị thay đổi Đồng thời, tiến hành lọc nhiễu, ta thấy việc lọc bỏ hoàn tồn nhiễu khơng thể ảnh hưởng đến phần tín hiệu có ích, hạn chế phần tạp âm nói để đảm bảo tín hiệu khơng bị biến dạng nhiều Xử lí tín hiệu lĩnh vực quan trọng ngành khoa học phục vụ đời sống hàng ngày ứng dụng ngành khoa học quân Qua tập lớn này, chúng em có hội tiếp xúc với cơng việc xử lí tiếng nói nói riêng xử lí tín hiệu nói chung Đây cơng việc phức tạp cần phải nắm vận dụng nhiều phương pháp cần phải trau dồi kiến thức để làm sở học tập công tác sau Đặc biệt cần sử dụng thành thạo, ứng dụng linh hoạt thao tác chương trình Matlab để làm tốt công việc 27

Ngày đăng: 26/07/2019, 14:19

Tài liệu cùng người dùng

Tài liệu liên quan