Tải bản đầy đủ (.pdf) (16 trang)

Xử lý tiếng nói Xác định tần số cơ bản bằng phương pháp tự tương quan cải tiến

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.14 MB, 16 trang )

TR¦êNG §¹I HäC B¸CH KHOA Hµ NéI
VIÖN C¤NG NGHÖ TH¤NG TIN Vµ TRUYÒN TH¤NG

BÁO CÁO MÔN XỬ LÝ TIẾNG NÓI
§Ò TµI: XÁC ĐỊNH TẦN SỐ CƠ BẢN DÙNG PHƯƠNG PHÁP TỰ
TƯƠNG QUAN CẢI TIẾN.

Giảng viên hướng dẫn:

Trịnh Văn Loan

Sinh viên thực hiện:

Nguyễn Việt Anh

Lớp:
MSSV:

Hà Nội, 12-2016


Xác định tần số cơ bản bằng phương pháp tự tương quan cải tiến
MỤC LỤC
DANH MỤC HÌNH ẢNH: ................................................................................................................................. 3
LỜI NÓI ĐẦU.................................................................................................................................................. 4
CHƯƠNG I: MÔ TẢ YÊU CẦU VÀ LÝ THUYẾT CHUNG .................................................................................... 5
I. Mô tả yêu cầu: ....................................................................................................................................... 5
II. Lý thuyết chung:................................................................................................................................... 5
1. Các đặc tính cơ bản của tín hiệu tiếng nói: ....................................................................................... 5
2. Cấu trúc file Wav: ............................................................................................................................. 5
3. Hàm năng lượng thời gian ngắn:....................................................................................................... 8


4. Zero Crossing Rate: .......................................................................................................................... 9
5. Phương pháp tính tần số cơ bản bằng cách sử dụng hàm tự tương quan có cải tiến:........................ 9
CHƯƠNG 2: LẬP TRÌNH VÀ THỬ NGHIỆM................................................................................................... 11
1. Xây dựng chương trình: ...................................................................................................................... 11
1.1. Lựa chọn công nghệ: .................................................................................................................... 11
1.2. Thực hiện chương trình: ............................................................................................................... 11
1.3. Giao diện chương trình: ............................................................................................................... 11
2. Thử nghiệm và đánh giá: .................................................................................................................... 12
2.1. Thử nghiệm: ................................................................................................................................. 12
2.2. Đánh giá: ...................................................................................................................................... 14
KẾT LUẬN. ................................................................................................................................................... 15
TÀI LIỆU THAM KHẢO.................................................................................................................................. 16

Page 2


Xác định tần số cơ bản bằng phương pháp tự tương quan cải tiến
DANH MỤC HÌNH ẢNH:
Hình 1. Sơ đồ chung của phương pháp xác định tần số cơ bản. ..................................................... 9
Hình 2. Dạng sóng tín hiệu ........................................................................................................... 10
Hình 3. Dạng sóng tín hiệu đã hạn chế. ........................................................................................ 10
Hình 4. Giao diện chương trình chính. ......................................................................................... 11
Hình 5. Giao diện chương trình. ................................................................................................... 12
Hình 6. Kết quả của file Xe.wav ................................................................................................... 13
Hình 7. Kết quả của file A96.wav................................................................................................. 14

Page 3


Xác định tần số cơ bản bằng phương pháp tự tương quan cải tiến

