PHÂN ĐOẠN TÍN HIỆU (TRÊN MIỀN THỜI GIAN) THÀNH TIẾNG NÓI VÀ KHOẢNG LẶNG DỰA TRÊN VIỆC áp DỤNG THUẬT TOÁN CHUẨN HOÁ VÀ TÍNH NĂNG LƯƠNG NGẮN HẠN STE(10 điểm))

22 199 0
PHÂN ĐOẠN TÍN HIỆU (TRÊN MIỀN THỜI GIAN) THÀNH TIẾNG NÓI VÀ KHOẢNG LẶNG DỰA TRÊN VIỆC áp DỤNG THUẬT TOÁN CHUẨN HOÁ VÀ TÍNH NĂNG LƯƠNG NGẮN HẠN STE(10 điểm))

Đ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

bài thực hành 1 : Phân đoạn tín hiệu thành tiếng nói và khoảng lặng ( đại học bách khoa) PHÂN ĐOẠN TÍN HIỆU (TRÊN MIỀN THỜI GIAN) THÀNH TIẾNG NÓI VÀ KHOẢNG LẶNG DỰA TRÊN VIỆC ÁP DỤNG THUẬT TOÁN CHUẨN HOÁ VÀ TÍNH NĂNG LƯƠNG NGẮN HẠN STE

