1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo môn học xử lý tiếng nói

41 3 0

Đ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

Thông tin cơ bản

Tiêu đề Báo cáo môn học Xử lý tiếng nói
Người hướng dẫn ThS. Hồ Nhựt Minh
Trường học 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
Chuyên ngành Xử lý tiếng nói
Thể loại Báo cáo môn học
Năm xuất bản 2017 – 2022
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 41
Dung lượng 472,47 KB
File đính kèm Code.rar (2 MB)

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 GV Hướng Dẫn ThS Hồ Nhựt Minh I MỞ ĐẦU Tiếng nó.

Trang 1

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

Trang 2

I 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 đàmthoại Tiếng nói có rất nhiều yếu tố khác hỗ trợ nhằm giúp người nghe hiể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ó đặctính tác động qua lại, nên tiếng nói được sử dụng trong nhu cầu giao tiếp nhanhchó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ốngmá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ănhóa, văn minh như ngày nay

Trang 3

II TỔNG QUAN VỀ XỬ LÝ TIẾNG NÓI

- Tiếng nói là một phương tiện giao tiếp cơ bản của con người nhằm traođổi thông tin bằng ngôn ngữ cũng tình cảm của người nói

- Xử lý tiếng nói là sự nghiên cứu tiếng nói của con người dưới dạng tínhiệ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được lưu trữ của máy tính

+ 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ềchất lượng tiếng nói

+ 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 internet(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 đườngtruyền

+ Phân tích giọng nói:được ứng dụng chủ yếu trong y học, nhằm pháthiện ra khuyết tật hay vấn đề của dây thanh âm, thanh quản, v.v…

+ Định vị nguồn âm thanh: xử lý tín hiệu tiếng nói để xác định vị trí củanguồn phát ra âm Nó được ứng dụng trong hội nghị hình thoại(videoconference), khi vị trí người nói trong hội nghị được xác định, máy ghihình được lập trình sẽ tự động quay đến vị trí đó và gửi hình ảnh đi Ngoài ra

Trang 4

định vị nguồn âm thanh còn có ứng dụng trong các kỹ thuật tăng chất lượngtiếng nói, trong theo dõi an ninh, v.v…

+ 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

III: THỰC HIỆN MÔ PHỎNG PROJECT BẰNG PHẦN MỀM MATLAB

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 hưở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

[x,Fs]=audioread('Nhom1.wav'); % load file am thanh

X=fft(x); %bien doi Fourier khong nam o trung tam

N=length(x); %Xac dinh kich thuoc cua x

a = 3200; %tan so cat

w1 = (-N/2+1:(N/2)); % Vector tan so trung tam

w = w1.*Fs/N; % LAY MOT TAN SO MAU

H = a./(a + 1i*w); %H nam o trung tam

Hshift = fftshift(H); %H khong nam o trung tam

Y = X *Hshift' ; % loc tin hieu

y = real(ifft(Y));

sound(x,Fs); % am thanh goc

sound(y,Fs); % am thanh sau khi qua bo loc thong thap

Trang 5

title('Tin hieu loc');

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

Trang 6

%lay các giá tri thoa mãn dieu kien trong ngoac

timerange = t(t>=2e-3 & t<=10e-3);

cepsrange = c(t>=2e-3 & t<=10e-3);

timerange1 = t1(t>=2e-3 & t<=10e-3);

cepsrange1 = c1(t>=2e-3 & t<=10e-3);

%tra ve idx co gia tri lon nhat luu vào I

[~,I] = max(cepsrange);

[~,I1] = max(cepsrange1);

%in giá tri Tan so co ban ra

fprintf('Complex cepstrum F0 estimate is %3.2f Hz.\n',1/timerange(I))fprintf('Complex cepstrum F0 estimate is %3.2f Hz.\n',1/timerange(I1))

%frqs chua cac gia tri sau khi duoc sap xep

%indices chua cac idx

Trang 8

function varargout = bai5(varargin)

% BAI5 MATLAB code for bai5.fig

% BAI5, by itself, creates a new BAI5 or raises the existing

% singleton*

%

Trang 9

% 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 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 10

% End initialization code - DO NOT EDIT

% - Executes just before bai5 is made visible

function bai5_OpeningFcn(hObject, eventdata, handles, varargin)

% 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

Trang 11

% 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;

% - Executes on button press in bt1

function bt1_Callback(hObject, eventdata, handles)

% 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)global tam;

Trang 12

function bt2_Callback(hObject, eventdata, handles)

% 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)global tam;

Trang 16

vụ tại một điểm giao dịch ngân hàng

function varargout = guideb6(varargin)

Trang 17

% GUIDEB6 MATLAB code for guideb6.fig

% GUIDEB6, by itself, creates a new GUIDEB6 or raises the existing

% singleton*

% H = GUIDEB6 returns the handle to a new GUIDEB6 or the handle to

