HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG CƠ SỞ TẠI THÀNH PHỐ HỒ CHÍ MINH KHOA KỸ THUẬT ĐIỆN TỬ II BÁO CÁO MÔN HỌC Xử Lý Tiếng Nói NIÊN KHÓA 2017 – 2022 Giáo viên hướng dẫn Th S Hồ Nhựt Minh TP HCM –.
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CƠ SỞ TẠI THÀNH PHỐ HỒ CHÍ MINH
KHOA KỸ THUẬT ĐIỆN TỬ II
BÁO CÁO MÔN HỌC
Xử Lý Tiếng Nói
NIÊN KHÓA: 2017 – 2022
Giáo viên hướng dẫn : Th.S Hồ Nhựt Minh
Trang 2
TP.HCM – Tháng 12 năm 2020
MỤC LỤC
I MỞ ĐẦU 3
II TỔNG QUAN VỀ XỬ LÝ TIẾNG NÓI 3
III BÀI TẬP XỬ LÝ TIẾNG NÓI 4
IV PROJECTS 16
Trang 3I MỞ ĐẦU
Tiếng nói là một phương tiện trao đổi thông tin tiện ích vốn có của conngười.Tiếng nói thường xuất hiện dưới nhiều hình thức mà ta gọi là đàm thoại,việc đàm thoại thể hiện kinh nghiệm của con người đàm thoại là một quá trìnhgồm nhiều người, có sự hiểu biết chung và một nghi thức luân phiên nhau nói.Những người có điều kiện thể chất và tinh thần bình thường thì rất dễ diễn đạttiếng nói của mình, do đó tiếng nói là phương tiện giao tiếp chính trong lúcđàm thoại Tiếng nói có rất nhiều yếu tố khác hỗ trợ nhằm giúp người nghehiểu được ý cần diễn đạt như biểu hiện trên gương mặt, cử chỉ, điệu bộ Vì cóđặc tính tác động qua lại, nên tiếng nói được sử dụng trong nhu cầu giao tiếpnhanh chóng Sự biểu đạt của tiếng nói hỗ trợ mạnh mẽ cho việc ra đời các hệthống máy tính có sử dụng tiếng nói, ví dụ như lưu trữ tiếng nói như là một loại
dữ liệu, hay dùng tiếng nói làm phương tiện giao tiếp qua lại.Ngoài ra có thể sửdụng tiếng nói trong việc thay các thao tác bằng tay để thực hiện công việc.Nhờ có ngôn ngữ tiếng nói mà loài người sống và phát triển xã hội tiến bộ, cóvăn hóa, văn minh như ngày nay
II TỔNG QUAN VỀ XỬ LÝ TIẾNG NÓI
đổi thông tin bằng ngôn ngữ cũng tình cảm của người nói
hiệu, và các phương pháp xử lý những tín hiệu này Tín hiệu tiếng nói thườngđược thể hiện dưới dạng số, tức là được “số hóa”, và do đó, xử lý tiếng nói cóthể được coi là giao của “xử lý tín hiệu số” và “xử lý ngôn ngữ tự nhiên” Lĩnhvực của xử lý tiếng nói rất rộng lớn, ví dụ như:
+ Nhận dạng tiếng nói: chuyển nội dung nói thành tín hiệu đầu vào củamáy tính, giúp cho máy tính có thể xử lý và tương tác được với người nói
+ Nhận dạng người nói: xác minh người nói dựa trên tiếng nói và dữ liệu
+ Tăng chất lượng tiếng nói: nhằm tăng sự cảm nhận của người nghe về
+ Mã hóa tiếng nói: là một dạng của nén dữ liệu, có vai trò quan trọngtrong lĩnh vực viễn thông Ví dụ như trong thể thức truyền tiếng nói qua
Trang 4internet (voIP), việc nén dữ liệu tiếng nói là điều bắt buộc để giảm băng thông
+ Tổng hợp tiếng nói: tạo ra tiếng nói nhân tạo bằng máy tính Tổng hợptiếng nói có vai trò rất quan trong lĩnh vực giao tiếp người máy
1 Trong các cặp âm điệu đưới đây âm điệu nào được xem là to hơn.
2. Tần số pitch (in Mels) nhận được của các âm điệu dưới đây là bao nhiêu
Ta áp dụng công thức chuyển đổi sau:
3. Một tín hiệu đầu vào x(n) xác định trong miền -∞< n <∞ được đi qua một
khối phi tuyến tạo ra tín hiệu đầu ra y(n) =
a Nếu tín hiệu đầu vào có dạng x1[n] = cos(ω0n), -∞< n <∞ xác định phổ
Trang 5đầu ra Y1(ejω), và vẽ đồ thị biên độ của Y1(ejω) (giả sử ω0 << ωs, tần số lấy
b Nếu tín hiệu đầu vào có dạng x2 (n) = cos(n)u(n), | r |<1, vẽ biên độ
của tín hiệu đầu ra Y2() (giả sử << ) và giả sử = 2π.500, r = 0.9 và Fs = 10000Hz
Trang 7H(z)=Y(z)/X(z) =1/1-�
b Tìm hàm đáp ứng xung ngẫu nhiên của hệ thốngĐáp ứng xung ngẫu nhiên của hệ thống là :H(z) =1/1-� => h(n) = u(n)
Chu kỳ của 2 tín hiệu là : T = 1/�=1/200= 5ms
6. Việc tính toán năng lượng ngắn hạn thông qua biểu thức sau
sẽ có giá trị hữu hạn vậy sẽ tồn tại năng lượng En
7. Hàm nào dưới đây không phải là hàm tự tương quan? Tại sao?
a R(τ) = 2, -∞ < � < ∞
Trang 8Có vì R(0) có giá trị lớn nhấtb.R(τ) = |�|, -∞ < � < ∞
Không vì R(0) không phải là giá trị lớn nhất
c R(τ) = (sin�� (��))2, -∞ < � < ∞
Trang 9Có vì R(0) có giá trị lớn nhất
d R(τ) = 2(+4) / +6), -∞ < � < ∞
Không vì R(0) không phải là giá trị lớn nhất
e R(τ) = (0.2 cos(3��) , -∞<�<∞
Trang 10Có vì R(0) có giá trị bằng với giá trị lớn nhất
Trang 11c Tìm và biểu diễn hàm tự tương quan của tín hiệu:
Trang 1311. Quan sát thời tiết trong mỗi ngày (tại thời điểm trưa) và phân loại như
sau: S1:mưa, S2: mây, S3: nắng với xác suất chuyển bậc là:
Trang 14A= [���] =
a Vẽ mô hình Markov
b Giả sử thời tiết ngày đầu tiên là nắng, tìm xác suất để thời tiết cho 7 ngày
c Giả sử mô hình có một trạng thái xác định, tìm xác suất để thời tiết vẫn ở
Gọi Pi là xác xuất giữ 1 trạng thái thời tiết trong d ngày pn xác xuất của
Trang 15thời tiết đó được lặp lại vào ngày hôm sau ta có :
Pi = (pn
12. Xem xét một mô hình Markov ẩn (mô hình λ) của bài toán tung đồng xu.
Giả sử một mô hình 3 trạng thái (tương ứng 3 đồng xu khác nhau) với các xác suất:
Và xác suất chuyển bằng nhau bằng 1/3
(Giả sử xác suất trạng thái đầu tiên là 1/3 )
a Quan sát chuỗi sự kiện O=HHHHTHTTT Chuỗi sự kiện trên tương đươngvới chuỗi trạng thái nào nhất? Xác suất của chuỗi sự kiện quan sát và chuỗi
Xác suất của chuổi sự kiện trên là 1/ = 1/512Xác xuất của chuổi sự kiện trên gần với chuổi trạng thái S2S2S2S2S3S2S3S3S3
IV PROJECTS
1 Đọc ra một file tiếng nói và bộ lọc tín hiệu tiếng nói với băng tần 5.5kHz, 4 kHz và 3.2 kHz (Tự thiết kế các bộ lọc số với tốc độ lấy mẫu chính xác để thực hiện việc này) Lắng nghe mỗi file tiếng nói sau khi được lọc và mô tả ảnh
Trang 16hưởng của việc lọc thông thấp đối với chất lượng và tính dễ hiểu của tiếng nói.
2 Với cùng một nội dung thông tin, các thành viên trong nhóm lần lượt phát
âm một bản tin ngắn và ghi âm Lưu kết quả ở dạng *.wav Xác định tần số cơ bản, tần số Formant đầu tiên của mỗi thành viên Lập bản đồ phân bố của các nguyên âm trong tiếng Việt.
% get a section of vowel
% su dung bo loc du doan tuyen tinh
ncoeff=2+fs/1000; %Cong thuc tinh formant
a=lpc(x,ncoeff);
Trang 17% ve tan so dap ung
% Tim tan so bang roots
r=roots(a); % Tim nghiem nguyen
r=r(imag(r)>0.01); % chi tim >0Hz up to fs/2
4 Tính toán cepstrum phức và thực của các tín hiệu sau:
NFFT=input('Kich thuoc FFT de tinh toan cepstral:');
% tinh toan cepstrum phuc và thuc cua các tin hieu
xhat1=cceps(x1,NFFT); %cepstrum phuc cua tin hieu 1
Trang 18xhat2=cceps(x2,NFFT); %cepstrum phuc cua tin hieu 2
rhat2=rceps(x2); %cepstrum thuc cua tin hieu 2
xhat3=cceps(x3,NFFT); %cepstrum phuc cua tin hieu 3
rhat3=rceps(x3); %cepstrum thuc cua tin hieu 3
% ve dang song, cepstrum phuc, cepstrum thuc cua tin hieu 1
title('cepstrum thuc');
% ve dang song, cepstrum phuc, cepstrum thuc cua tin hieu 2
title('cepstrum thuc');
% ve dang song, cepstrum phuc, cepstrum thuc cua tin hieu 3
Trang 195 Sử dụng phương pháp tổng hợp trực tiếp đơn giản để xây dựng một hệ thống thông báo điểm đỗ xe bus công cộng.
% BAI5 MATLAB code for bai5.fig
% BAI5, by itself, creates a new BAI5 or raises the existing
% singleton*
%
% H = BAI5 returns the handle to a new BAI5 or the handle to
% the existing singleton*
%
% BAI5('CALLBACK',hObject,eventData,handles, ) calls the local
% function named CALLBACK in BAI5.M with the given input arguments
%
% BAI5('Property','Value', ) creates a new BAI5 or raises the
% existing singleton* Starting from the left, property value pairs are
% applied to the GUI before bai5_OpeningFcn gets called An
% unrecognized property name or invalid value makes property application
% stop All inputs are passed to bai5_OpeningFcn via varargin
%
% *See GUI Options on GUIDE's Tools menu Choose "GUI allows only one
% instance to run (singleton)"
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help bai5
% Last Modified by GUIDE v2.5 21-Nov-2020 17:12:24
% Begin initialization code - DO NOT EDIT
Trang 20% End initialization code - DO NOT EDIT
% - Executes just before bai5 is made visible
% This function has no output args, see OutputFcn
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to bai5 (see VARARGIN)
% Choose default command line output for bai5
% - Outputs from this function are returned to the command line
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.output;
Trang 21% - Executes on button press in bt1.
% hObject handle to bt1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% - Executes on button press in bt2
% hObject handle to bt2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
Trang 22set(handles.t1,'string','XE BAT DAU CHAY');
[a, b]=audioread('XEBATDAUCHAY.mp3');
set(handles.t1,'string','TRAM HVCNBCVT');
[a, b]=audioread('TRAMHVCNBCVT.mp3');
set(handles.t1,'string','TRAM CHO THU DUC');
[a, b]=audioread('CHOTHUDUC.mp3');
sound(a,b);
pause(1);
Trang 23set(handles.t1,'string','100M NUA DEN TRAM CUOI');
[a, b]=audioread('100MTRAMCUOI.mp3');
Trang 24set(handles.t1,'string','TRAM CHO THU DUC');
[a, b]=audioread('CHOTHUDUC.mp3');
Trang 25set(handles.t1,'string','100M NUA DEN TRAM HVCNBCVT');
set(handles.t1,'string','TRAM HVCNBCVT');
[a, b]=audioread('TRAMHVCNBCVT.mp3');
sound(a,b);
pause(1);
end
if km2==10
set(handles.t1,'string','100M NUA DEN TRAM CUOI');
[a, b]=audioread('100MTRAMCUOI.mp3');
sound(a,b);
pause(1);
end
if km2==11
set(handles.t1,'string','DA DEN TRAM CUOI HEN GAP LAI QUY KHACH');
[a, b]=audioread('HENGAPLAIQUYKHACH.mp3');
6 Sử dụng phương pháp tổng hợp trực tiếp đơn giản xây dựng một
hệ thống thông báo số thứ tự khách hàng đến lượt được phục vụ tại một điểm giao dịch ngân hàng.
[f fs]=audioread('0.wav');
y0=audioplayer(f,fs);
[f fs]=audioread('1.wav');
y1=audioplayer(f,fs);