LỜI NÓI ĐẦU
Xử lý tiếng nói từ khi xuất hiện đã đóng một vai trò quan trọng trong cuộc sống
hằng ngày. Cùng với sự phát triển ngày càng nhanh của khoa học kỹ thuật, đặc biệt là
công nghệ thông tin và kỹ thuật máy tính, nhu cầu xử lý tiếng nói của con người ngày
càng lớn. Xử lý tiếng nói có ứng dụng mọi mặt, về cơ bản có ứng dụng như nhận dạng
tiếng nói, người nói, tăng chất lượng giọng nói, tổng hợp tiếng nói… Để làm được điều
đó, việc xác định các đặc trưng của tiếng nói như tần số cơ bản, formant … là hết sức
quan trọng. Người ta có thể sử dụng nhiều phương pháp khác nhau như LPC, tự tương
quan, xử lý đồng hình… để xác định các đặc trưng đó.
Trong bài báo cáo này, em sẽ giải quyết vấn đề tính tần số cơ bản bằng phương
pháp tự tương quan có cải tiến.
Bài báo cáo gồm có 2 chương:
Chương 1: Mô tả yêu cầu và lý thuyết chung. Chương này nêu rõ yêu cầu cần thực hiện
trong bài tập lớn và lý thuyết về phương pháp xác định tần số cơ bản dùng phương pháp
tự tương quan có cải tiến.
Chương 2: Lập trình và thử nghiệm. Chương này trình bày về việc lập trình tính tần số cơ
bản bằng phương pháp tự tương quan có cải tiến. Phần thử nghiệm có nêu rõ kết quả tính
được.
Phần cuối là phần kết luận đưa ra đánh giá sau quá trình thực hiện bài tập lớn này.

Page 4


Xác định tần số cơ bản bằng phương pháp tự tương quan cải tiến
CHƢƠNG I: MÔ TẢ YÊU CẦU VÀ LÝ THUYẾT CHUNG
I. Mô tả yêu cầu:
Trong bài tập lớn này, em sẽ giải quyết vấn đề tính tần số cơ bản bằng phương
pháp tự tương quan cải tiến. Những phần thực hiện trong bài tập lớn:
-


Đọc dữ liệu từ File WAVE.
Vẽ dạng sóng tín hiệu.
Vẽ dạng sóng tín hiệu đã bị hạn chế.
Tính và vẽ hàm tự tương quan.
Tính và vẽ tần số cơ bản.

II. Lý thuyết chung:
1. Các đặc tính cơ bản của tín hiệu tiếng nói:
Tiếng nói mà con người giao tiếp hằng ngày có bản chất là sóng âm thanh lan
truyền trong không khí. Sóng âm trong không khí là sóng dọc do sự giản nở của không
khí. Tín hiệu âm thanh tiếng nói là tín hiệu biến thiên liên tục về thời gian. Dải tần mà tai
người có thể nghe được khá rộng, từ 20 đến 20.000Hz, là do đặc tính sinh lý quy định.
Tín hiệu tiếng nói có độ dư thừa lớn do môi trường có nhiễu.Thực tế thì trong miền tần số
300 đến 3400Hz tiếng nói nghe được khá rõ, đây cũng chính dải tần được người ta dùng
trong điện thoại. Tín hiệu tiếng nói được tạo thành từ chuỗi các âm vị liên tiếp. Các âm vị
này và các dạng chuyển đổi của chúng được xem như các ký hiệu biễu diễn thông tin. Sự
sắp xếp những âm vị này được chi phối bởi các quy luật ngôn ngữ, cho nên các mô hình
toán học khi được áp dụng đều phải gắn bó mật thiết với việc nghiên cứu các quy luật
này.
Xử lý tiếng nói là một lĩnh vực xử lý thông tin chứa trong các tín hiệu tiếng nói
với mục đích truyền, lưu trữ, tổng hợp, nhận dạng tiếng nói. Xử lý tiếng nói hiện nay
đang được nghiên cứu và được vào nhiều ứng dụng.
Các nghiên cứu đƣợc tiến hành để xử lý tiếng nói yêu cầu những hiểu biết trên
nhiều lĩnh vực và ngày đa dạng: từ ngữ âm, ngôn ngữ học cho đến việc xử lý tín hiệu .v.v
2. Cấu trúc file Wav:
Tiếng nói là tín hiệu tƣơng tự, để lưu trữ được trong máy tính đặt trưng bởi chuỗi
số 01…ta phải “lấy mẫu” và “lượng tử hoá” tín hiệu tương tự thành tín hiệu số mới lưu
trữ được trong máy tính. Phương pháp “lấy mẫu” và “lượng tử hoá” âm thanh hiện nay
thường là phương pháp PCM. Phương pháp này sẽ lấy mẫu âm thanh với tần số khoảng
từ 11.025 kHz cho đến 44.1 kHz. Mỗi giá trị mẫu được lượng tử hoá bằng 8 bits tương