Báo cáo tập lớn môn học Xử lý tín hiệu số, HK1 năm học 2019-2020 PHÂN ĐOẠN TÍN HIỆU (TRÊN MIỀN THỜI GIAN) THÀNH TIẾNG NÓI VÀ KHOẢNG LẶNG DỰA TRÊN VIỆC ÁP DỤNG THUẬT TOÁN CHUẨN HOÁ VÀ TÍNH NĂNG LƯƠNG NGẮN HẠN STE (10 điểm kèm source code + hướng dẫn chi tiết) Nhóm X, lớp HP: X Điểm Bảng phân cơng nhiệm vụ Chữ ký SV (mỗi SV ký xác nhận trước nộp báo cáo) LỜI CAM ĐOAN: Chúng tơi, gồm sinh viên có chữ ký trên, cam đoan báo cáo tự viết dựa tài liệu tham khảo liệt kê cuối báo cáo Các số liệu thực nghiệm mã nguồn chương trình khơng dẫn nguồn tham khảo tự làm Nếu vi phạm chúng tơi xin chịu trách nhiệm tn theo xử lý giáo viên hướng dẫn TÓM TẮT— Phân đoạn tín hiệu thành tiếng nói khoảng lặng toán cần thiết ứng dụng thực tiễn ngày nhầm cung cấp dịch vụ tốt cho đời sống công trình nghiên cứu tín hiệu âm Bài báo cáo thực việc phân đoạn tín hiệu thành khoảng lặng tiếng nói phương pháp chia nhỏ tín hiệu chuẩn hố lượng tín hiệu dựa việc xử lí thử nghiệm với file tín hiệu với mơi trường khác phòng lab phòng thu studio bao gồm : lab_male.wav, lab_female.wav, studio_male.wav, studio_female.wav Từ kết việc xử lí cho ta thấy độ hiệu thuật tốn sát với mơi trường thực nghiệm Nhóm , lớp HP: I ĐẶT VẤN ĐỀ .3 II LÝ THUYẾT XỬ LÝ TÍN HIỆU TIẾNG NĨI VÀ CÁC THUẬT TỐN A Tiếng nói biểu diễn tiếng nói dạng tín hiệu  Định nghĩa âm  Biểu diễn âm tiếng nói dạng tín hiệu B Xử lí tốn a) Các thuật toán áp dụng Chia nhỏ tín hiệu thành khung có độ dài 10ms Tính lượng ngắn hạn (Short-Term Energy) Thuật toán chuẩn hố tín hiệu phương pháp phân phối chuẩn tắc Thuật tốn chuẩn hố tín hiệu chuẩn hoá theo giá trị [0,1] (min, max) b) Sơ đồ khối chương trình xử lí tốn III MÃ CHƯƠNG TRÌNH CÀI ĐẶT CÁC THUẬT TOÁN A Thuật tốn chuẩn hố tín hiệu chuẩn hoá theo giá trị [0,1] .6 B Thuật tốn chuẩn hố tín hiệu phương pháp phân phối chuẩn tắc IV KẾT QUẢ THỰC NGHIỆM 12 Kết 12 A Thuật toán chuẩn hố tín hiệu phương pháp phân phối chuẩn tắc 12 B Thuật tốn chuẩn hố tín hiệu chuẩn hố theo giá trị [0,1] .15 Bảng biểu kết 19 A Kết tính sai số RMSE sử dụng thuật toán chuẩn hoá tín hiệu chuẩn hố chuẩn tắc 19 B Kết tính sai số RMSE sử dụng thuật tốn chuẩn hố tín hiệu chuẩn hố theo giá trị [0,1] 20 V KẾT LUẬN 21 VI TÀI LIỆU THAM KHẢO 21 I ĐẶT VẤN ĐỀ Ngày nay, nhờ vào cơng cách mạng 4.0, tiếng nói khơng đơn công cụ giao tiếp người, mà tiếng nói cịn đem xử lí để áp dụng cho ứng dụng trí tuệnhân tạo xử lí giọng nói nhầm nâng cao đời sống người Tuy nhiên tín hiệu âm khơng tiếng nói mà cịn xen lẫn vào khoảng lặng tạp âm gây nhiễu làm cho việc phân biệt đâu tiếng nói đâu tạp âm hay khoảng lặng cần loại bỏ toán cần giải Bài báo cáo này, chúng tơi đưa phương pháp xử lí phân biệt tiếng nói khoảng lặng phương pháp chia nhỏ tín hiệu âm mẫu có độ dài tín hiệu 10ms kết hợp việc tính tốn lương thành phần tín hiệu sau chia nhỏ để tìm ngưỡng chung để phân biệt tiếng nói khoảng lặng Bài báo cáo có bố cục sau: Phần II trình bày sở lý thuật toán vấn đề liên quan đến việc phân đoạn tiếng nói dựa việc chia nhỏ tín hiệu đoạn có độ dài 10ms tính lương tín hiệu, từ tìm ngưỡng lương để phân biệt tiếng nói khoảng lặng Phần III trình bày mã nguồn cài đặt thuật toán Phần IV trình bày kết thực nghiệm mơ tả liệu dùng để đánh giá độ xác thuật tốn, đưa đánh giá định tính định lượng, so sánh thuật toán cài đặt với Phần V trình bày kết luận, tóm lại kết đạt đề xuất hướng phát triển cải thiện tương lai II LÝ THUYẾT XỬ LÝ TÍN HIỆU TIẾNG NÓI VÀ CÁC THUẬT TỐN A Tiếng nói biểu diễn tiếng nói dạng tín hiệu  Định nghĩa âm Là dao động học (biến đổi vị trí qua lại) phân tử, nguyên tử hay hạt làm nên vật chất lan truyền vật chất sóng Âm thanh, giống nhiều sóng, đặc trưng tần số, bước sóng, chu kỳ, biên độ vận tốc lan truyền (tốc độ âm thanh) Đối với thính giác người, âm thường dao động, dải tần số từ khoảng 16 Hz đến khoảng 20 000 Hz, phân tử không khí, lan truyền khơng khí, va đập vào màng nhĩ, làm rung màng nhĩ kích thích não Tuy nhiên âm định nghĩa rộng hơn, tuỳ vào ứng dụng, bao gồm tần số cao hay thấp tần số mà tai người nghe thấy, khơng lan truyền khơng khí mà cịn truyền vật liệu Trong định nghĩa rộng này, âm sóng học theo lưỡng tính sóng hạt vật chất, sóng coi dịng lan truyền hạt phonon, hạt lượng tử âm Và thực chất tiếng nói âm Nhóm , lớp HP:  Biểu diễn âm tiếng nói dạng tín hiệu Tín hiệu tiếng nói tín hiệu tương tự, biểu diễn tín hiệu tiếng nói mơi trường tính tốn tín hiệu số, việc biểu diễn lưu trữ cho không bị mát thông tin vấn đề quan trọng hệ thống thông tin sử dụng tiếng nói Việc xem xét vấn đề xử lý tín hiệu tiếng nói hệ thống dựa ba vấn đề chính: - Biểu diễn tín hiệu tiếng nói dạng số - Cài đặt kỹ thuật xử lý tinh vi - Các lớp ứng dụng dựa kỹ thuật xử lý số tín hiệu Để áp dụng phương pháp xử lý tín hiệu số cho tín hiệu tiếng nói phải biểu diễn tín hiệu tiếng nói dạng rời rạc Biểu diễn tín hiệu tiếng nói Biểu diễn dạng Biểu diễn dạng sóng tham số Các tham số kích Các tham số thước máy B Xử lí tốn a) Các thuật toán áp dụng Chia nhỏ tín hiệu thành khung có độ dài 10ms Từ tín hiệu lấy được, ta chia tín hiệu thành khung(frames) khơng chồng lên nhau, khung(frames) có độ dài 10ms Từ khung chia được, ta thu số lượng mẫu khung(được dùng để tính lượng ngắn hạn) Tính lượng ngắn hạn (Short-Term Energy) Sau chia nhỏ tín hiệu, ta tiếp tục tính lượng ngắn hạn khung nhờ vào công thức ∑ N =N rk Ek = x [ N ]2 N=N lk Trong : Ek : lượng khung thứ k Nlk : vị trí mẫu khung thứ k Nrk : vị trí mẫu cuối khung thứ k Thuật toán chuẩn hố tín hiệu phương pháp phân phối chuẩn tắc Vì dải biên độ tín hiệu có giá trị khác khó xác định ngưỡng chung ta áp dụng thuật tốn chuẩn hoá chuẩn tắc để chuẩn hoá dải biên độ mà không phụ thuộc vào dải rộng biên độ Phân phối chuẩn phân phối xác suất quan trọng toán thống kê, phản ánh giá trị mức độ phân bố liệu nghiên cứu Enorm= E−E´ σ E Trong đó: X biên chuẩn σ độ lệch tiêu chuẩn E E´ giá trị trung bình hàm E Thuật tốn chuẩn hố tín hiệu chuẩn hố theo giá trị [0,1] (min, max) Vì dải biên độ tín hiệu có giá trị khác khó xác định ngưỡng chung ta áp dụng thuật toán chuẩn hoá theo giá trị min, max để chuẩn hố dải biên độ mà khơng phụ thuộc vào dải rộng biên độ Enorm= E−Emin Emax−Emin Trong : Emin : giá trị nhỏ lương Emax: giá trị lớn lượng b) Sơ đồ khối chương trình xử lí tốn Nhóm , lớp HP: III MÃ CHƯƠNG TRÌNH CÀI ĐẶT CÁC THUẬT TOÁN A Thuật tốn chuẩn hố tín hiệu chuẩn hoá theo giá trị [0,1] clear all; % - lab_female.wav %doc va xu li du lieu tu file [x,F] = audioread('lab_female.wav');% doc file time = length(x)/F; %thoi gian cua tin hieu T = 1/F; % Chu ki nx= 0:T:time-T; % dai thoi gian cua tin hieu y = [-1 1];% truc y % cau a ) chia tin hieu cac khung co dai 0.01s %chia tin hieu cac khung frames = devideFrames( time); % cau b) tinh nang luong ngan han cua tin hieu o moi khung % tinh so luong mau moi khung duoc chia o cau a samples = devideSampleInFrames(x, frames); %tinh nang luong ngan han cua tin hieu o moi khung E = calcEnergy(x, samples, frames);% nang luong ngan han cua tin hieu cua tin hieu % ve ham nang luong nE = 1:1:length(E);% dai cua ham nang luong subplot(311); plot(nE,E); title('Ham nang luong E') % cau c) tim bien chuan cua doan TN&KL nho vao dai bien tren cong cu wavesurfer bound = [0.01 0.697 1.21 1.954 2.46 3.431 3.854 4.65 5.125 6.075 6.478 7.114 7.818 9.53]; subplot (312); plot(nx,x); title('Bien chuan cua tin hieu bang cong cu wavesurfer'); for i=1:length(bound) a=[bound(i) bound(i)]; line(a,y,'Color','red','LineStyle',' '); end % cau d) tim nguong nang luong chuan hoa va bien chuan cua doan TN&KL nho vao chuan hoa nang luong % logarit co so 10 ham nang luong Elog = log10(E); Enormalize = nomalizeEnergy(Elog);% chuan hoa Estandardnormalize = standardnormalizeEnergy(Elog);% chuan hoa phan phoi chuan tac N(0,1) thresholds = 0.57;% nguong nang luong %tim bien cua tieng noi va khoang lang cua nang luong da duoc chuan hoa voi nguong nang luong thresholds boundNorm = findBoundnorm(Enormalize,thresholds); subplot(313); plot(nx,x); title('Bien chuan hoa bang chuan hoa nang luong'); for i = : length(boundNorm) line([boundNorm(i) boundNorm(i)],y,'Color','red','LineStyle',' '); end %tinh sai so RMSE rmse = calcRMSE(bound, boundNorm); % Cac ham cua chuong trinh % tạo riêng function bỏ code function % Ham duoc su dung cau a %ham chia khung function [ frames ] = devideFrames( time ) z = mod(time,0.01);% tim dai cua khung cuoi cung Nhóm , lớp HP: frames = linspace(0,time-z,round((time - z)/0.01));% n-1 khung dau tien la 0.01s va khung cuoi cung thu n co t20) % neu dai cua khoang lang > 20 (tuong duong voi 200ms) boundNorm = [boundNorm unvoice(temp) unvoice(i)]; % them cac gia tri bien vao mang boundNorm temp = i+1; else temp = i+1; end end if ( i == length(unvoice)-1) boundNorm = [boundNorm unvoice(temp) unvoice(i)]; % them cac gia tri bien cuoi vao mang boundNorm end end boundNorm = boundNorm.*0.01; % quy doi ve dai luong thoi gian end B Thuật tốn chuẩn hố tín hiệu phương pháp phân phối chuẩn tắc clear all; % - lab_female.wav %doc va xu li du lieu tu file [x,F] = audioread('lab_female.wav');% doc file time = length(x)/F; %thoi gian cua tin hieu T = 1/F; % Chu ki nx= 0:T:time-T; % dai thoi gian cua tin hieu y = [-1 1];% truc y % cau a ) chia tin hieu cac khung co dai 0.01s %chia tin hieu cac khung frames = devideFrames( time); % cau b) tinh nang luong ngan han cua tin hieu o moi khung % tinh so luong mau moi khung duoc chia o cau a samples = devideSampleInFrames(x, frames); %tinh nang luong ngan han cua tin hieu o moi khung 10 Nhóm , lớp HP: E = calcEnergy(x, samples, frames);% nang luong ngan han cua tin hieu cua tin hieu % ve ham nang luong nE = 1:1:length(E);% dai cua ham nang luong subplot(311); plot(nE,E); title('Ham nang luong E') % cau c) tim bien chuan cua doan TN&KL nho vao dai bien tren cong cu wavesurfer bound = [0.01 0.697 1.21 1.954 2.46 3.431 3.854 4.65 5.125 6.075 6.478 7.114 7.818 9.53]; subplot (312); plot(nx,x); title('Bien chuan cua tin hieu bang cong cu wavesurfer'); for i=1:length(bound) a=[bound(i) bound(i)]; line(a,y,'Color','red','LineStyle',' '); end % cau d) tim nguong nang luong chuan hoa va bien chuan cua doan TN&KL nho vao chuan hoa nang luong % logarit co so 10 ham nang luong Elog = log10(E); Enormalize = nomalizeEnergy(Elog);% chuan hoa Estandardnormalize = standardnormalizeEnergy(Elog);% chuan hoa phan phoi chuan tac N(0,1) thresholds = 0.5;% nguong nang luong %tim bien cua tieng noi va khoang lang cua nang luong da duoc chuan hoa voi nguong nang luong thresholds boundNorm = findBoundnorm(standardnormalizeEnergy,thresholds); subplot(313); plot(nx,x); title('Bien chuan hoa bang chuan hoa nang luong'); for i = : length(boundNorm) line([boundNorm(i) boundNorm(i)],y,'Color','red','LineStyle',' '); end %tinh sai so RMSE rmse = calcRMSE(bound, boundNorm); % Cac ham cua chuong trinh % tạo riêng function bỏ code function % Ham duoc su dung cau a %ham chia khung function [ frames ] = devideFrames( time ) z = mod(time,0.01);% tim dai cua khung cuoi cung frames = linspace(0,time-z,round((time - z)/0.01));% n-1 khung dau tien la 0.01s va khung cuoi cung thu n co t20) % neu dai cua khoang lang > 20 (tuong duong voi 200ms) 12 Nhóm , lớp HP: boundNorm = [boundNorm unvoice(temp) unvoice(i)]; % them cac gia tri bien vao mang boundNorm temp = i+1; else temp = i+1; end end if ( i == length(unvoice)-1) boundNorm = [boundNorm unvoice(temp) unvoice(i)]; % them cac gia tri bien cuoi vao mang boundNorm end end boundNorm = boundNorm.*0.01; % quy doi ve dai luong thoi gian end IV KẾT QUẢ THỰC NGHIỆM Mô tả liệu dùng để đánh giá độ xác thuật tốn, đưa đánh giá định tính định lượng, so sánh thuật toán cài đặt với với cài đặt (hoặc thuật toán) khác Kết A Thuật toán chuẩn hoá tín hiệu phương pháp phân phối chuẩn tắc  File lab_female.wav 13  File lab_male.wav 14 Nhóm , lớp HP:  File studio_male.wav 15  File studio_female.wav 16 Nhóm , lớp HP: B Thuật tốn chuẩn hố tín hiệu chuẩn hố theo giá trị [0,1]  Kết với file lab_female.wav 17  Kết với file lab_male.wav 18 Nhóm , lớp HP:  Kết file studio_male.wav 19  Kết file studio_female.wav 20 Nhóm , lớp HP: Bảng biểu kết A Kết tính sai số RMSE sử dụng thuật tốn chuẩn hố tín hiệu chuẩn hoá chuẩn tắc  File lab_female.wav xi 0.0 0.6 1.2 1.9 2.4 3.4 3.8 4.6 5.1 6.0 6.4 7.1 7.8 9.53 97 54 31 54 25 75 78 14 18 31 yi 0.0 0.7 1.1 1.9 2.4 3.4 3.8 4.6 5.1 6.1 6.4 7.1 7.8 9.53 67 76 61 6 √N RMSE ( X , Y )= ∑ ( Xi−Y i)2 = 0.0271 N i=1  File lab_male.wav xi 0.0 0.9 1.2 2.3 4.0 4.4 6.7 7.0 8.1 8.3 9.5 9.9 11.2 27 55 88 03 01 24 04 70 31 43 49 yi 0.0 0.9 1.3 2.3 4.1 4.4 6.7 7.0 7.7 8.4 9.6 9.9 11.2 3 73 4 6 2 ... đề xuất hướng phát triển cải thiện tương lai II LÝ THUYẾT XỬ LÝ TÍN HIỆU TIẾNG NÓI VÀ CÁC THUẬT TOÁN A Tiếng nói biểu diễn tiếng nói dạng tín hiệu  Định nghĩa