% the existing singleton*

% GUIDEB6('CALLBACK',hObject,eventData,handles, ) calls the local

% function named CALLBACK in GUIDEB6.M with the given input arguments

% GUIDEB6('Property','Value', ) creates a new GUIDEB6 or raises the

% existing singleton* Starting from the left, property value pairs are

% applied to the GUI before guideb6_OpeningFcn gets called An

% unrecognized property name or invalid value makes property application

% stop All inputs are passed to guideb6_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 guideb6

% Last Modified by GUIDE v2.5 08-Dec-2020 21:49:17

% Begin initialization code - DO NOT EDIT

Trang 18

% End initialization code - DO NOT EDIT

% - Executes just before guideb6 is made visible

function guideb6_OpeningFcn(hObject, eventdata, handles, varargin)

% 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 guideb6 (see VARARGIN)

% Choose default command line output for guideb6

Trang 19

% 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

Trang 20

varargout{1} = handles.output;

% - Executes on button press in q1

function q1_Callback(hObject, eventdata, handles)

% hObject handle to q1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)handles.dem = handles.dem + 1;

Trang 21

sound(handles.sau,handles.fs); case 7

sound(handles.bay,handles.fs); case 8

sound(handles.tam,handles.fs); case 9

sound(handles.chin,handles.fs);end

pause(handles.delaytime);

switch b

case 0

sound(handles.khong,handles.fs); case 1

sound(handles.mot,handles.fs); case 2

sound(handles.hai,handles.fs); case 3

sound(handles.ba,handles.fs); case 4

sound(handles.bon,handles.fs); case 5

sound(handles.nam,handles.fs); case 6

sound(handles.sau,handles.fs); case 7

sound(handles.bay,handles.fs); case 8

sound(handles.tam,handles.fs); case 9

Trang 22

sound(handles.chin,handles.fs);end

pause(handles.delaytime);

switch c

case 0

sound(handles.khong,handles.fs); case 1

sound(handles.mot,handles.fs); case 2

sound(handles.hai,handles.fs); case 3

sound(handles.ba,handles.fs); case 4

sound(handles.bon,handles.fs); case 5

sound(handles.nam,handles.fs); case 6

sound(handles.sau,handles.fs); case 7

sound(handles.bay,handles.fs); case 8

sound(handles.tam,handles.fs); case 9

sound(handles.chin,handles.fs);end

pause(handles.delaytime);

switch d

case 0

sound(handles.khong,handles.fs);

Trang 23

% - Executes on button press in q2.

function q2_Callback(hObject, eventdata, handles)

% hObject handle to q2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)handles.dem = handles.dem + 1;

Trang 25

sound(handles.mot,handles.fs); case 2

sound(handles.hai,handles.fs); case 3

sound(handles.ba,handles.fs); case 4

sound(handles.bon,handles.fs); case 5

sound(handles.nam,handles.fs); case 6

sound(handles.sau,handles.fs); case 7

sound(handles.bay,handles.fs); case 8

sound(handles.tam,handles.fs); case 9

sound(handles.chin,handles.fs);end

pause(handles.delaytime);

switch c

case 0

sound(handles.khong,handles.fs); case 1

Trang 26

sound(handles.mot,handles.fs); case 2

sound(handles.hai,handles.fs); case 3

sound(handles.ba,handles.fs); case 4

sound(handles.bon,handles.fs); case 5

sound(handles.nam,handles.fs); case 6

sound(handles.sau,handles.fs); case 7

sound(handles.bay,handles.fs); case 8

sound(handles.tam,handles.fs); case 9

sound(handles.chin,handles.fs);end

pause(handles.delaytime);

switch d

case 0

sound(handles.khong,handles.fs); case 1

sound(handles.mot,handles.fs); case 2

sound(handles.hai,handles.fs); case 3

sound(handles.ba,handles.fs); case 4

Trang 27

% - Executes on button press in q3.

% - Executes on button press in Reset

function Reset_Callback(hObject, eventdata, handles)

% hObject handle to Reset (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)handles.dem = 1000;

guidata(hObject, handles);

set(handles.STT,'String',num2str(handles.dem));

Trang 28

IV: Bài tập xử lí tiếng nói.

1 Trong các cặp âm điệu dướ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:

Trang 29

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ổđầu ra Y1(ejω), và vẽ đồ thị biên độ của Y1(ejω) (giả sử ω0 << ωs, tần số lấymẫu theo rad của hệ thống số)

Có quan hệ:

cos(x)2 = 1/2+𝑐𝑜𝑠(2𝑥)/2 2𝑥)/2( )/2

= 𝑐𝑜𝑠(2𝑥)/2 3𝑥)/2( )/4+ 3cos(3𝑥)/2)/4

x1[n] = cos(n)

