Tải bản đầy đủ (.docx) (19 trang)

Nhận dạng giọng nói bằng MFCC và VQ

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 (217.39 KB, 19 trang )

MỞ ĐẦU
Nhận diện giọng nói là q trình tự động nhận ra ai đang nói trên cơ sở
thơng tin có trong sóng nói. Kỹ thuật này cho phép sử dụng giọng nói của
người nói để xác minh danh tính của họ và kiếm soát quyền truy cập vào các
dịch vụ như quay số bằng giọng nói, ngân hàng qua điện thoại, mua sắm bằng
điện thoại, dịch vụ truy cập cơ sở dữ liệu, dịch vụ thơng tin, thư thoại, kiểm
sốt an ninh cho các khu vực thơng tin bí mật và truy cập từ xa vào máy tính.
Đồ án này mô tả cách xây dựng một hệ thống nhận dạng giọng nói tự
đổng đơn giản nhưng đầy đủ và tiêu biểu. Một hệ thống nhận dạng giọng nói
như vậy có thể ứng dụng được ở mọi thứ. Ví dụ như ứng dụng bảo mật: người
dùng phải nói mã PIN (Personal Identification Number – Số nhận dạng cá
nhân) để có quyền truy cập vào cửa phịng hoặc người dùng phải nói số thẻ
của hộ qua đường dây điện thoại để xác minh danh tính của họ. Bằng cách
kiểm tra các đặc điểm giọng nói của cách phát âm đầu vào, sử dụng hệ thống
nhận dạng giọng nói tương tự như hệ thống của đề tài mơ tả.

MỤC LỤC HÌNH ẢNH


Hình 1: Cấu trúc cơ bản của hệ thống nhận dạng giọng nói.............................5
Hình 2: Ví vụ về tín hiệu giọng nói...................................................................8
Hình 3: Sơ đồ khối q trình thực hiện MFCC.................................................9
Hình 4: Ví dụ về bộ lọc Mel............................................................................12
Hình 5: Sơ đồ khái niệm về vector quantization.............................................14
Hình 6: Sơ đồ thuật tốn LBG.........................................................................16
Hình 7: Giao diện chương
trình.......................................................................18


MỤC LỤC
CHƯƠNG I: GIỚI THIỆU VỀ NHẬN DẠNG GIỌNG NÓI.....................4


1. Nguồn gốc âm thanh.....................................................................................4
2. Nguyên tắc của nhận dạng giọng nói............................................................4
3. Phương pháp nhận dạng................................................................................6
CHƯƠNG II: PHƯƠNG PHÁP MFCC VÀ VQ..........................................7
1. Giới thiệu.......................................................................................................7
2. Trích xuất đặc trưng giọng nói......................................................................7
2.1. Bộ xử lý hệ số cepstrum tần số Mel...........................................................8
2.2. Frame Blocking..........................................................................................9
2.3. Windowing...............................................................................................10
2.4. Fast Fourier Transfrom (FFT)..................................................................11
2.5. Mel-frequency Wrapping..........................................................................11
2.6. Cepstrum..................................................................................................12
3. Đối sánh đặc trưng......................................................................................13
CHƯƠNG III: ỨNG DỤNG NHẬN DIỆN GIỌNG NÓI..........................17
1. Dữ liệu.........................................................................................................17
2. Xử lý............................................................................................................17
3. Lượng tử hóa vector....................................................................................17
4. Mơ phỏng....................................................................................................18
TÀI LIỆU THAM KHẢO............................................................................19


CHƯƠNG I: GIỚI THIỆU VỀ NHẬN DẠNG GIỌNG NÓI
1. Nguồn gốc âm thanh
Âm thanh là do vật thể dao động cơ học mà phát ra. Âm thanh phát ra
dưới dạng sóng âm. Sóng âm là sự biến đổi các tính chất của môi trường đàn
hồi khi năng lượng âm truyền qua. Âm thanh truyền được đến tai người là do
môi trường dẫn âm.
Sóng âm có thể truyền được trong chất rắn, chất lỏng, khơng khí. Có
chất dẫn âm rất kém gọi là chất hút âm như: len, da, xốp, ... Sóng âm khơng
thể truyền trong mơi trường chân khơng.