Page 5


Xác định tần số cơ bản bằng phương pháp tự tương quan cải tiến
ứng giá trị mẫu từ –128 đến 127 hoặc lượng tử hoá bằng 16 bits tương ứng giá trị mẫu từ
–32768 đến 32767. So với lượng tử hoá bằng 8 bits thì lượng tử hoá bằng 16 bits sẽ lưu
trữ âm thanh trung thực hơn nhưng bù lại số byte lưu tăng gấp đôi.
2.1. RIFF file
Cấu trúc của Wave File thuộc vào lớp file đƣợc sử dụng bỡi các hàm Multimedia của
Windows : đó là RIFF file. RIFF là chữ viết tắt của Resource Interchange File Format
(format file trao đổi tài nguyên). Một RIFF file gồm một hoặc nhiều loại chunks, trong
mỗi chunk lại chứa con trỏ để chỉ đến chunk kế tiếp. Mỗi chunk bao gồm loại chunk và
dữ liệu theo sau loại chunk đó. Một ứng dụng muốn đọc RIFF file có thể đi qua lần lƣợt
từng chunk, đọc dữ liệu ở những chunk nó quan tâm và có thể bỏ qua các chunk mà nó
không quan tâm.
Một chunk của RIFF file luôn bắt đầu bỡi một header có cấu trúc như sau:
typedef struct
{
FOURCC ckID;
DWORD ckSize;
} CK;
FOURCC gồm 4 bytes chỉ ra loại chunk. Đối với Wave File, field này có giá trị là
"WAVE". Nếu loại chunk ít hơn 4 ký tự thì các ký tự còn lại bên phải sẽ được đệm thêm
vào các khoảng trắng. ckSize gồm 4 byte chứa kích thước vùng dữ liệu của chunk, vùng
dữ liệu này nằm ngay sau header và có kích thước là ckSize bytes. Chunk có thể chứa các
subchunks. Subchunk cũng là một chunk. Một RIFF file luôn bắt đầu bằng một chunk
loại "RIFF".
ckSize gồm 4 byte chứa kích thước vùng dữ liệu của chunk, vùng dữ liệu này nằm
ngay sau header và có kích thước là ckSize bytes.
Chunk có thể chứa các subchunks. Subchunk cũng là một chunk. Một RIFF file

luôn bắt đầu bằng một chunk loại "RIFF".
2.2. Cấu trúc file Wave:

Page 6


Xác định tần số cơ bản bằng phương pháp tự tương quan cải tiến
Wave file bắt đầu là chunk loại "RIFF”. Hai subchunk trong Wave chunk đặc tả
thông tin về âm thanh của wave file và tiếp đó là dữ liệu của từng subchunk. Đó là
subchunk "fmt " và subchunk "data".
2.2.1. Subchuck “fmt”
Dữ liệu của "fmt " chunk là cấu trúc WAVEFORMAT có cấu trúc như sau:
typedef struct waveformat_tag
{
WORD wFormatTag;
WORD nChannels;
DWORD nSamplesPerSec;
DWORD nAvgBytesPerSec;
WORD nBlockAlign;
} WAVEFORMAT;
wFormatTag thường có giá trị là WAVE_FORMAT_PCM được định nghĩa trong
tập tin MMSYSTEM.H như sau:
#define WAVE_FORMAT_PCM 1
Giá trị này báo cho phần mềm đang đọc Wave File biết kiểu mã hóa dữ liệu âm
thanh sang dữ liệu số là kiểu mã hóa PCM.
nChannels có hai giá trị: bằng 1 cho âm thanh mono và bằng 2 cho âm thanh
steréo.
nSamplesPerSec cho biết tốc độ lấy mẫu.
nAvgBytesPerSec cho biết số byte trung bình yêu cầu trong 1 giây để phát lại mẫu
dữ liệu của sóng âm.