y[n] =𝑐𝑜𝑠(2𝑥)/2 3𝑛)/4+ 3cos()/4( )/4+ 3cos()/4

Y1() = Y(cos(3𝑛)/4+ 3cos()/4)/4)() + Y(3 cos(0𝑛)/4+ 3cos()/4 )/4)()

Y1(e jω) =1/4 -3)+ +3))/2 + 3/4 -)+ +))/2

((2(((2( (( 2( (( 2(

b Nếu tín hiệu đầu vào có dạng x2 (n) = r ncos(ω0n)u(n), | r |<1, vẽ biên độ

của tín hiệu đầu ra Y2(ⅇjωω) (giả sử ω0<< ω s) và giả sử ω0= 2π.500, r = 0.9 và Fs

= 10000Hz

Trang 30

y(n) = r3 n (cos( ω0n¿ ¿ ¿3u(n)

Y2(ⅇjωω) = Y(r3 ncos(3ω0n)/4)(jωω) + Y(r3 n 3cos(ω0n)/4)(jωω)

Trang 31

4 Xem xét một hệ thống bậc nhất: y(n) = αy(n-1) + x(n).y(n-1) + x(n).

a Tìm hàm H(z) của hệ thống

Biến đổi z 2 vế cho y(n)

⇨ Y(z)(1- αy(n-1) + x(n).z−1) = X(z)

H(z)=Y(z)/X(z) =1/1-𝛼z−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à :

Trang 32

6 Việc tính toán năng lượng ngắn hạn thông qua biểu thức sau

x2(m)¿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) = 2e−τ 2, -∞ < 𝜏 < ∞

Trang 33

Có vì R(0) có giá trị lớn nhất

b.R(τ) = 2) = |𝜏|e−τ, -∞ < 𝜏 < ∞

Không vì R(0) không phải là giá trị lớn nhất

c R(τ) = 2) = (sin𝜋𝜏 (𝜋𝜏))2, -∞ < 𝜏 < ∞

Trang 34

Có vì R(0) có giá trị lớn nhất

d R(τ) = 2) = 2(τ2+4) /¿ ¿ +6), -∞ < 𝜏 < ∞

Không vì R(0) không phải là giá trị lớn nhất

e R(τ) = 2) = (0.2 cos(3𝜋𝜏)¿3 , -∞<𝜏<∞

Trang 35

Có vì R(0) có giá trị bằng với giá trị lớn nhất

Trang 36

m → ∞lim ¿ (sin(2ω0𝑚-𝑘ω0)+2ω0𝑚 cos(𝑘ω0))/4ω0

- m →−∞lim ¿ (sin(2ω0𝑚-𝑘ω0)+2ω0𝑚 cos(𝑘ω0))/4ω0

⇨ Tích phân phân kỳ

Vậy ta sẽ không vẽ được phổ chính xác của tín hiệu

c Tìm và biểu diễn hàm tự tương quan của tín hiệu:

𝐻(e−jωw) = 8[(1-4z−jωw

¿/ ¿1-1/6)z−jωw]

a Tìm các hệ số cepstral phức ĥ(n) với tất cả n

𝐻¿ ¿) = 8[(1-4cos(𝜔)-𝑗𝑠𝑖𝑛(𝜔)) / (1-1/6cos(𝜔)-𝑗𝑠𝑖𝑛(𝜔))]𝐻((e¿¿−jωw )¿ =8[√(1 - 4cos(𝜔)¿2 + (4𝑠𝑖𝑛(𝜔)¿2.ejω tan−1 ¿ ¿

¿

/ √(1 – 1/6cos(𝜔)¿2 + (1/6𝑠𝑖𝑛(𝜔)¿2 ejω tan−1 ¿ ¿

¿]Cepstrum phức :

𝐶𝑐= F−1{ln|𝐹| + 𝑖𝜑}

|𝐻(e¿¿−jωw )¿ | = 8[√(1 - 4cos(𝜔)¿2 + (4𝑠𝑖𝑛(𝜔)¿2 /

√(1 – 1/6cos(𝜔)¿2 + (1/6𝑠𝑖𝑛(𝜔)¿2]

Trang 37

|𝐻(e¿¿−jωw )¿| = 8[1-8cos(𝜔) + 16cos2(𝜔) + 16sin2 (𝜔)]

/ [1-1/3cos(𝜔) + 1/36cos2(𝜔) + 1/36sin2 (𝜔)]

Trang 38

b Vẽ ĥ(n) với -10 ≤ n ≤ 10

𝐻(𝑧) = 8[(1 - 4z−1 + (1-1/6¿z−1 ]

𝐻(𝑧) = 8[1/(1 – 1/6z−1) - 4z−1/(1/6z−1

¿]𝐻1(𝑧) = 8[1/(1-1/6z−1] <=> 1(ℎ1( 𝑛) = 8(1/6¿n

Ngày đăng: 01/08/2022, 16:34

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w