Ngày đăng: 01/01/2021, 13:49

Hình ảnh liên quan

2. Bảng biểu kết quả - PHÂN ĐOẠN TÍN HIỆU (TRÊN MIỀN THỜI GIAN) THÀNH TIẾNG NÓI VÀ KHOẢNG LẶNG DỰA TRÊN VIỆC áp DỤNG THUẬT TOÁN CHUẨN HOÁ VÀ TÍNH NĂNG LƯƠNG NGẮN HẠN STE(10 điểm))

2..

Bảng biểu kết quả Xem tại trang 20 của tài liệu.

Mục lục

    II. LÝ THUYẾT XỬ LÝ TÍN HIỆU TIẾNG NÓI VÀ CÁC THUẬT TOÁN

    A. Tiếng nói và biểu diễn tiếng nói dưới dạng tín hiệu

    Biểu diễn âm thanh tiếng nói dưới dạng tín hiệu

    B. Xử lí bài toán

    a) Các thuật toán áp dụng

    3. Thuật toán chuẩn hoá tín hiệu bằng phương pháp phân phối chuẩn tắc

    4. Thuật toán chuẩn hoá tín hiệu bằng chuẩn hoá theo giá trị [0,1] (min, max)

    b) Sơ đồ khối chương trình xử lí bài toán

    III. MÃ CHƯƠNG TRÌNH CÀI ĐẶT CÁC THUẬT TOÁN

    A. Thuật toán chuẩn hoá tín hiệu bằng chuẩn hoá theo giá trị [0,1]

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

Tài liệu liên quan