Khi kích thích dao động âm trong mối trường khơng khí thì những lớp
khí sẽ bị nén và dãn. Trạng thái nén dãn lần lượt được lan truyền từ nguồn âm
dưới dạng sóng dọc tới nơi thu âm. Nếu cường độ nguồn càng lớn thì âm
thanh truyền đi càng xa.
2. Nguyên tắc của nhận dạng giọng nói
Nhận dạng giọng nói có thể được phân loại thành nhận dạng và xác
minh. Nhận dạng người nói là q trình xác định người đăng ký nào cung cấp
dữ liệu nói nhất định. Mặt khác, xác minh người nói là q trình chấp nhận
hoặc từ chối u cầu nhận dạng của người nói. Hình 1 cho thấy các cấu trúc
cơ bản của hệ thống xác minh và nhận biết giọng nói. Hệ thống mà ta sẽ mô tả
được phân loại là hệ thống nhận dạng người nói độc lập văn bản vì nhiệm của
nó là xác định người nói bất kể điều gì đang nói
Tất cả các hệ thống nhận dạng giọng nói chứa hai mơ-đun chính (Hình
1) là trích chọn đặc trưng và đối sánh đặc trưng. Trích xuất đặc trưng là q
trình trích xuất một lượng nhỏ dữ liệu từ tín hiệu thoại mà sau này có thể
được sử dụng để diễn tả cho mỗi người. Đối sánh đặc trưng bao gồm quy
trình thực tế để xác định người nói chưa biết bằng cách so sánh với các tính
năng được trích xuất từ đầu vào giọng nói của người đó với người nói từ một
nhóm dữ liệu đã biết.


Điểm giống

Giọng nói