nBlockAlign cho biết số byte dùng để chứa một mẫu âm thanh.
Ta thấy trong WAVEFORMAT chưa có thông tin về số bit dùng để lượng tử hóa
một mẫu dữ liệu của sóng âm. Thực tế, Wave File sẽ xác lập số bit dùng cho một mẫu dữ
Page 7


Xác định tần số cơ bản bằng phương pháp tự tương quan cải tiến
liệu bằng một trường gắn vào cuối cấu trúc của WAVEFORMAT. Cấu trúc đó được định
nghĩa như sau:
typedef struc pcmwaveformat_tag
{
WAVEFORMAT wf;
WORD wBitsPerSample;
} PCMWAVEFORMAT;
wBitsPerSample cho biết số bit trong một mẫu dữ liệu. Chú ý rằng các mẫu dữ
liệu vẫn phải lưu trữ ở dạng byte hoặc word. Do đó, nếu một Wave File dùng 12 bit để
lượng tử hóa một mẫu sóng âm thì sẽ phải lưu trữ cả 4 bit thừa không dùng đến.
b. Subchuck “data”:
Dữ liệu của "data" subchunk của Wave File chứa các số liệu của âm thanh đã được
số hóa. Đối với mẫu âm thanh 8 bit, dữ liệu của "data" subchunk bao gồm các giá trị 1
byte (có giá trị từ 0 – 255) của các mẫu âm thanh. Đối với mẫu âm thanh 16 bits, mỗi
mẫu dữ liệu gồm 2 bytes (có giá trị từ -32768 tới 32767).
Trong mẫu Mono 8 bits, dữ liệu của subchunk "data" gồm chuỗi các giá trị 1
bytes. Với Stereo 8 bits, mỗi mẫu gồm 2 bytes, dữ liệu sẽ được sắp xếp xen kẽ
(interleave), với byte đầu (byte chẳn) là mẫu âm thanh của kênh bên trái, byte sau (byte
lẻ) là của kênh bên phải.
3. Hàm năng lƣợng thời gian ngắn:
Năng lượng sóng trong một cửa sổ (với độ rộng cửa sổ W) được tính bằng công
thức sau:


Việc tính toán năng lượng trong một cửa sổ được sử dụng để phân biệt giữa âm vô
thanh và âm hữu thanh. Do phần âm vô thanh thường có năng lượng nhỏ còn phần âm
hữu thanh thường có năng lượng lớn. Ta cần chọn một ngưỡng để phân biệt giữa âm vô
thanh và âm hữu thanh. Nhưng có một vài trường hợp năng lượng của âm vô thanh gần
bằng năng lượng của âm hữu thanh.
Page 8


Xác định tần số cơ bản bằng phương pháp tự tương quan cải tiến
4. Zero Crossing Rate:
Giá trị này cho biết số lần dạng sóng tín hiệu cắt qua trục hoành của đồ thị dạng
sóng tín hiệu. Âm vô thanh có ZCR lớn do mức độ ngẫu nhiên của tín hiệu còn âm hữu
thanh có ZCR nhỏ. Chính điều này giúp ta có thể phân biệt âm vô thanh và âm hữu thanh
bằng cách chọn một ngưỡng.
5. Phƣơng pháp tính tần số cơ bản bằng cách sử dụng hàm tự tƣơng quan có cải
tiến:
5.1. Tần số cơ bản:
Dạng sóng của tiếng nói gồm hai phần: Phần giống nhiễu trong đó biên độ biến
đổi ngẫu nhiên và phần có tính chu kỳ trong đó tín hiệu lặp lại gần như tuần hoàn. Phần
tín hiệu có tính chu kỳ chứa các thành phần tần số có dạng điều hoà. Tần số thấp nhất
chính là tần số cơ bản và cũng chính là tần số dao động của thanh môn. Đối với người nói
khác nhau, tần số cơ bản cũng khác nhau. Bảng sau cho biết tần số cơ bản của giới tính
và tuổi. Trong hội thoại, tần số cơ bản thay đổi liên tục.
Giá trị tần số cơ bản phụ thuộc vào giới tính và lứa tuổi. Ví dụ nam có tần số cơ
bản trong khoảng từ 80-250 Hz, nữ có tần số cơ bản trong khoảng từ 150-500 Hz.
5.2. Mô hình chung tính tần số cơ bản:

Hình 1. Sơ đồ chung của phƣơng pháp xác định tần số cơ bản.

5.3. Hàm tự tƣơng quan:

Công thức tính hàm tự tương quan:


.

N là độ rộng cửa sổ mà ta đang xét, còn K thì thường lấy bằng một nửa độ rộng
cửa sổ.
Tính chất cơ bản của hàm tự tương quan:
-

Là hàm chẵn R(k) = R(-k).
Page 9


Xác định tần số cơ bản bằng phương pháp tự tương quan cải tiến
-

R(k) đạt giá trị cực đại tại 0: R(k) < R(0) với mọi k.
Giá trị R(0) chính bằng năng lượng của tín hiệu.
Dựa vào các tính chất trên ta có nhận xét hàm tự tương quan sẽ đạt giá trị cực đại
tại các mẫu 0, T, 2T, … Như vậy việc xác định chu kỳ cơ bản sẽ đưa về việc xác
định chu kỳ cơ bản của hàm tự tương quan.

5.4. Phƣơng pháp tự tƣơng quan có cải tiến:
Để tính toán được dễ dàng hơn, ta hạn chế mức biên độ đối với tín hiệu đầu vào, ta
chọn ngưỡng cắt
loại bỏ đối với những giá trị biên độ <
thì ta coi bằng 0. Như thế
việc tính toán hàm tự tương quan của sẽ dễ dàng hơn.
Ví dụ: dạng sóng tín hiệu ban đầu:


Hình 2. Dạng sóng tín hiệu

Dạng sóng tín hiệu đã bị hạn chế với

Hình 3. Dạng sóng tín hiệu đã hạn chế.

5.5. Mô tả cách xác định:
Đầu tiên ta cần chọn một cửa sổ có thời gian khoảng 20ms. Dựa vào tần số lấy
mẫu khi đọc file WAVE ta có thể xác định xem độ rộng cửa sổ là bao nhiêu mẫu. Sau đó
trong mỗi cửa sổ ta tính toán năng lượng, tỉ lệ biến thiên qua trục không, hàm tự tương
quan. Do những đoạn chứa âm vô thanh không có tần số nên ta cần loại bỏ do đó ta dựa
vào năng lượng và tỉ lệ biến thiên qua trục không để loại bỏ. Ở đây ta cần chọn ngưỡng
để loại bỏ. Sau đó với hàm tự tương quan tính được trong mỗi cửa sổ ta tính ra được 2
cực đại gần nhất, từ đó suy ra tần số cơ bản của tín hiệu. Việc thực hiện tiếp tục khi ta
dịch cửa sổ với đi một đoạn bằng một nửa độ rộng cửa sổ. Việc tính toán này cứ lặp đi
lặp lại cho đến khi kết thúc.
Page 10


Xác định tần số cơ bản bằng phương pháp tự tương quan cải tiến
CHƢƠNG 2: LẬP TRÌNH VÀ THỬ NGHIỆM
1. Xây dựng chƣơng trình:
1.1. Lựa chọn công nghệ:
- Ngôn ngữ lập trình: Java
- Giao diện Java Swing, có sử dụng thư viện vẽ đồ thị JfreeChart.
- Tool lập trình: IntelliJ IDEA.
1.2. Thực hiện chƣơng trình:
Chương trình có các chức năng sau:
-


Đọc và mở file wav.
Hiển thị dạng sóng tín hiệu, hiển thị những thông tin đọc từ file wav.
Hiển thị dạng sóng tín hiệu đã hạn chế.
Hiển thị hàm tự tương quan.
Hiển thị đường biểu diễn tần số cơ bản.

1.3. Giao diện chƣơng trình:

Hình 4. Giao diện chƣơng trình chính.

Page 11


Xác định tần số cơ bản bằng phương pháp tự tương quan cải tiến
Giao diện của chương trình có các thành phần theo thứ tự từ trên xuống dưới:
 Phía trên bên trái là khung chứa thông tin về file wav.
 Bên dưới là các ô nhập thông tin, để chọn ngưỡng hạn chế tín hiệu , chọn
ngưỡng năng lượng và chọn ngưỡng chỉ số ZCR dùng để phân biệt giữa âm vô
thanh và âm hữu thanh.
 Sau khi nhấn vào nút OK thì sẽ chuyển sang cửa sổ mới có giao diện như sau:

Hình 5. Giao diện chƣơng trình.

Theo thứ tự từ trên xuống dưới ta có các đồ thị.






Đồ thị thứ nhất hiển thị dạng sóng tín hiệu
Đồ thị thứ hai hiển thị dạng sóng tín hiệu đã hạn chế.
Đồ thị thứ ba hiển thị hàm tự tương quan của tín hiệu.
Đồ thị thứ tư hiển thị đường biểu diễn tần số của tín hiệu.

2. Thử nghiệm và đánh giá:
2.1. Thử nghiệm:
Thử nghiệm các file Xe.wav, A96.wav.
a. Với file Xe.wav:
Thông tin: Frames: 12879, Sample Rate: 16000.
Page 12


Xác định tần số cơ bản bằng phương pháp tự tương quan cải tiến
Thông số:
Window Size
Zcr Threshold
Power Threshold

320
0.1
200
0.4

 Kết quả:

Hình 6. Kết quả của file Xe.wav

Kết quả tần số trung bình: 257 Hz.
b. Với file A96.wav:

Thông tin: Frames: 3450, Sample Rate: 10kHz.
Thông số:
Window Size
Zcr Threshold
Power Threshold

200
0.1
200
0.4

 Kết quả:
Page 13


Xác định tần số cơ bản bằng phương pháp tự tương quan cải tiến

Hình 7. Kết quả của file A96.wav

Kết quả tần số trung bình: 137 Hz.
2.2. Đánh giá:
Qua thử nghiệm ta thấy việc thiết lập các thông số về ngưỡng năng lượng và
ngưỡng cho tỉ lệ cắt qua trục không là cần thiết để xác định chính xác tần số.

Page 14


Xác định tần số cơ bản bằng phương pháp tự tương quan cải tiến
KẾT LUẬN.
Như đã nói, xử lý tiếng nói đã và đang là một lĩnh vực quan trọng và được quan

tâm do tính ứng dụng của nó vào đời sống, khoa học quân sự, dân sự. Cùng với công
nghệ ngày càng phát triển, xử lý tiếng nói càng có cơ hội phát triển hơn. Việc xác định
tần số cơ bản rất quan trọng cho các bài toán xử lý tiếng nói ở mức cao hơn sau này. Bài
báo cáo đã trình bày phương pháp tìm tần số cơ bản áp dụng phương pháp tự tương quan
có cải tiến. Tuy nhiên do còn thiếu kinh nghiệm và kiến thức tìm hiểu được còn chưa sâu
nên em còn nhiều thiếu sót và không tránh khỏi những chỗ còn chưa hiểu rõ, em xin thầy
góp ý để hoàn thiện kiến thức hơn, em xin cảm ơn.

Page 15


Xác định tần số cơ bản bằng phương pháp tự tương quan cải tiến
TÀI LIỆU THAM KHẢO.
[1] Bài giảng Xử lý tiếng nói, PGS.TS. Trịnh Văn Loan, ĐH Bách Khoa Hà Nội.

Page 16



×