Mơ hình tham chiếu
(Speaker #1)

Trích chọn đặc
trưng


Lựa chọn tối đa

Điểm giống
Kết quả nhận dạng (Speak
ID)
Mơ hình tham chiếu
(Speaker #N)

a) Nhận dạng giọng nói

Giọng nói

Speaker (#M)

Trích chọn đặc
trưng

Điểm giống

Mơ hình tham chiếu
(Speaker #N)

Quyết định

Kết quả xác minh

Ngưỡng

b) Xác minh giọng nói

Hình 1: Cấu trúc cơ bản của hệ thống nhận dạng giọng nói
Tất cả các hệ thống nhận dạng giọng nói phải phục vụ hai giai đoạn
phân biệt.
Cái đầu tiên được gọi là giai đoạn huấn luyện, trong khi cái thứ hai
được gọi là giai đoạn thử nghiệm. Trong giai đoạn huấn luyện, mỗi dữ liệu
giọng nói phải cung cấp các lời nói của mình để hệ thống có thể xây dựng


hoặc huấn luyện một mơ hình tham chiếu của người đó. Trong trường hợp của
hệ thống xác nhận giọng nói, ngưỡng dành riêng cho người nói cũng được
tính từ các mẫu huấn luyện. Trong giai đoạn thử nghiệm, lời nói đầu vào phù
hợp với các mơ hình tham chiếu được lưu trữ và nhận dạng được đưa ra.
Nhận dạng giọng nói là một nhiệm vụ khó khăn. Nhận dạng giọng nói
tự động hoạt động trên tiền đề rằng một người nói thể hiện các đặc điểm duy
nhất cho người đó. Tuy nhiên, nhiệm vụ này bị thách thức bởi sự biến đổi của
tín hiệu tiếng nói đầu vào. Nguồn gốc của phương sai là chính người nói. Tín
hiệu lời nói trong huấn luyện và thử nghiệm có thể khác nhau, rất nhiều
nguyên nhận dẫn tới sự thay đổi giọng nói, thời gian, tình trạng sức khỏe (ví
dụ: người bị cảm lạnh, ...), .... Ngồi ra cịn có các yếu tốc khác như biến đổi
của loa. Ví dụ như là tiếng ồn các các biến thể trong môi trường ghi âm.
3. Phương pháp nhận dạng
Phương pháp LPC(Linear predictive coding) – mã hóa dự báo tuyến
tính: nhược điểm là có một số từ phát âm gần giống nhau thì bị nhầm lẫn
nhiều.
Phương pháp AMDF (average magnitude difference function) – hàm
hiệu biên độ trung bình: Ưu điểm là số ngõ vào ít, kích thước mạng huấn
luyện nhỏ, ít phụ thuộc vào cách phát âm nên tủ lệ đọc sai ít hơn phương pháp
LPC, tuy nhiên khuyết điểm là không phân biệt về thanh điệu, khó sử dụng
trong trường hợp từ đọc liên tiếp.
AMDF & LPC : Do ưu và nhược điểm của hai phương pháp nên cần sự

kết hợp giữa 2 phương pháp đó.
Phương pháp MFCC (mel-frequency ceptrums coeficients).


CHƯƠNG II: PHƯƠNG PHÁP MFCC VÀ VQ
1. Giới thiệu
Mel Frequency Cepstral Coeficients (MFCC) là một cách để trích xuất
đặc trưng (feature extraction) giọng nói (speech) thường được sử dụng trong
các model nhận dạng giọng nói (Automatic Speech Recognition) hay phân
loại giọng nói (Speech Classification). Đúng như tên gọi của nó, MFCC sẽ
cho ra kết quả là các hệ số (Coefficients) của cepstral từ Mel filter trên phở
lấy được từ các file âm thanh chứa giọng nói.
2. Trích xuất đặc trưng giọng nói
Mục đích là để chuyển đổi dạng sóng giọng nói, sử dụng các cơng cụ
xử lý tín hiệu số sang một bộ tính năng (với tốc độ thơng tin thấp hơn) để
phân tích thêm.
Tín hiệu giọng nói là tín hiệu thay đổi theo thời gian chậm (nó được gọi
là bán tĩnh).
Một ví vụ về tín hiệu giọng nói được hiển thị trong hình 2. Khi được
kiểm tra trong một khoảng thời gian đủ ngắn (trong khoảng từ 5 đến 100ms),
các đặc tính của nó khá ổn định. Tuy nhiên, trong khoảng thời gian dài (theo
thứ tự 1/5 giây trờ lên), đặc tính tín hiệu thay đổi để phản ánh các âm thanh
giọng nói khác nhau được nói. Do đó, phân tích quang phổ thời gian ngắn là
cách phổ biến nhất để mơ tả tín hiệu giọng nói.


Hình 2: Ví vụ về tín hiệu giọng nói
MFCC dựa trên sự biến đổi đã biết của băng thông quan trọng tai người
với tần số, các bộ lọc cách nhau tuyến tính ở tần số thấp và logarit ở tần số
cao đã được sử dụng để ghi lại các đặc điểm quan trọng về mặt ngữ âm của

lời nói. Điều này được biểu thị theo thang số tần số mel (mel-frenquency), đó
là khoảng cách tần số tuyến tính dưới 1000Hz và khoản cách logarit trên
1000Hz.
2.1. Bộ xử lý hệ số cepstrum tần số Mel
Sơ đồ khối cấu trúc của bộ xử lý MFCC được đưa ra trong hình 3. Đầu
vào giọng nói thường được ghi lấy mẫu trên 10000Hz. Tần số lấy mẫu này đã
được chọn để giảm thiểu ảnh hưởng của hiệu ứng răng cưa trong chuyển đổi
tương tự sang số. Các tín hiệu được lấy mẫu này có thể thu được tất cả các tần
số lên đến 5kHz. Mục đích của bộ xử lý MFCC là bắt chước hành vi của tai
người.


Sampling Frame
speech

frame

Blocking

mel

Windowing

Removal

Cepstrum

spectrum

Noise


mel

FFT

spectrum

Mel-frequency
Wrapping

spectrum

Hình 3: Sơ đồ khối quá trình thực hiện MFCC
Để phân tích tín hiệu giọng nói tương tự, nó phải được số hóa để
chuyển đổi thành tín hiệu thời gian riêng biệt. Theo định lý Nyquist Shannon,
tín hiệu x(t) của tần số f(max) cần được lấy mẫu ở tần số 2f(max) để thực hiện
tín hiệu chính xác và tránh răng cưa. Để có tín hiệu giá trị riêng biệt, các giá
trị được lấy mẫu cần được lượng tử hóa.
Bit Depth/Bit Resolution là số bit được sử dụng để lưu trữ một mẫu âm
thanh. Số lượng bit được sử dụng phụ thuộc vào số lượng mức độ lượng tử
hóa được sử dụng trong quá trình chuyển đổi tương tự sang số.
Thơng thường các hệ thống nhận dạng giọng nói mã hóa các mẫu với 8
hoặc 16 bit tùy thuộc vào khả năng xử lý có sẵn.
Ví dụ:
Nếu một tệp âm thanh được mã hóa bằng 8 bit thì sẽ có mức lượng tử
hóa 256 (28). Tuy nhiên nếu tệp được mã hóa bằng 9 bit, sẽ có mức lượng tử
hóa 512 (29).
2.2. Frame Blocking
Trong bước này, tín hiệu giọng nói ở dạng liên tục theo từng ms, do đó
khó để giải quyết nên người ta sẽ chia tín hiệu giọng nói thành các khung

(frames).
Ưu điểm của phân tích dựa trên các Frame là nó cải thiện hiệu quả của
hệ thống bằng cách phân tích các nhóm mẫu (trong một frame) trái ngược với
phân tích từng mẫu riêng biệt.
Mỗi khung đè lên khung trước đó để đảm bảo chuyển tín hiệu mượt mà
từ khung này sang khung khác. Lượng chồng chéo lý tưởng là từ 50% - 70%.


Việc lựa chọn frame length, tức là số lượng mẫu tạo thành một frame
duy nhất là một vấn đề quan trọng. Nếu chiều dài frame q ngắn, nó khơng
có để mẫu để có được ước tính đáng tin cậy. Nếu chiều dài frame quá dài, tín
hiệu thay đổi quá nhiều trong frame. Độ dài khung hình lý tưởng nằm trong
khoảng 20ms – 40ms.
Khung thứ nhất bao gồm các mẫu. Khung thứ hai bắt đầu các mẫu sau
khung đầu tiên và chồng nó lên các mẫu. Q trình này tiếp tục cho đến khi
tồn bộ tín hiệu giọng nói nằm trong một hoặc nhiều khung.
Số lượng mẫu điển hình cho frame length () và overlap () lần lượt là
256 và 100. Tương ứng với các khung 40ms cách nhau 15ms, tức là tốc độ
khung hình là 66.7Hz. Lựa chọn lượng mẫu trên mỗi khung – number frame
() được chọn là 256 vì nó mang lại sự thỏa hiệp giữ độ phân giải tần số và độ
phân giản thời gian.
Kết quả sẽ ở dưới dạng hay chiều (x,y) với x là frame_length và y là
number_of_frames.
2.3. Windowing
Bước tiếp thao trong quá trình xử lý là cửa sổ từng khung riêng lẻ để
giảm thiểu sự gián đoạn tín hiệu ở đầu và ở cuối của mỗi khung (frames).
Windowing tín hiệu được thực hiện bằng cách nhân các window
function() với mỗi frame
Nếu chúng ta xác định cửa sổ (window) là . Trong đó N là số lượng
mẫu trong mối khung thì kết quả của cửa sổ là tín hiệu

Do framing làm rời rạc hóa tín hiệu giọng nói, ta sẽ áp dụng một hàm
gọi là Hamming Window để làm trơn (smooth) các khung (frames):
Ta sẽ loại bỏ tiếng ồn trước khi thực hiện biến đổi FFT.
Phương pháp trừ phổ được sử dụng để loại bỏ nhiễu khỏi tín hiệu giọng
nói. Đó là một kỹ thuật khử nhiễu bằng cách ước tính nhiễu được lấy và trừ đi
tín hiệu tiếng nói. Phương trình tổng qt:


Trong đó, y(m) là tín hiệu giọng nói, x(m) là tín hiệu khơng nhiễu
mong muốn và n(m) là nhiễu.
Một dạng sóng miền thời gian được tính tốn lại cường độ đã được sửa
đổi, sau đó được chồng chéo thêm vào dữ liệu trước đó để tạo tín hiệu tiếng
nói khơng có tiếng ồn
2.4. Fast Fourier Transfrom (FFT)
Bước đầu trong trích xuất đặc trưng là chuyển đổi tín hiệu giọng nói
thành miền tần số bằng cách sử dụng biến đổi Fourier. Tín hiệu trong frame
và window từ giai đoạn tiền xử lý phải biến đổi Fourier rời rạc (DFT) để
chuyển đổi từng frame giọng nói từ miền thời gian thành miền tần số.
DFT được định nghĩa là:
Trong đó

Xn là tín hiệu trước xử lý ở khung và N là độ dài của DFT.
Xk là những số phúc. Chuỗi kết quả Xk được hiểu như sau:

Tần số dương tương ứng với các giá trị , trong khi tần số âm tương
ứng với . Ở đây Fs biểu thị tần số lẫy mẫu.
Kết quả sau bước này thường được gọi là phổ hoặc biểu đồ.
2.5. Mel-frequency Wrapping
Khi tín hiệu được chuyển đổi thành miền tần số thông qua biến đổi
FFT, bước tiep theo là điều chỉnh phổ thu được theo thang đo Mel để chuyển

đổi nó thành phổ Mel. Để thực hiện điều này, cơng suất phổ của tín hiệu giọng
nói được đặt trọng số bởi một loạt các đáp ứng tần số của bộ lọc hình tam giác
có băng thơng và tần số phù hợp với các tín hiệu của bộ lọc bằng tần.
Các bộ lọc chuyển đổi phổ tín hiệu thành đại diện gần giống với tai
người, tức là thang mel.
Người ta thấy rằng nhận thức của con người về nội dung tần số của âm
thanh đối với tín hiệu lời nói khơng tn theo thang đo tuyến tính. Do đó, với
mỗi âm tần số thực tế f, được đo bằng Hz, cường độ được đo trên thang đo
được gọi là ‘mel’. Thang đo tần số mel là khoảng cách tần số tuyến tính dưới
1000Hz và khoảng cách logarit trên 1000Hz.


Hình 4: Ví dụ về bộ lọc Mel
2.6. Cepstrum
Một cepstrum có được bằng cách biến đổi Fourier ngược của biến đổi
logarit của tín hiệu. Một thuộc tính quan trọng của cepstral là sự tích chập của
hai tín hiệu.
Bước duy nhất cịn lại sau khi có được bản ghi Mel quang phổ là
chuyển đổi phổ trở lại thời gian miền. Do các hệ số phổ Mel (logarit của
chúng) là số thực, nên việc chuyển đổi miền thời gian có thể đạt được bằng
cách sử dụng thuộc tính chẵn của ceptrum theo đó có thể biểu thị DFT nghịch
đảo theo cosine tức là biến đổi Cosine rời rạc ( Discrete Cosine Transform –
DCT). Tương tự như DFT, khác biệt duy nhất là DCT chỉ sử dụng thuật ngữ
thực (cosine) trong khi DFT sử dụng số mũ phức tạp (cosin và sin).


Áp dụng DCT cho phổ Mel, chuyển đổi phổ Mel thành Cepstrum Mel.
Các hệ số của cepstrum kết quả này được gọi là hệ số cepstral tần số Mel
( MFCC) là các vector đặc trưng được sử dụng để mô tả một cá thể.
Do đó ta có thể biểu thị các hệ số phổ công suất mel . Chúng ta có thể

tính MFCC, như
K
  1  
~
c~n   (log Sk ) cos nk   ,
k1
  2 K 

n 0,1,..., K1

Tập hợp các hệ số này được gọi là vector âm thanh.
3. Đối sánh đặc trưng
Như ở trên ta có thể có được các chuỗi vector âm thanh được trích xuất
từ lời nói đầu vào bằng cách sử dụng các kỹ thuật được mô tả ở phần trước.
Các kỹ thuật đối sánh đặc trưng được sử dụng trong nhân dạng giọng
nói đó là
Dynamic Time Warping (DTW), Hidden Markov Modelling (HMM) và
Vector Quantization (VQ). Ở đây, ta sẽ sử dụng phương pháp VQ, do dễ thực
hiện và độ chính xác cao. VQ là một q trình ánh xạ các vector từ một không
gian vector lớn đến một số lượng hữu hạn các vùng trong khơng gian đó. Mỗi
vùng được gọi là một cụm và có thể được gọi là từ mã. Tập hợp các từ mã gọi
là codebook.
Hình 5 minh họa quá trình nhận dạng này. Trong hình, chỉ có hai loa và
hai chiều của khơng gian âm thanh được hiển thị. Các vòng tròn của các
vector từ loa 1 trong khi tam giác là từ loa 2. Trong giai đoạn huấn luyện,
những codebook riêng của người nói được tạo ra cho mỗi người nói bằng
cách phân cụm các vector đặc trưng. Các từ mã kết quả (centroid) được hiển
thị bằng các vòng tròn đen (Loa 1) và hình tam giác đen (Loa 2). Khoảng
cách giữ một vector đặc trưng và từ mã gần nhất (centroid) được gọi là biến
dạng VQ. Nó là thước đo mức độ tương tự của dữ liệu thử nghiệm được cung

cấp (mẫu giọng nói thử nghiệm) với dữ liệu huấn luyện hiện có (mẫu giọng
nói được huấn luyện). Biến dạng nhỏ hơn ngụ ý mẫu thử nghiệm là một kết
hợp gần với mẫu huấn luyện. Trong giai đoạn thử nghiệm, mẫu giọng nói đầu
vào được lượng tử hóa vector bằng cách sử dụng các codebook được huấn


luyện và độ biến dạng của VQ được tính tốn. Sau đó, Loa tương ứng với mã
có tổng độ biến dạng nhỏ nhất được xác định

Hình 5: Sơ đồ khái niệm về vector quantization
Các vector âm thanh được trích xuất từ lời nói đầu vào của mỗi người
nói cung cấp một tập các vector huấn luyện cho người đó. Bước tiếp theo đó
là xây dựng một bảng mã VQ dành riêng cho từng người nói bằng cách sử
dụng các vector huấn luyện đó, một thuật tốn nổi tiếng, đó là thuật toán
LBG, để phân cụm một tập các vector huấn luyện L thành một tập hợp M
vector mã hóa
Thuật tốn LBG ( Linde-Buzo-Gray algorithm):
Những codebook riêng của người nói được thiết kết bằng cách sử dụng
thuật toán LBG, một thuật toán phân chia nhị phân được để xuất bởi Linde.
Ban đầu, nó tạo ra một bảng mã vector trung tâm hoặc giá trị trung bình
của tồn bộ tập huấn luyện. Sau đó, centroid được chia thành hai centroid
bằng thuật tốn phân cụm K-means. Quá trình này được lặp lại như hai từ mã
chia thành bốn rồi tám đến codebook kích thước yêu cầu.
Các bước triển khai thuật toán LBG


- Thiết kế một vector codebook, đây sẽ là trọng tâm của tồn bộ vector
huấn luyện.
- Kích thước của codebook ban đầu được nhân đôi bằng cách chia
codebook hiện tại yn theo quy tắc:


Trường hợp thay đổi từ 1 đến kích thước hiện tại của codebook và là
một tham số tách (thường được chọn để nằm trong pham vi
.
− Đối với mọi vector huấn luyện, tìm từ mã (centroid) trong codebook
gần nhất (biến dạng VQ nhỏ nhất) và gán vector đó co cụm tương ứng.
− Cập nhật centroid: cập nhật từ mã trong mỗi ô bằng cách sử dụng tâm
của các vector huấn luyện được gán cho cụm đó.
+ Lặp lại cho đến khi khoảng cách trung bình giảm dưới ngưỡng cài đặt
trước
+

Lặp lại bước 2 và 3 cho đến khi vector codebook được thiết kế.


Hình 6: Sơ đồ thuật tốn LBG
Thuật tốn LBG thiết kế một bảng mã M vector theocacs giai đoạn.
Trước đó, nó bắt đầu bằng cách thiết kế một bảng mã vector, sau đó sử dụng
kỹ thuật phân tách trên các từ mã để khởi tạo tìm kiếm cho một bảng mã 2
vector và tiếp tục qua trình phân tách cho đến khi có được bảng mã M vector
mong muốn. Ở hình 6 ta có thể thấy được các bước chi tiết của thuật toán
LBG. Các cụm vector là được sử dụng thuật tốn tìm kiếm lân cận gần nhất,
gán mỗi vector huấn luyện cho một cụm liên kết với từ mã gần nhất. Tìm
centroid là bước cập nhật centroid. Tính toán D (biến dạng) số liệu tổng hợp
khoảng cách của tất cả các vector huấn luyện trong tìm kiếm lân cận gần nhất
để xác định xem quy trình có hội tụ hay không.


CHƯƠNG III: ỨNG DỤNG NHẬN DIỆN GIỌNG NÓI
1. Dữ liệu

Ta sẽ có 2 file làm dữ liệu cho chương trình:
File âm thanh (.wav – định dạng tập tin âm thanh dạng sóng). Một
trong những định dạng âm thanh phổ biến. Các định dạng được phát triển bời
Microsoft và thường lưu trũ những dữ liệu âm thanh không nén với điều chế
mã xung, nhưng nó có thể được sử dụng để lưu trữ âm thanh xử lý với các bộ
codec âm thanh khác.
File hình ảnh (.png). Khác với jpg đó là không làm ảnh hưởng đến chất
lượng khi nén ảnh.
2. Xử lý
Ở bước này, ta cần viết hàm trên Matlab để đọc tệp âm thanh và biến nó
thành một chuỗi MFCC (vector âm thanh) bằng các bước xử lý được mô tả ở
phần trên. Một số hàm Matlab mà ta cần đó là: hamming, fft, dct, melfb.
3. Lượng tử hóa vector
Kết quả là ta sẽ biến đổi tín hiệu lời nói thành các vectr trong một
không gian âm thanh. Áp dụng kỹ thuật nhận dạng mẫu dựa trên VQ. Ta sẽ
viết hàm trên Matlab với vqlbg để huấn luyện VQ codebook bằng thuật tốn
LGB. Ta sử dụng hàm disteu để tính khoảng cách Euclide giữa các từ mã và
vector huấn luyện trong quá trình được lặp đi lặp lại.


4. Mô phỏng
Ta sẽ thiết kế giao diện của chương trình như sau:

Hình 7: Giao diện chương trình
Ở chương trình, ta sẽ tạo sẵn 2 file (1 file âm thanh, 1 file ảnh) ứng với
mỗi thành viên để tạo thành 1 hệ thống.
Đối với dữ liệu có sẵn, nhấn nút “Nhận dạng” và làm theo hướng dẫn ở
“Bảng chỉ dẫn” để thực hiện. Còn khi ta muốn sửa đổi file âm thanh (dữ liệu)
thì nhấn nút “Dữ liệu” và làm theo hướng dẫn ở “Bảng chỉ dẫn” rồi thực hiện
nhận dạng với dữ liệu mới.



TÀI LIỆU THAM KHẢO
[1] L.R. Rabiner and B.H. Juang, Fundamentals of Speech Recognition,
Prentice-Hall, Englewood Cliffs, N.J., 1993.
[2] L.R Rabiner and R.W. Schafer, Digital Processing of Speech Signals,
Prentice-Hall, Englewood Cliffs, N.J., 1978.
[3] S.B. Davis and P. Mermelstein, “Comparison of parametric
representations for monosyllabic word recognition in continuously
spoken sentences”, IEEE Transactions on Acoustics, Speech, Signal
Processing, Vol. ASSP-28, No. 4, August 1980.
[4] Y. Linde, A. Buzo & R. Gray, “An algorithm for vector quantizer
design”, IEEE Transactions on Communications, Vol. 28, pp.84-95,
1980.
[5] S. Furui, “Speaker independent isolated word recognition using dynamic
features of speech spectrum”, IEEE Transactions on Acoustic, Speech,
Signal Processing, Vol. ASSP-34, No. 1, pp. 52-59, February 1986.
[6] S. Furui, “An overview of speaker recognition technology”, ESCA
Workshop on Automatic Speaker Recognition, Identification and
Verification, pp. 1-9, 1994.
[7] F.K. Song, A.E. Rosenberg and B.H. Juang, “A vector quantisation
approach to speaker recognition”, AT&T Technical Journal, Vol. 66-2,
pp. 14-26, March 1987.



×