Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 68

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI

KHOA ĐIỆN – ĐIỆN TỬ

MÔN HỌC KỸ THUẬT XỬ LÝ ÂM THANH VÀ HÌNH ẢNH

---------o0o---------

BÁO CÁO BÀI TẬP LỚN


PHƯƠNG PHÁP LPC – NÉN ÂM THANH SỐ
Sinh viên thực hiện

Đỗ Xuân Bách (MSV: 191400113)

Trương Việt Hoàng (MSV: 191410457)

Nguyễn Anh Minh (MSV: 191400693)

Lớp: Kỹ thuật viễn thông 1 – K60

Giảng viên hướng dẫn : Nguyễn Tiến Hưng

Hà Nội, ngày 1 tháng 11 năm 2022


MỤC LỤC

CHƯƠNG 1: TỔNG QUAN VỀ LPC (LINEAR PREDICTIVE CODING)...................................2

1. KHÁI NIỆM VỀ LPC..............................................................................................................2

2. TỔNG QUAN.......................................................................................................................... 2

CHƯƠNG 2: TỔNG QUAN VỀ TIẾNG NÓI VÀ XỬ LÝ TIẾNG NÓI........................................4

1. TIẾNG NÓI VÀ ĐẶC ĐIỂM CỦA TIẾNG NÓI.....................................................................4

1.1. Đặc tính vật lý của âm thanh..............................................................................................5

1.2. Đặc tính âm học của âm thanh...........................................................................................6

1.3. Phân loại đơn giản dạng sóng tiếng nói:...........................................................................10

1.4. Bộ máy phát âm và cơ chế phát âm..................................................................................11

2. MỘT SỐ KIẾN THỨC CHUNG VỀ XỬ LÝ TÍN HIỆU RỜI RẠC.....................................13

2.1 Mô hình hệ xử lý tín hiệu rời rạc.......................................................................................13

3. MÔ HÌNH TẠO TIẾNG NÓI................................................................................................15

4. BIỂU DIỄN SỐ TIẾNG NÓI.................................................................................................17

4.1. Xác định tần số lấy mẫu tín hiệu tiếng nói.......................................................................19

4.2. Lượng tử hoá.................................................................................................................... 20

5. TỔNG QUAN VỀ MÃ HÓA TIẾNG NÓI............................................................................21

5.1. Mã hóa dạng sóng............................................................................................................21

5.2. Mã hoá nguồn..................................................................................................................24

5.3. Mã hoá lai........................................................................................................................ 25

6. TỔNG QUAN VỀ TỔNG HỢP TIẾNG NÓI........................................................................26

6.1. Giới thiệu chung............................................................................................................... 26

6.2 Các mô hình tổng hợp tiếng nói........................................................................................27


CHƯƠNG 3: ỨNG DỤNG CỦA LPC TRONG XỬ LÝ TIẾNG NÓI..........................................30

1. PHƯƠNG PHÁP DỰ ĐOÁN TUYẾN TÍNH TRONG XỬ LÝ TIẾNG NÓI.......................30

1.1 Xác định hệ số khuếch đại.................................................................................................37

1.2. Xác định hệ số tiên đoán tuyến tính.................................................................................40

2. ỨNG DỤNG LPC PHÂN TÍCH TRONG TIẾNG NÓI.........................................................44

2.1. Dò tìm formant................................................................................................................. 44

2.2 Dùng bộ lọc đảo để tìm F0................................................................................................46

3. TỔNG HỢP TIẾNG NÓI.......................................................................................................49

3.1. Giới thiệu......................................................................................................................... 49

3.2. Cơ sở lý thuyết................................................................................................................. 49

3.3 Mô hình LPC..................................................................................................................... 62


LỜI MỞ ĐẦU

Trong thời đại ngày nay, cùng với sự phát triển mạnh mẽ của khoa học kỹ thuật thì vấn đề
trao đổi thông tin đa phương tiện ngày càng trở nên cần thiết, từ lúc đầu chỉ giao tiếp, tương tác
thông qua các văn bản giấy tờ, ngày nay nhu cầu sử dụng tiếng nói trong truyền thông, tương tác
người máy càng trở nên cấp thiết hơn. Vì vậy mà một lĩnh vực kỹ thuật mới đã ra đời, đó là xử lý
tiếng nói. Mặc dù mới nhưng xử lý tiếng nói đã đạt được những thành tựu đáng kể. Các ứng dụng
của xử lý tiếng nói đã và đang được áp dụng trong rất nhiều lĩnh vực khác nhau trong xã hội như
nhận dạng, tổng hợp tiếng nói, tương tác người máy, truyền thông, dạy học, … Nhờ có xử lý tiếng
nói mà con người có thể tạo ra những máy móc thông minh hơn, có khả năng hiểu được tiếng nói
con người và có thể giao tiếp với con người thông qua lời nói. Một trong những phương pháp
được ứng dụng rất nhiều trong lĩnh vực xử lý tiếng nói đó là phương pháp mã hóa dự đoán tính
(LPC). Phương pháp LPC được sử dụng trong các phân tích tiếng nói, mã hóa tiếng nói, tổng hợp
tiếng nói... Do vậy tôi đã chọn đề tài là “Tìm hiểu về phương pháp LPC – Nén âm thanh số”.

1
CHƯƠNG 1: TỔNG QUAN VỀ LPC (LINEAR PREDICTIVE CODING)

1. KHÁI NIỆM VỀ LPC

Mã hóa dự đoán tuyến tính LPC là một phương pháp được sử dụng chủ yếu trong xử lý tín
hiệu âm thanh và xử lý giọng nói để biểu diễn quang phổ của tín hiệu kỹ thuật số của lời nói ở
dạng nén, sử dụng thông tin của mô hình dự đoán tuyến tính. LPC là phương pháp được sử dụng
rộng rãi nhất trong mã hóa giọng nói và tổng hợp giọng nói. Đây là một kỹ thuật phân tích giọng
nói mạnh mẽ và là một phương pháp hữu ích để mã hóa giọng nói chất lượng tốt ở tốc độ bit thấp.

2. TỔNG QUAN

LPC bắt đầu với giả định rằng tín hiệu giọng nói được tạo ra bởi một bộ rung ở cuối ống (đối
với âm thanh có giọng nói), thỉnh thoảng có thêm tiếng rít và âm thanh bật lên (đối với âm thanh
không có giọng nói như sibilants và plosives). Mặc dù rõ ràng là thô sơ, mô hình Source-filter này
thực sự là một xấp xỉ gần đúng với thực tế của việc sản xuất giọng nói. Các thanh môn (khoảng
trống giữa các nếp gấp giọng hát) tạo ra tiếng vang, được đặc trưng bởi cường độ (độ lớn) và tần
số (cao độ). Đường thanh âm (cổ họng và miệng) tạo thành ống, được đặc trưng bởi sự cộng
hưởng của nó; Những cộng hưởng này làm phát sinh các định hình, hoặc các dải tần số nâng cao
trong âm thanh được tạo ra. Tiếng rít và tiếng bật được tạo ra bởi tác động của lưỡi, môi và cổ
họng trong sibilants và plosives.

LPC phân tích tín hiệu giọng nói bằng cách ước tính các chất tạo hình, loại bỏ ảnh hưởng
của chúng khỏi tín hiệu giọng nói và ước tính cường độ và tần số của tiếng vang còn lại. Quá trình
loại bỏ các chất tạo hình được gọi là lọc nghịch đảo và tín hiệu còn lại sau khi trừ tín hiệu được
lọc được gọi là dư lượng.

Các con số mô tả cường độ và tần số của buzz, các formants và tín hiệu dư lượng, có thể
được lưu trữ hoặc truyền đi một nơi khác. LPC tổng hợp tín hiệu giọng nói bằng cách đảo ngược
quy trình: sử dụng các tham số buzz và cặn để tạo tín hiệu nguồn, sử dụng các formant để tạo bộ
lọc (đại diện cho ống) và chạy nguồn thông qua bộ lọc, dẫn đến lời nói.

2
Bởi vì tín hiệu giọng nói thay đổi theo thời gian, quá trình này được thực hiện trên các đoạn
ngắn của tín hiệu giọng nói, được gọi là khung. Nói chung, 30 đến 50 khung hình mỗi giây cho
một bài phát biểu dễ hiểu với độ nén tốt.

3
CHƯƠNG 2: TỔNG QUAN VỀ TIẾNG NÓI VÀ XỬ LÝ TIẾNG NÓI

1. TIẾNG NÓI VÀ ĐẶC ĐIỂM CỦA TIẾNG NÓI

Tiếng nói là một trong những phương tiện trao đổi thông tin của con người. Tiếng nói được
tạo ra từ tư duy của con người dưới sự chỉ đạo của trung khu thần kinh, mệnh lệnh phát sinh tiếng
nói được phát ra và hệ thống phát âm thực hiện nhiệm vụ tạo âm thanh. Tiếng nói mà con người
vẫn 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 thanh
trong không khí là sóng dọc sinh ra do sự dãn nở của không khí. Tín hiệu âm thanh là tín hiệu
biến thiên liên tục về thời gian và biến độ, có dải tần số rất rộng. Tuy nhiên tại người chỉ có thể
nhận biết được các sóng âm có tần số trong khoảng 20 - 20000 (Hz). Những sóng âm có tần số lớn
hơn 20000 Hz gọi là sóng siêu âm. Những sóng có tần số nhỏ hơn 20 Hz gọi là sóng hạ âm. Thực
tế người ta có thể hạn chế dải tần số của tín hiệu tiếng nói trong khoảng từ 300 đến 3500 Hz. Do
đó, quá trình phân tích cũng như tổng hợp tiếng nói chỉ cần dùng một số nhất định các tham số
cũng đủ để biểu diễn tín hiệu tiếng nói mà não người xử lý.

Hình 1.1 Mô phỏng quá trình truyền tiếng nói trong không khí

Về bản chất vật lí, sóng âm, sóng siêu âm, sóng hạ âm không khác gì nhau và cũng như các
sóng cơ học khác. Sự phân biệt như trên là dựa vào khả năng cảm thụ các sóng cơ học của tai con
người, do các đặc tính sinh lí của tai người quyết định. Vì vậy sóng âm thanh được phân biệt hai
loại đặc tính là đặc tính vật lý và đặc tính âm học.

4
1.1. Đặc tính vật lý của âm thanh

Bản chất âm thanh tiếng nói là sóng cơ học nên có các tính chất cơ bản của sóng cơ học. Các
tính chất của sóng cơ học mang một ý nghĩa khác khi xét trên góc độ là âm thanh tiếng nói. Tín
hiệu âm thanh tiếng nói là một tín hiệu ngẫu nhiên không dừng, tuy nhiên những đặc tính của nó
tương đối ổn định trong những khoảng thời gian ngắn (vài chục mili giây). Trong khoảng thời
gian nhỏ đó tín hiệu gần tuần hoàn, có thể coi như tuần hoàn.

1.1.1. Độ cao (Pitch)

Độ cao hay còn gọi là độ trầm bổng của âm thanh chính là tần số của sóng cơ học. Âm thanh
nào phát ra cũng ở một độ cao nhất định. Độ trầm bổng của âm thanh phụ thuộc vào sự chấn động
nhanh hay chậm của các phần tử trong không khí trong một đơn vị thời gian nhất định. Nói cách
khác, độ cao của âm phụ thuộc vào tần số dao động. Đối với tiếng nói, tần số dao động của dây
thanh quy định độ cao giọng nói của con người và mỗi người có một độ cao giọng nói khác nhau.
Độ cao của nữ giới thường cao hơn so với nam giới và độ cao tiếng nói của trẻ em cao hơn so với
nữ giới, điều này cũng tương tự đối với tần số của dây thanh.

1.1.2. Cường độ

Cường độ chính là độ to nhỏ của âm thanh, cường độ càng lớn thì âm thanh có thể truyền đi
càng xa trong môi trường có nhiễu. Nếu xét trên góc độ sóng cơ học thì cường độ chính là biên độ
của dao động sóng âm, nó quyết định cho năng lượng của sóng âm. Trong tiếng nói, cường độ của
nguyên âm phát ra thường lớn hơn phụ âm. Do vậy chúng ta thường dễ phát hiện ra nguyên âm
hơn so với phụ âm. Tuy nhiên đối với tai người giá trị tuyệt đối của cường độ âm 1 không quan
trọng bằng giá trị tỉ đối của 1 so với một giá trị Io nào đó chọn làm chuẩn. Người ta định nghĩa
mức cường độ âm L là logarit thập phân của tỉ số I/I: (đơn vị mức cường độ là Ben - kí hiệu B)

L(B)=lg(I/I0)

1.1.3. Trường độ

Trường độ hay độ dài của âm phụ thuộc vào sự chấn động lâu hay nhanh của các phần tử
không khí. Cùng một âm nhưng trong các từ khác nhau thì độ dài khác nhau.

5
1.1.4. Âm sắc

Âm sắc là bản sắc, sắc thái riêng của một âm, cùng một nội dung, cùng một độ cao nhưng
khi nói mỗi người đều có âm sắc khác nhau.

1.2. Đặc tính âm học của âm thanh

Tín hiệu tiếng nói là tín hiệu tương tự biểu diễn cho thông tin về mặt ngôn ngữ và được mô
tả bởi các âm vị khác nhau. Tuỳ theo từng ngôn ngữ cụ thể mà số lượng các âm vị nhiều hay ít.
Thông thường số lượng các âm vị vào khoảng 20 – 30 và nhỏ hơn 50 đối với mọi ngôn ngữ. Đối
với từng loại âm vị mà có các đặc tính âm thanh khác nhau. Các âm vị được chia thành hai loại
nguyên âm và phụ âm. Tổ hợp các âm vị tạo nên âm tiết. Âm tiết đóng vai trò một từ trọn vẹn
mang ngữ nghĩa.

1.2.1. Nguyên âm

Nguyên âm được tạo ra bằng sự cộng hưởng của dây thanh khi dòng khí được thanh môn
đẩy lên. Khoang miệng được tạo lập thành nhiều hình dạng nhất định tạo thành các nguyên âm
khác nhau. Số lượng các nguyên âm phụ thuộc vào từng ngôn ngữ nhất định. Mỗt nguyên âm
được đặc trưng bởi 3 formant đầu tiên, các formant tiếp theo thường thì ít mang thông tin hơn.

1.2.2. Phụ âm

Phụ âm được tạo ra bởi các dòng khí hỗn loạn được phát ra gần những điểm co thắt của
đường dẫn âm thanh do cách phát âm tạo thành. Dòng không khí tại chỗ đóng của vòm miệng tạo
ra phụ âm tắc. Những phụ âm xát được phát ra từ chỗ co thắt lớn nhất và các âm tắc xát tạo ra từ
khoảng giữa. Phụ âm có đặc tính hữu thanh và vô thanh tuỳ thuộc việc dây thanh có dao động để
tạo thành cộng hưởng không. Đặc tính của phụ âm tuỳ thuộc vào tính chu kỳ của dạng sóng, phổ
tần số, thời gian tồn tại và sự truyền dẫn âm.

1.2.3. Tỷ suất thời gian

Trong khi nói chuyện, khoảng nói chuyện và khoảng nghỉ xen kẽ nhau. Phần trăm thời gian
nói trên tổng số thời gian nói và nghỉ được gọi là tỷ xuất thời gian. Giá trị này biến đổi tuỳ thuộc
vào tốc độ nói và từ đó ta có thể phân loại thành nói nhanh, nói chậm hay nói bình thường.

6
1.2.4. Hàm năng lượng thời gian ngắn

Hàm năng lượng thời gian ngắn của tiếng nói được tính bằng cách chia tín hiệu tiếng nói
thành nhiều khung chứa N mẫu và tính diện tích trung bình tổng các mẫu tín hiệu trong mỗi
khung. Các khung này được đưa qua một cửa sổ có dạng hàm như sau:

Thông thường có ba dạng cửa sổ được sử dụng đó là cửa sổ chữ nhật, cửa sổ Hamming và
cửa sổ Hanning.

Cửa sổ chữ nhật:

Cửa sổ Hamming:

Cửa sổ Hanning:

7
Hàm năng lượng ngắn tại mẫu thứ m được tính theo công thức sau :

Hàm năng lượng thời gian ngắn của âm hữu thanh thường lớn hơn so với âm vô thanh.

1.2.5. Tần số vượt qua điểm không

Tần suất vượt qua điểm không là số lần biên độ tín hiệu tiếng nói vượt qua giá trị không
trong một khoảng thời gian cho trước. Thông thường giá trị này đối với âm vô thanh lớn hơn âm
hữu thanh do đặc tính ngẫu nhiên của âm vô thanh. Do đo tần suất vượt qua điểm không là tham
số quan trọng để phân loại âm hữu thanh và âm vô thanh.

1.2.6. Phát hiện điểm cuối

Trong xử lý tiếng nói việc xác định khi nào bắt đầu xuất hiện tín hiệu tiếng nói và khi nào
kết thúc quá trình nói rất cần thiết và quan trọng. Trong một môi trường nhiều tiếng ồn (nhiễu)
hoặc môi trường nhiều người nói thì việc phát hiện điểm kết thúc rất khó khăn. Có rất nhiều
phương pháp để phát hiện điểm cuối của tiếng nói. Ví dụ như một phương pháp đơn giản sau :
Lấy một mẫu nhỏ của nền nhiễu trong khoảng thời gian yên lặng trước khi bắt đầu nói. Sử dụng
hàm năng lượng thời gian ngắn để tính năng lượng cho mẫu. Ngưỡng của tiếng nói được chọn là
giá trị giữa năng lượng yên tĩnh và năng lượng đỉnh. Ban đầu giả thiết điểm cuối xuất hiện tại
điểm năng lượng tín hiệu vượt quá mức ngưỡng. Để tính đúng ước lượng này, người ta giả thiết
và so sánh chúng với giá trị đó trong vùng yên tĩnh. Khi những thay đổi phát hiện được trong khi
tính toán tần suất trên suất hiện ở ngoài ngưỡng giả thiết thì điểm cuối được giả thiết lại tại điểm
mà sự thay đổi xảy ra.

8
1.2.7. Tần số cơ bản

Dạng sóng của tiếng nói gồm hai phần: Phần gần giống nhiễu trong đó biên độ biến đổi ngẫu
nhiên và phần 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
hòa. 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 dây dây thanh.
Đối với những người nói khác nhau, tần số cơ bản cũng khác nhau. Tần số cơ bản của trẻ em
thường cao hơn so với người lớn và của nữ giới cao hơn so với nam giới, Sau đây là một số giá trị
tần số cơ bản tương ứng với giới tính và tuổi:

Đối với hai âm có cùng cường độ, cùng độ cao sẽ được phân biệt bởi tính tuần hoàn. Một âm
hữu thanh có tín hiệu gần như tuần hoàn khi được phân tích phổ sẽ xuất hiện một vạch tại vùng
tần số rất thấp. Vạch này đặc trưng cho tính tuần hoàn cơ bản của âm hay đó chính là tần số cơ
bản của âm. Trong giao tiếp bình thường tần số cơ bản thay đổi liên tục tạo nên ngữ điệu cho
tiếng nói. Hình dưới mô tả tín hiệu trên miền thời gian và phổ của chúng (trên miền tần số) của
các nguyên âm a, i, u. Đỉnh đầu tiên của các phổ tương ứng với tần số cơ bản F 0.

Hình 1.2 Tín hiệu và phổ của tín hiệu

9
1.2.8. Formant

Trong phổ tần số của tín hiệu tiếng nói, mỗi đỉnh có biên độ cao nhất xét trong một khoảng
nào đó (còn gọi là cực trị địa phương) xác định một formant, Ngoài tần số, formant còn được xác
định bởi biên độ và dải thông của chúng. Về mặt vật lý các tần số formant tương ứng với các tần
số cộng hưởng của tuyến âm. Trong xử lý tiếng nói và nhất là trong tổng hợp tiếng nói để mô
phỏng lại tuyến âm người ta phải xác định được các tham số formant đối với từng loại âm vị, do
đó việc đánh giá, ước lượng các formant có ý nghĩa rất quan trọng. Tần số formant biến đổi trong
một khoảng rộng phụ thuộc vào giới tính của người nói và phụ thuộc vào các dạng âm vị tương
ứng với formant đó. Đồng thời, formant còn phụ thuộc các âm vị trước và sau đó. Về cấu trúc tự
nhiên, tần số formant có liên hệ chặt chẽ với hình dạnh và kích thước tuyến âm. Thông thường
trong phổ tần số của tín hiệu có khoảng 6 formant nhưng chỉ có 3 formant đầu tiên ảnh hưởng
quan trọng đến các đặc tính của các âm vị, còn các formant còn lại cũng có ảnh hưởng song rất ít.
Các formant có giá trị tần số xê dịch từ vài trăm đến vài nghìn Hz. Tần số formant đặc trưng cho
các nguyên âm biến đổi tuỳ thuộc vào người nói trong điều kiện phát âm nhất định. Mặc dù phạm
vi của các tần số formant tương ứng với mỗi nguyên âm có thể trùng lên nhau nhưng vị trí giữa
các formant đó không đổi vì sự xê dịch của các formant là song song. Ngoài formant, các âm mũi
còn có các tần số bị suy giảm gọi là phản formant (antiformant). Phản formant được tạo nên khi
luồng khí đi qua khoang mũi. Các formant tương ứng nói các điểm cực của hàm truyền đạt vì tại
lân cận điểm cực giá trị hàm truyền đạt là rất lớn, tương tự vậy các anti-formant tương ứng với các
điểm không của hàm truyền đạt.

1.3. Phân loại đơn giản dạng sóng tiếng nói:

Tiếng nói của con người tạo ra bao gồm có hai thành phần đó là:

- Phần gần tuần hoàn mà hầu như lặp lại cùng chu kỳ được gọi là tiếng nói hữu thanh
(voiced speech). Chu kỳ lặp lại đó gọi là chu kì cơ bản Tp nghịch đảo của T 0 là tần số cơ bản F.
Âm hữu thanh được phát ra bởi một luồng khí cực mạnh từ thanh môn thổi qua dây thanh làm
dung dây thanh, sự dao động của dây thanh tạo nên nguồn tuần hoàn. Nguồn tuần hoàn kích thích
tuyến âm tạo nên âm hữu thanh. Vùng âm hữu thanh chiếm thành phần chủ yếu của sóng tiếng
nói, chứa đựng lượng tin nhiều nhất và thời gian lớn nhất trong quá trình nói.

10
- Phần tín hiệu có dạng giống như tập âm nhiễu có biên độ ngẫu nhiên còn được gọi là tiếng
nói vô thanh (unvoiced speech). Tiếng nói vô thanh được tạo ra do sự co thắt theo một dạng nào
đó của tuyến âm và luồng khí chạy qua chỗ thắt với tốc độ lớn tạo nên nhiễu loạn, ví dụ như lúc ta
nói thì thào (cần phân biệt thì thầm với thì thào, theo từ điển tiếng Việt thì thào là nói chuyện với
nhau rất nhỏ tựa như gió thoảng qua tại còn thì thầm là nói chuyện với nhau không để người ngoài
nghe thấy). Năng lượng do nguồn nhiễu loạn tạo ra sẽ kích thích tuyến âm tạo nên tiếng nói vô
thanh, năng lượng của tiếng nói vô thanh nhỏ hơn so với tiếng nói hữu thanh. Ta có thể phát hiện
ra tiếng nói hữu thanh là khi nói dây thanh rung. Còn âm vô thanh khi nói dây thanh không rung.
Nói thì thào thì ở xa không nghe được do năng lượng của âm vô thanh rất nhỏ và tiếng thì thào là
do âm vô thanh tạo nên.

1.4. Bộ máy phát âm và cơ chế phát âm

1.4.1. Bộ máy phát âm

Hình 1.3 Bộ máy phát âm của con người

1. Hốc mũi

11
2. Vòm miệng trên

3. Ổ răng

4. Vòm miệng mềm

5. Đầu lưỡi

6. Thân lưỡi

7. Lưỡi gà

8. Cơ miệng

9. Yết hầu

10. Nắp đóng của thanh quản

11. Dây thanh giả

12. Dây thanh

13. Thanh quản

14. Thực quản

15. Khí quản

1.4.2. Cơ chế phát âm

Hình 1.3 mô tả bộ máy phát âm của con người. Nguồn năng lượng chính nằm ở thanh môn,
Tuyến âm sẽ được kích thích bởi nguồn năng lượng chính tại thanh môn. Tiếng nói được tạo ra
sóng âm học do kích thích từ thanh môn phát ra đây không khí có trong phổi lên tạo thành dòng
khí va chạm vào hai dây thanh trong tuyến âm. Hai dây thanh dao động sẽ tạo ra cộng hưởng, dao
động âm sẽ được lan truyền theo tuyến âm (tính từ tuyến âm đến khoang miệng) và sau khi đi qua
khoang mũi, môi sẽ tạo ra tiếng nói.

- Thanh quản chứa hai dây thanh có thể dao động tạo ra sự cộng hưởng đầu tiên của quá
trình tạo thành âm thanh.

12
- Ống dẫn âm là một ống không đồng dạng bắt đầu từ môi, kết thúc bởi dây thanh hoặc thanh
quản. Ông có độ dài khoảng 17cm đối với người bình thường.

- Khoang mũi cũng là ống không đồng dạng thuộc vùng cố định bắt đầu từ mũi, kết thực tại
vòm miệng, đối với người bình thường khoang mũi có độ dài 12 cm.

- Khoang miệng là các nếp da chuyển động có thể điều khiển sự ghép âm thanh giữa khoang
miệng và khoang mũi.

Hình 1.4 Mô tả dây thanh âm

Trong quá trình phát âm, nếu là âm mũi thì vòm miệng hạ thấp và dòng khí chỉ đi qua đường
mũi, nếu là âm thường thì vòm miệng mở, đường mũi khép lại và dòng khí đi theo khoang miệng
ra môi.

2. MỘT SỐ KIẾN THỨC CHUNG VỀ XỬ LÝ TÍN HIỆU RỜI RẠC

2.1 Mô hình hệ xử lý tín hiệu rời rạc

Một hệ xử lý tín hiệu sẽ xác lập mối quan hệ nhân quả giữa tín hiệu vào và tín hiệu ra. Ta có
thể biểu diễn hệ xử lý bằng mô hình toán học thông qua một phép biến đổi hay một toán tử T nào

13
đó. Tín hiệu vào x(n) được gọi là tác động, còn tín hiệu ra yến) được gọi là đáp ứng của hệ xử lý.
Mối quan hệ giữa tín hiệu vào và tín hiệu ra của hệ có thể được biểu diễn như sau:

Hình 1.5 Mô hình hệ xử lý biến đổi tín hiệu vào x(n) thành tín hiệu ra y(n)

Các hệ xử lý phân thành 2 loại là hệ tuyến tính và hệ phi tuyến. Một hệ thống được gọi là
tuyến tính nếu nó thoả mãn nguyên lý xếp chồng, tức là thoả mãn 2 tính chất sau:

Tính tỷ lệ:

T[a.x(n)] = a.T[x(n)] = a.y(n)

Tính tổ hợp:

T[x1(n)+x2(n)] = T[x1(n)] + T[x2(n)] = y1(n) + y2(n)

Các hệ tuyến tính có một ý nghĩa đặc biệt trong phân tích và xử lý, vì nó giúp ta đưa việc xử
lý một hệ phức tạp về việc xử lý các hệ đơn giản, sau đó ta chỉ việc tổng hợp lại kết quả. Vì thế
ngay cả các hệ phi tuyến nhiều khi cũng được xấp xỉ thành các hệ tuyến tính để tiện cho việc xử
lý.

Các hệ tuyến tính cũng được phân thành 2 loại là tuyến tính bất biến và tuyến tính thay đổi
theo thời gian. Trong xử lý tín hiệu thường chúng ta chỉ quan tâm đến các hệ tuyến tính bất biến.
Một hệ tuyến tính được gọi là bất biến theo thời gian nếu đáp ứng của hệ đối với tác động x(n) thì
đáp ứng của hệ đối với tác động x(n-k) sẽ là y(n-k).

Các hệ tuyến tính bất biến được đặc trưng hoàn toàn bằng đáp ứng xung h(n) (là đáp ứng ra
ứng với tác động vào là xung Dirac δ(n)). Nếu biết h(n) ta hoàn toàn có thể tính được đáp ứng
y(n) của tín hiệu vào x(n):
14
y(n)=h(n)*x(n)= ∑x(k).h(n – k)

Trong xử lý tín hiệu tiếng nói, các hệ thống mà chúng ta quan tâm đều là hệ tuyến tính bất
biến, do đó chúng ta có thể áp dụng các tính chất, kết quả của hệ tuyến tính bất biến để áp dụng
vào việc khảo sát phân tích tín hiệu tiếng nói.

3. MÔ HÌNH TẠO TIẾNG NÓI

Tiếng nói là một loại âm thanh, nhưng ngược lại, không phải bất kỳ âm thanh nào cũng là
tiếng nói. Tiếng nói được phân biệt với các âm thanh khác bởi các đặc tính âm học có nguồn gốc
từ cơ chế tạo tiếng nói. Trong quá trình tạo tiếng nói có 2 loại nguồn âm:

Nguồn tuần hoàn: là nguồn tương ứng với các âm mà khi phát ra làm cho dây thanh rung.
Trong tiếng Việt nguồn tuần hoàn tương ứng với các nguyên âm và các phụ âm hữu thanh

Nguồn không tuần hoàn (nguồn tạp âm): là nguồn tương ứng với các âm mà khi phát ra
không làm cho dây thanh rung. Trong tiếng Việt các nguồn không tuần hoàn tương ứng với các
phụ âm vô thanh.

Với nguồn tuần hoàn thì vị trí nguồn tại chính thanh môn, còn nguồn không tuần hoàn thì có
vị trí trong tuyến âm tức là từ thanh mốn trở lên cho đến dưới môi. Quá trình tạo tiếng nói từ
thanh môn đến tuyến âm đã được Fant (1960) mô hình hoá qua mô hình sau:

15
Hình 1.6 Mô hình tạo tiếng nói (Fant - 1960)

Trong mô hình trên, tín hiệu vào của hệ thống là một chuỗi xung đơn vị có chu kỳ T 0 Tín
hiệu này được cho qua một bộ lọc thông thấp có hàm truyền đạt:

Đầu ra của bộ lọc ta được tín hiệu nguồn của hệ thống (cũng là tín hiệu tuần hoàn với chu kỳ
T0). Tín hiệu nguồn sau đó được đưa qua tuyến ẩm thực chất là một hốc cộng hưởng được mô
hình hoá bằng K mạch cộng hưởng mắc nối tiếp nhau với hàm truyền đạt:

Cuối cùng âm thanh được phát ra ở môi, nơi được coi như một tải âm học. Sự tán xạ ở môi
được thể hiện qua hàm truyền đạt:

R(z) =C(1-z-1)

Như vậy theo mô hình Fant, hàm truyền đạt của hệ thống có dạng:

T(z)=G(z).V(z).R(z)

Hình 1.7 Mô hình tạo tiếng nói

16
Nếu giả thiết là một trong hai điểm cực tại thanh môn bằng -1 ( β = -1 ). Khi đó hàm truyền
đạt của hệ thống sẽ có dạng:

Khi đó ta có T(z)= σ/A(z) và A(Z) được gọi là hàm truyền đạt của bộ lọc đảo. Mô hình

của bộ lọc đảo có thể minh họa như sau:

Hình 1.8 Mô hình bộ lọc đảo

4. BIỂU DIỄN SỐ TIẾNG NÓI

Tín hiệu tiếng nói là tín hiệu tương tự, do đó khi biểu diễn tín hiệu tiếng nói trong môi
trường tính toán tín hiệu số, việc biểu diễn và lưu trữ sao cho không bị mất mát thông tin là vấn đề
rất quan trọng trong các hệ thống thông tin sử dụng tiếng nói. Việc xem xét các vấn đề xử lý tín
hiệu tiếng nói trong các hệ thống này được dựa trên ba vấn đề chính:

- Biểu diễn tín hiệu tiếng nói dạng số.

17
- Cài đặt các kỹ thuật xử lý tinh vi.

- Các lớp ứng dụng dựa trên kỹ thuật xử lý số tín hiệu.

Biểu diễn tín hiệu tiếng nói theo dạng số chịu ảnh hưởng quan trọng của lý thuyết lấy mẫu,
theo đó các trạng thái của tín hiệu có dải tần số giới hạn có thể được biểu diễn dưới dạng các mẫu
lấy tuần hoàn theo một chu kì cố định được gọi là chu kì lấy mẫu. Việc lấy mẫu này sẽ cung cấp
cho hệ thống những mẫu tín hiệu với tỉ lệ đủ lớn để xử lý. Tất cả các quá trình xử lý lấy mẫu được
chỉ rõ trong các tài liệu về xử lý tín hiệu số.

Hình 1.9 Biểu diễn tín hiệu tiếng nói.

Phương pháp biểu diễn tín hiệu theo dạng sóng, được xem xét đến với việc bảo quản thông
tin theo cách thông thường là giữ nguyên hình dạng sóng của tín hiệu tương ứng khi đã qua các
bước lấy mẫu và lượng tử hoá tín hiệu. Còn phương pháp biểu diễn theo tham số được xem xét

18
đến trên khía cạnh biểu diễn tín hiệu tiếng nói như là đầu ra của hệ thống tạo tiếng nói. Để thu
được các tham số biểu diễn, bước đầu tiên của phương pháp này lại thường là biểu diễn tín hiệu
tiếng nói theo dạng sóng. Điều này có nghĩa là tín hiệu tiếng nói được lấy mẫu và lượng tử giống
như phương pháp biểu diễn tín hiệu tiếng nói dạng sóng, sau đó sẽ tiến hành xử lý để thu được các
tham số của tín hiệu tiếng nói của mô hình tạo tiếng nói nêu trên. Các tham số của mô hình tạo
tiếng nói này thường được phân loại thành các tham số kích thích và các tham số của bộ máy phát
âm tương úng.

Để áp dụng các phương pháp xử lý tín hiệu số cho tín hiệu tiếng nói chúng ta phải biểu diễn
tín hiệu tiếng nói dưới dạng rời rạc. Quá trình rời rạc hoá tín hiệu tiếng nói bao gồm các bước sau:

- Lấy mẫu tín hiệu tiếng nói với tần số lấy mẫu f0.

- Lượng tử hoá các mẫu với bước lượng tử q.

- Mã hoá và nén tín hiệu.

4.1. Xác định tần số lấy mẫu tín hiệu tiếng nói

Khi lấy mẫu một tín hiệu tương tự với tần số lấy mẫu f0, cần đảm bảo rằng việc khôi phục
lại tín hiệu đó từ tín hiệu rời rạc tương ứng phải được thực hiện được. Shanon đã đưa ra một định
lý mà theo đó người ta có thể xác định tần số lấy mẫu đảm bảo yêu cầu trên. Theo Shanon, điều
kiện cần và đủ để khôi phục lại tín hiệu tương tự từ tín hiệu đã được rời rạc với tần số lấy mẫu f0
là: f0 >= Fmax với Fmax là tần số lớn nhất của tín hiệu tương tự.

Người ta biết rằng phổ của tín hiệu tiếng nói trải rộng trong khoảng 12kHz, do đó theo định
lý Shanon thì tần số lấy mẫu tối thiểu là 24kHz. Với tần số lấy mẫu lớn như thế thì khối lượng bộ
nhớ dành cho việc ghi âm sẽ rất lớn và làm tăng sự phức tạp trong tính toán. Nhưng chi phí cho
việc xử lý tín hiệu số, bộ lọc, sự truyền và ghi âm có thể giảm đi nếu chúng ta chấp nhận giới hạn
phổ bằng cách cho tín hiệu qua một bộ lọc tần số thích hợp. Đối với tín hiệu tiếng nói cho điện
thoại, người ta thấy rằng tín hiệu tiếng nói vẫn đạt được chất lượng cần thiết khi để mức độ ngữ
nghĩa của thông tin vẫn đảm bảo khi phổ được giới hạn ở 3400Hz. Khi đó tần số lấy mẫu sẽ là
8000Hz. Trong kỹ thuật phân tích, tổng hợp hay nhận dạng tiếng nói, tần số lấy mẫu có thể giao

19
động trong khoảng 6000-16000Hz. Đối với tín hiệu âm thanh (bao gồm cả âm nhạc và tiếng nói)
tần số lấy mẫu cần thiết là 48kHz.

4.2. Lượng tử hoá

Việc biểu diễn số tín hiệu đòi hỏi lượng tử hoá mỗi mẫu tín hiệu với một giá trị rời rạc hữu
hạn. Mục tiêu của công việc này là hoặc là để truyền tải hoặc là xử lý có hiệu quả. Trong trường
hợp thứ nhất, mỗi mẫu tín hiệu được lượng tử hóa, mã hoá rồi truyền đi. Bên thu nhận tín hiệu
giải mã và thu được tín hiệu tương tự. Tính thống kê của tín hiệu được bảo toàn sẽ ảnh hưởng
quan trọng đến thuật toán lượng tử hoá. Trong trường hợp xử lý tín hiệu, luật lượng tử được quy
định bởi hệ thống xử lý, nó có thể được biểu diễn bằng dấu phẩy tĩnh hay dấu phẩy động. Việc xử
lý bằng dấu phẩy động cho phép có một sự mềm dẻo cần thiết đối với tín hiệu mặc dù nó đòi hỏi
chi phí cao với các tính toán, việc xử lý bằng dấu phẩy tĩnh đơn giản hơn nhiều nhưng đòi hỏi các
điều kiện chặt chẽ đối với các thuật toán xử lý.

4.3. Nén tín hiệu tiếng nói

Lượng tử hoá tín hiệu gây ra các lỗi thành phần giống nhiễu trắng, như vậy số bước lượng tử
là cố định thì tỷ số này là hàm của biên độ tín hiệu, người ta sử dụng luật lượng tử logarithm và
mỗi mẫu tín hiệu được biểu diễn bằng 8 bit. Đối với tín hiệu âm thanh kích thước mẫu thường
dùng là 16 bit. Một đặc trưng cần thiết của phép biểu diễn tín hiệu số là tốc độ nhị phân tính bằng
bit/s. Đó là giá trị quan trọng trong khi thực hiện truyền dữ liệu cũng như lưu trữ dữ liệu. Đường
truyền điện thoại có tốc độ 80kHz)*8(bit)= 64Kb/s. Khi thực hiện truyền và ghi lại tín hiệu âm
thanh, tốc độ cần thiết là 768kb/s. Ta biết rằng tín hiệu tiếng nói có độ dư thừa rất lớn, do đó có
thể giảm tốc độ tín hiệu tuỳ thuộc vào mục đích xử lý khi xem xét đến mức độ phức tạp của thuật
toán cũng như xem xét đến chất lượng của việc biểu diễn tín hiệu tiếng nói. Có nhiều kỹ thuật đưa
ra để đạt được mục đích trên. Sự lựa chọn một phương pháp biểu diễn số tín hiệu phải thoả mãn
giữa các tiêu chuẩn về chất lượng của phép biểu diễn, tốc độ truyền hay lưu trữ và cuối cùng là
các điều kiện môi trường. Thông thường số bit có nghĩa dùng để biểu diễn chuỗi lượng tử cần
phải làm giảm bớt vì lý do kỹ thuật. Việc này có thể thực hiệu được bằng cách bỏ đi các bít ít có
nghĩa nhất, nếu lượng tử là tuyến tính, lỗi lượng tử tăng cùng với khoảng cách giá trị của

20
chuỗi. Nhưng đối với một vài ứng dụng, mức lượng tử ở vùng tần số cao có yêu cầu thấp
hơn so với ở vùng tần số thấp hay ngược lại, trong trường hợp đó cần sử dụng toán tử tuyến tính
để biến đổi tín hiệu.

5. TỔNG QUAN VỀ MÃ HÓA TIẾNG NÓI

Trong một vài thập kỷ vừa qua, đã có rất nhiều kỹ thuật mã hoá nén tiếng nói được đưa ra,
phân tích và phát triển. Trong phần này tôi sẽ giới thiệu một số kỹ thuật đang được sử dụng hiện
nay, và một số kỹ thuật sẽ được dùng trong tương lai. Thông thường thì mã hoá tiếng nói được
chia làm hai lớp đó là: mã hoá dạng sóng (waveform coder) và mã hoá nguồn (source coder) (hay
còn được gọi là mã hoá thông số). Mã hoá dạng sóng được thực hiện ở tốc độ bít cao và cho chất
lượng mã hoá tiếng nói tốt. Mã hoá nguồn thực hiện ở tốc độ bít thấp, nhưng nó có xu hướng tạo
ra tiếng nói có chất lượng nhân tạo. Hiện nay, một lớp mới của mã hoá tiếng nói được gọi là mã
hoá lại (hybrid coder), đây là kỹ thuật mã hoá tổng hợp của phương pháp mã hoá dạng sóng và mã
hoá nguồn, nó cho chất lượng tiếng nói khá tốt và thực hiện ở tốc độ bít trung bình. Hình 1.10 sẽ
đưa ra đồ thị biểu diễn sự phụ thuộc của chất lượng tiếng nói đối với tốc độ bít của hai lớp chính
là mã hoá dạng sóng và mã hoá nguồn.

Hình 1.10 Chất lượng tiếng nói theo tốc độ bít

21
5.1. Mã hóa dạng sóng

Mã hoá dạng sóng nhằm tái tạo lại tín hiệu đầu vào của tiếng nói. Nó thường được chia
thành các tín hiệu độc lập do vậy nó có thể được dùng để mã hoá rất nhiều loại tín hiệu. Thông
thường, đây là phương pháp mã hoá có độ phức tạp thấp tuy nhiên lại cho chất lượng cao với tốc
độ bít cao (lớn hơn khoảng 16kbps). Mã hoá dạng sóng có thể được thực hiện trên cả miền tần số
cũng như trên miền thời gian.

5.1.1. Mã hoá trên miền thời gian

Mã hoá trên miền thời gian thực hiện việc mã hóa trên khoảng thời gian lấy mẫu của tín
hiệu. Các phương pháp mã hoá trong miền thời gian thường được dùng gồm có: Điều chế mã
xung (PCM), điều chế mã xung thích ứng (APCM), điều chế mã xung vi phân (DPCM), điều chế
mã xung vi phân thích ứng (ADPCM), điều chế Delta (DM), điều chế Delta thích ứng, và mã hoá
dự đoán thích ứng (APC). Tiếp theo ta sẽ xem xét một vài phương pháp mã hoá quan trọng trong
miền thời gian.

Mã hoá PCM

Điều chế mã xung là phương pháp đơn giản nhất trong mã hoá dạng sóng. Điểm cốt yếu của
phương pháp này chính là quá trình lượng tử hóa. Bất cứ dạng lượng tử hoá vô hướng nào cũng có
thể được sử dụng trong phương pháp này, nhưng dạng hay được dùng nhất là lượng tử hoá logarit.
Uỷ ban tư vấn điện thoại và điện báo quốc tế đã giới thiệu G.711 như là phương pháp chuẩn cho
việc mã hoá tiếng nói thoại. Chuẩn G.711 xác định 8 bit theo luật u và luật A của PCM. Mã hoá
dùng luật u có ít lợi thế hơn trong việc thực hiện vì nó cho tỉ số tín hiệu trên nhiễu bé hơn.

Mã hoá DPCM và ADPCM

PCM không giả định về tính tự nhiên của dạng sóng được mã hóa, do đó nó làm việc tốt với
các tín hiệu mà không phải là tiếng nói. Tuy nhiên, khi mã hoá tiếng nói thì sẽ có sự tương quan
rất lớn giữa các mẫu cạnh nhau. Sự tương quan này có thể được sử dụng để khôi phục được tốc độ
bít của kết quả. Một phương pháp đơn giản để thực hiện việc này đó là chỉ truyền sự sai khác giữa
các mẫu. Tín hiệu khác biệt này sẽ có phạm vi dao động nhỏ hơn so với tín hiệu tiếng nói ban đầu,
do vậy nó có thể lượng tử hoá một cách hiệu quả bằng việc sử dụng các bộ vector lượng tử hoá

22
với mức xây dựng lại thấp hơn. Trong phương pháp trên, mẫu trước được sử dụng để dự đoán giá
trị của mẫu hiện tại. Sự dự đoán này có thể được cải thiện nếu như ta sử dụng một khối lớn hơn
của tín hiệu tiếng nói cho việc dự đoán. Phương pháp này được gọi là điều chế mã hoá xung vi
phân (DPCM). Kiến trúc của nó được đưa ra trong hình vẽ 1.11.

Một phiên bản phát triển của DPCM là điều chế mã xung thích ứng ADPCM. Trong
ADPCM, bộ dự đoán và lượng tử hoá được thích ứng với các đặc tính của tín hiệu đầu vào. Có
một số chuẩn được ITU giới thiệu cho việc mã hoá tín hiệu âm thanh dựa vào giải thuật ADPCM
(với dải thông hẹp khoảng 8kHz) ví dụ như G.726 thực hiện ở các tốc độ bít 40, 32, 24 và 16
kbps. Độ phức tạp của ADPCM là thực sự thấp. Mã hoá ADPCM sẽ cho tín hiệu tín hiệu trên
nhiều cao (vào khoảng 30 đến 35 dB).

Hình 1.11: Hệ thống DPCM, khối mã hoá ở bên trái còn khối giải mã bên phải. Bộ lượng
tử hoả đảo (inverse quantizer) có nhiệm vụ chuyển các mã đã được truyền thành tín hiệu u(n).

5.1.2. Mã hoá trong miền tần số

Mã hoá dạng sóng trong miền tần số chia tín hiệu thành các thành phần tần số khác nhau và
tiến hành mã hoá từng thành thành phần này. Số bít sử dụng để mã hoá từng thành phần tần số có
thể thay đổi. Mã hoá trong miền tần số được chia ra làm hai nhóm là: mã hoá bằng con (subband)
và mã hoá biến đổi (transform).

Mã hoá băng con (subband)

23
Mã hoá băng con sử dụng một số bộ lọc dải thông để chia tín hiệu đầu vào thành các tín hiệu
con (subband signal) mà đã được mã hoá. Tại bộ thu các tín hiệu con được giải mã và cộng lại
nhằm khôi phục lại tín hiệu ban đầu. Ưu điểm chính của phương pháp mã hoá bằng con đó là
nhiều lượng tử hoá sinh ra trong một dải tần sẽ bị hạn chế trong chính dải tần đấy. Hiệp hội viễn
thông quốc tế ITU đã đưa ra chuẩn G.722 trong mã hoá bằng con (subband) để truyền thông với
các tốc độ 48, 56 hay là 64 kbps.

Mã hoá biến đổi (transform) Kỹ thuật này cần có một khối chuyển đổi của cửa sổ tín hiệu
đầu vào thành các thành phần tần số, hoặc một vài miền tương tự. Mã hoá thích ứng sau đó sẽ
hoàn thành bằng cách phân bổ thêm bít vào các thành phần hệ số quan trọng hơn. Tại bộ thu thì
bộ giải mã sẽ thực hiện việc chuyển đổi ngược để thu lại tín hiệu cần khôi phục. Ta có thể sử dụng
một số phép biến đổi như: phép biến đổi Fourier rời rạc (DFT) hay là phép biến đổi cosine rời rạc
(DCT).

5.2. Mã hoá nguồn

Mã hoá nguồn sử dụng một mô hình trong đó chỉ ra quá trình làm thế nào để phát sinh ra
nguồn, và quá trình phân tích từ tín hiệu được mã hoá các thông số của mô hình, Các thông số này
sẽ được truyền tới bộ giải mã. Mã hoá nguồn sử dụng cho tiếng nói được gọi là vocoder (viết tắt
của mã hoá tiếng nói - vocal coder), và nó sử dụng một mô hình lọc nguồn như trong hình vẽ
1.12. Mô hình này thừa nhận là tiếng nói được tạo ra bằng cách kích thích bộ lọc tuyến tính bằng
một tín hiệu nhiễu trắng đối với các tín hiệu vô thanh, hoặc là một chuỗi các xung tín hiệu giọng
nói. Bộ mã hoá nguồn hoạt động với tốc độ bít ở khoảng 2kbps hoặc bé hơn. Dựa vào các phương
thức phân tích thông số mô hình, một vài kiểu mã hoá nguồn đã được phát triển ví dụ như viz, mã
hoá kênh, mã hoá đồng hình, mã hoá formant và mã hoá dự đoán tuyến tính. Việc sử dụng bộ lọc
này tương tự với nguyên lý của mã hoá dự đoán tuyến tính (LPC).

24
Hình 1.12 Mô hình tạo tiếng nói được sử dụng bởi mã hoá nguồn

5.3. Mã hoá lai

Mã hoá lai (hybrid coder) là phương pháp tổng hợp giữa phương pháp mã hóa dạng sóng và
mã hoá nguồn, nhằm khắc phục các nhược điểm của hai phương pháp trên. Như ta đã nói thì mã
hóa dạng sóng sẽ cho chất lượng tốt với tốc độ bít vào khoảng 16kbps, trong khi đó mã hoá nguồn
được thực hiện ở một tốc độ bít rất thấp (vào khoảng 2.4 kbps) nhưng không thể đưa ra chất lượng
tự nhiên. Mặc dù còn có một số dạng mã hóa lai khác còn tồn tại, tuy nhiên phương pháp thành
công nhất và được sử dụng rộng rãi đó là phương pháp mã hoá trong miền tần số Analysys - by –
Synthesis (ABS). Phương pháp này cũng sử dụng mô hình lọc dự đoán tuyến tính. Tuy nhiên, thay
vì áp dụng mô hình đơn giản gồm có hai trạng thái là hữu thanh vô thanh (voiced / unvoiced) để
tìm đầu vào cần thiết cho bộ lọc, thì tín hiệu kích thích được chọn sao cho tín hiệu được khôi phục
gần với tín hiệu ban đầu. Một mô hình chung của mã hóa ABS được đưa ra trong hình vẽ 1.13.
AbS được giới thiệu lần đầu tiên vào năm 1982 bởi Atal và Remde, và ban đầu nó được gọi là mã
hóa kích thích đa xung (MPE), và sau đó thì RPE và CELP lần lượt được đưa ra. Nhiều bản CELP
khác nhau đã được chuẩn hoá, gồm có G.723.1 hoạt động ở tốc độ bít là 6.3/5.3 kbps, G.729 ở 8
kbps, G.728 ở 16 kbps và tất cả các chuẩn mã hoá mạng thoại di động như GSM, IS – 54, IS – 95,
IS – 136.

25
Hình 1.13 Kiến trúc của mã hoá ABS. (a): Mã hoá, (b): Giải mã.

6. TỔNG QUAN VỀ TỔNG HỢP TIẾNG NÓI

6.1. Giới thiệu chung

Tổng hợp tiếng nói là quá trình tạo tiếng nói xuất phát từ biểu diễn ngữ âm của lời nói và cơ
chế sản sinh ra tiếng nói. Trong đó các kỹ thuật tổng hợp tiếng nói được chia thành 2 loại chính :

- Tổng hợp tiếng nói trực tiếp: là phương pháp tổng hợp dựa trên sự ghép nối các âm đã
được ghi từ trước.

Đặc điểm của phương pháp này là có sự tham gia của con người. Đây là cách dễ nhất để tạo
tiếng nói tuy nhiên nó yêu cầu số lượng lời nói ghi âm phải lớn do đó phải cần nhiều bộ nhớ để
lưu trữ các lời nói này. Đơn vị ghi âm tối thiểu là các âm vị (hệ thống các nguyên âm và phụ âm),
từ các âm vị có thể tổng hợp thành các âm tiết ( tổ hợp các âm vị) và cao hơn là có thể tổng hợp

26
thành các từ, câu. Để giảm khối lượng từ cần lưu trữ, người ta thường dùng các âm vị kép
(diphone : gồm hai âm vị đi với nhau để tổng hợp tiếng nói

- Tổng hợp dựa trên mô hình: là các phương pháp tổng hợp dựa trên các mô hình toán học và
không có sự tham gia của con người. Các phương pháp hay dùng bao gồm:

+ Tổng hợp formant: phương pháp này dựa trên các luật xác định tần số cơ bản để tính ra 3
formant đầu tiên ft, fz, f, để tổng hợp tiếng nói.

+ Tổng hợp LPC: đây là phương pháp dựa trên mô hình tiên đoán tuyến tính, tức là tín hiệu
tiếng nói tại thời điểm n có thể xác định dựa trên tổ hợp tuyến tính của p tín hiệu trước đó.

+ Tổng hợp dùng mô phỏng bộ máy phát âm: phương pháp này thực hiện bằng cách mô
phỏng bộ máy phát âm của con người, do đó nó có thể có chất lượng tốt nhất nhưng nhược điểm
là độ phức tạp rất cao và khó thực hiện.

6.2 Các mô hình tổng hợp tiếng nói

6.2.1 Tổng hợp formant

Hình 1.14 Mô hình tổng hợp tiếng nói bằng phương pháp formant

Chức năng của từng khối:

27
- Khối tạo xung: khối này dùng để tạo tín hiệu tuần hoàn

- Khối tạo tạp âm: khối này dùng để tạo tín hiệu không tuần hoàn (các nhiễu ngẫu nhiên)

- Các khối A1, A2, A3, A4: là các khối thay đổi biên độ dùng để tăng giảm biên độ tới âm
lượng mong muốn.

- Khoang miệng đặc trưng bởi các mạch cộng hưởng có tần số F1, F2, F3

- Kênh mũi: tương ứng với các phản formant

- B1, B2, B3: là các dải tần khác nhau

Chất lượng của phương pháp này phụ thuộc vào sự điều chỉnh các tham số điều khiển và
nghe tín hiệu tạo ra do đó không được tự động hoá 100%

6.2.2 Tổng hợp LPC

Hình 1.15 Mô hình tổng hợp tiếng nói bằng phương pháp LPC

Chức năng từng khối:

- Khối tạo xung: khối này dùng để tạo các tín hiệu tuần hoàn

- Khối tạo tạp âm: khối này dùng để tạo các tín hiệu không tuần hoàn

- Khối A: là khối thay đổi biên độ

Bộ lọc bậc p xác định các tham số a + a, theo tiêu chí tối thiểu hoá bình phượng toàn phần
của lỗi tiên đoán tuyến tính.

28
Phương pháp này được thực hiện tự động 100% do có tiêu chí xác định các hệ số a,. Tuy
nhiên nhược điểm của phương pháp này là chất lượng tổng hợp âm mũi kém do LPC chỉ dựa trên
mô hình toàn điểm cực, không có điểm không (tức là chỉ có khoang miệng mà không có khoang
mũi), do đó chỉ áp dụng với khoang miệng.

6.2.3. Tổng hợp dùng mô phỏng bộ máy phát âm

Hình 1.16 Mô hình tổng hợp tiếng nói bằng phương pháp mô phỏng nguồn âm

Phương pháp này thực chất là mô phỏng nguồn âm, tuyến âm và nguồn tạp âm đơn giản.

Mô phỏng nguồn âm (nguồn tuần hoàn): là quá trình mô phỏng hoạt động của dây thanh.
Các phương pháp mô phỏng dây thanh thường dùng là mô hình một khối, mô hình hai khối, mô
hình nhiều khối, mô hình dầm,...

Mô phỏng tuyến âm: thực chất là mô phỏng bộ máy phát âm từ thanh môn trở lên. Tuyến âm
được mô phỏng bằng cách rời rạc hoá, thay thế từng đoạn tuyến âm bởi các ống cơ bản có chiều
dài ngắn (các ống hình trụ) và sau đó thực hiện tính toán trên các ống này.

29
CHƯƠNG 3: ỨNG DỤNG CỦA LPC TRONG XỬ LÝ TIẾNG NÓI

1. PHƯƠNG PHÁP DỰ ĐOÁN TUYẾN TÍNH TRONG XỬ LÝ TIẾNG NÓI

Một trong những công cụ mạnh được sử dụng trong việc phân tích tiếng nói là phương pháp
phân tích dự đoán tuyến tính. Phương pháp này vẫn là kỹ thuật chiếm ưu thế trong việc dò tìm các
tham số cơ bản của tiếng nói như: tần số cơ bản, các formant, phổ tin hiệu, các hàm truyền đạt của
bộ máy phát âm cũng như trong việc biểu diễn tín hiệu tiếng nói, truyền và lưu trữ ở tốc độ dữ liệu
thấp. Phương pháp này rất quan trọng bởi lẽ nó cung cấp công cụ dò tìm một cách hoàn toàn đúng
đắn và tốc độ tính toán nhanh.

Nguồn gốc cơ bản của phương pháp này là các mẫu tín hiệu tiếng nói có thể được xấp xỉ hoá
như là tổ hợp tuyến tính của một số mẫu quá khứ. Bằng cách tối thiểu hoá tổng của các bình
phương phương sai (trong một khoảng thời gian xác định) giữa các mẫu hiện tại của tín hiệu tiếng
nói và mẫu tiên đoán tuyến tính ta có để thu được một tập hợp các tham số dự đoán.

Nguyên lý cơ bản của phương pháp dự đoán tuyến tính liên hệ mật thiết với mô hình tổng
hợp tiếng nói, trong đó chỉ ra rằng tín hiệu tiếng nói có thể được coi như là kết quả đầu ra của hệ
tuyến tính biến đổi theo thời gian và được kích thích bởi các xung tuần hoàn (các âm hữu thanh)
hay là các nhiễu ngẫu nhiên (các âm vô thanh).

Dựa vào phương pháp tiên đoán tuyên tình người ta đã áp dụng nó cho nhiều cách thức khác
nhau tuỳ vào mô hình sóng tín hiệu tiếng nói. Sự khác biệt của các cách thức này là cách nhìn vấn
đề theo hướng khác nhau. Sau đây là một số cách thức:

- Phương pháp hiệp phương sai

- Phương pháp tự tương quan

- Phương pháp rào

- Phương pháp bộ lọc đảo

- Phương pháp dò phổ

- Phương pháp khả năng cực đại

30
- Phương pháp dẫn xuất nội bộ

Như trong mô hình trên của mô hình tạo tiếng nói cùng với những tham số cần phải xác định
của nó, trong đó tín hiệu dự đoán được biểu diễn bằng:

Hình 2.1 Sơ đồ khối của mô hình đơn giản của việc phát âm

Từ công thức (2.2) ta có thể thấy rằng chuỗi sai số dự đoán là đầu ra của hệ thống có hàm
truyền đạt như sau :

Bằng cách so sánh (2.1) và (2.3) ta thấy, nếu tín hiệu tiếng nói tuân theo mô hình của công
thức (2.2) và nếu k = a, thì e(n) = Gu(n). Hơn nữa bộ lọc sai số dự đoán A(Z) sẽ là một bộ lọc đảo
cho hệ thống H(z). Như vậy ta có :

31
Bài toán cơ bản của phân tích tiên đoán tuyến tỉnh là để xác định tập hợp các hệ số tiền đoán
{ai} trực tiếp từ tín hiệu tiếng nói. Bởi vì bản chất thay đổi theo thời gian của tín hiệu tiếng nói
nên các hệ số tiên đoán phải được tính trong các đoạn ngắn tín hiệu.Cách tiếp cận cơ bản là tìm
một tập các hệ số tiên đoán mà sai số tiên đoán là nhỏ nhất đối với một đoạn ngắn tín hiệu.

Với cách tiếp cận trên sẽ hướng đến một vài kết quả hữu ích mà có thể không được quan sát
thấy ngay lập tức, nhưng có thể điều chỉnh bằng nhiều cách. Đầu tiên, nhớ lại rằng nếu a k = 0 thì
e(n) = Gu(n). Đối với âm hữu thanh, nó có nghĩa rằng e(n) sẽ bao gồm một chuỗi các xung; ví dụ,
C(n) sẽ trở nên nhỏ trong phần lớn thời gian. Do đó, việc tìm các cụ mà tối thiểu hoá sai số tiên
đoán phù hợp với nhận xét này. Thứ hai, dựa vào thực tế là nếu tín hiệu được sinh ra bởi công
thức (2.1) với không có sự biến đổi về thời gian của các hệ số và được kích thích bằng cách một
xung đơn lẻ hay một chuỗi nhiễu trắng không thay đổi, thì nó có thể thấy rằng các hệ số dự đoán
có kết quả từ việc tối thiểu hoá bình phương sai số tiên đoán giống với hệ số của công thức (2.1).
Cuối cùng, sự điều chỉnh rất hợp lý cho việc tối thiểu hoá sai số bình phương trung bình, sai số
tiên đoán như là cơ sở cho việc xác định các tham số của mô hình là cách tiếp cận hưởng đến tập
của các công thức tuyến tính có thể được tìm thấy hiệu quả để nhận được các tham số tiền đoản,
Quan trọng hơn, các tham số thu được rất hữu ích và biểu diễn chính xác tín hiệu tiếng nói.

Sai số tiên đoán trung bình thời gian ngắn được định nghĩa như sau :

32
Trong đó sn(m) là một đoạn tiếng nói đã được chọn trong vùng lân cận của mẫu n, nghĩa là
sn(m)= S(n+m).

Chúng ta có thể tìm được các giá trị của dị mà tối thiểu hoá E, trong biểu thức (2.7) bằng
cách thiết lập: i= 1,2,...p. Theo cách đó nhận được công thức như sau:

trong đó α’k là giá trị của αk mà En tối thiểu. Vì αk là duy nhất nên chúng ta sẽ coi đó là αk.

Nếu chúng ta định nghĩa :

Thì biểu thức (2.8) được viết ngắn gọn hơn :

Tập k biểu thức trong p không biết được tìm thấy trong một cách hiệu quả đối với hệ số tiên
đoán không biết { } mà tối thiểu hoá sai số tiên đoán trong đoạn s n(m). Sử dụng công thức (2.7) và
công thức (2.8), ta có :

Sử dụng công thức (2.10) ta có thể viết nhanh En như sau :

33
Hơn nữa, tổng sai số nhỏ nhất bao gồm các thành phần cố định, và một thành phần phụ thuộc vào
hệ số tiên đoán. Để tìm được hệ số tiên đoán tối ưu, đầu tiên phải tính số lượng R n(i,k) với 1 <= i
<= p và 0 <= k <= p. Một khi tìm được rồi, chúng ta chỉ cần dùng công thức (2.10) để nhận được
αk

a, Phương pháp tự tương quan

Một cách tiếp cận để xác định hạn chế của tổng trong công thức (2.5)-2.7) và công thức (2.8)
là giá sử đoạn tín hiệu (m) có giá trị bằng 0 ngoài khoảng (0,N-1). Như thế có thể viết :

Trong đó w(m) cửa số có chiều dài hữu hạn(ví dụ cửa sổ Hamming).

Rõ rằng rằng, nếu so(m) không bằng 0 không chỉ với m trong (0, N-1), thì sai số tiên đoán
tương ứng en(m) cho bậc dự đoán thứ 2 sẽ khác không ngoài đoạn (0,N-1+p). Hơn nữa, trong
trường hợp này En có thể được viết nhanh như sau:

Chúng ta có thể đơn giản chỉ ra rằng tổng sẽ có giá trị khác không bằng cách lấy tổng từ - ∞
đến ∞

Trở lại với công thức (2.7), có thể thấy rằng sai số tiên đoán có vẻ như lớn tại đoạn đầu của
đoạn tín hiệu (0 <= m <= p-1) bởi vì chúng ta thử dự đoán tín hiệu từ mẫu tuỳ tiện đã được đặt
bằng không. Cũng như thế, sai số có thể lớn tại đầu cuối của đoạn tín hiệu (N <= m <= N+p-1)
bởi vì chúng ta thử dự đoán không từ các mẫu mà không bằng không. Vì lý do này, một cửa sổ có
hình búp được áp dụng.

Bởi vì sn(m) có giá trị không ngoài đoạn (0, N-1) nên từ (2.9) dễ dàng thấy :

34
hay là :

Ta viết lại biểu thức như sau :

Vì thế công thức (2.10) được viết như sau :

Như vậy tập các công thức trong (2.17) được biểu diễn dưới dạng ma trận :

35
b, Phương pháp covariance

Cách tiếp cận thứ hai để định nghĩa đoạn tiếng nói s (m) và giới hạn các tổng đấy là cố định
đoạn và sai số bình phương trung bình được tính và sau đó xem xét hiệu quả trên việc tính toán
của ϕn(i,k). Có nghĩa là nếu chúng ta định nghĩa :

Như vậy thì ϕn(i,k) trở thành:

Trong trường hợp này, nếu chúng ta thay đổi chỉ số của tổng chúng ta có thể biểu diễn biểu
thức của ϕn(i,k) như sau:

Mặc dù các công thức nhìn có vẻ tương tự như trong công thức (2.15b), chúng ta thấy rằng giới
hạn của các tổng là không giống nhau. Để tính ϕ n(i,k) cho tất cả các giá trị yêu cầu của i và k mà
chúng ta sử dụng các giá trị của sn(m) trong đoạn -p <= m <= N-1. Nếu chúng ta nhất quán với
giới hạn của En thì chúng ta không có sự lựa chọn cung cấp các giá trị yêu cầu. Trong trường hợp
này, không có cảm giác làm hẹp đoạn tiếng nói tới giá trị không tại điểm cuối như trong phương
pháp tự tương quan và các giá trị cần thiết có được từ bên ngoài của đoạn 0 <= m <= N-1. Rõ
ràng, cách tiếp cận này tương tự với cách mà chúng ta gọi là thay đổi hàm tự tương quan trong

36
phần trước. Mặc dù, sự khác nhau giữa công thức (2.23) và công thức (2.15b) có vẻ như không
quan trọng trong tính toán chi tiết, tập các biểu thức có các tính chất khác biệt đáng kể:

Hệ phương trình trên được biểu diễn ở dạng ma trận như sau:

Trong trường hợp này vì ϕn(i,k)= ϕn(k,i), ma trận p x p của là đối xứng nhưng không phải là
Toeplitz. Thực vậy, các thành phần của đường chéo liên quan với nhau bởi công thức:

Phương pháp phân tích dựa trên cơ sở tính toán của ϕ n(i,k) được gọi là phương pháp hiệp biến
(covariance) bởi vì ma trận của các giá trị { ϕn(i,k) } có các tính chất của một ma trận hiệp biến.

1.1 Xác định hệ số khuếch đại

Khi so sánh mô hình tạo tiếng nói rời rạc với mô hình dự đoán tuyến tỉnh chúng ta rút ra
được đẳng thức :

e(n) = Gu(n) (2.27)

Có nghĩa là tín hiệu vào tỷ lệ với tín hiệu sai số với một hệ số tỉ lệ bằng hệ số khuếch đại G.
Với mọi tác động bên), tín hiệu ra của bộ dự đoán H(Z) sẽ là s(n) tương ứng và xác định. Tuy
nhiên do (2.24) chỉ tồn tại khi các hệ số dự đoán bằng các hệ số của mô hình tạo tín hiệu tiếng nói,

37
nên G không thể xác định trực tiếp từ (2.24) được. Tuy nhiên, có thể giả thiết rằng năng lượng tín
hiệu ra của bộ lọc với u(n) bất kì bằng năng lượng của tín hiệu tiếng nói. Điều đó có nghĩa là năng
lượng của tín hiệu sai số bằng năng lượng của tín hiệu kích, như vậy:

Phụ thuộc vào phương pháp tính toán mà ta tính được GĐến đây, chúng ta xem xét cho hai
loại tín hiệu kích riêng biệt: chuỗi xung tất định(tạo âm hữu thanh) và tín hiệu ngẫu nhiên là nhiễu
trắng.

Trong trường hợp tạo âm hữu thanh, giả thiết rằng a(n) = 5(n) có nghĩa là xung đơn vị tại n=
0:

Do đó, độ dài tín hiệu phân tích có thể được chọn bằng chu kỳ Pitch. Để cho giả thiết này
không làm sai lệch kết quả khi tính toán, hiệu ứng của dạng xung thanh môn trong nguồn kích
thực tế đã được tính vào hàm truyền đạt của tuyển âm, cả hai hiệu ứng này sẽ được mô hình bằng
bộ lọc dự đoán thay đổi theo thời gian với bậc bộ lọc đủ lớn.

Trong trường hợp tạo âm vô thanh, nguồn kích là một nhiễu trắng dừng có trung bình bằng 0
và phương sai bằng 1, hay :

38
Trong đó :

Hệ số khuếch đại G được tính dựa trên việc tính hàm tự tương quan của đáp ứng xung của
mô hình. Tuy nhiên với điều kiện phân tích đồng bộ và tín hiệu vào là xung đơn vị thì :

Và như thế hệ số khuếch đại được biểu diễn như sau :

Trong trường hợp u(n) là tín hiệu ngẫu nhiên thoả mãn điều kiện (2.30) và đảm bảo điều kiện
năng lượng tín hiệu vào và tín hiệu sai số bằng tham số:

Như vậy hệ số khuếch đại bình phương của mô hình dự đoán tuyến tính tạo tiếng nói bằng sại số

39
dự đoán tuyến tính bình phương cực tiểu của mô hình không phụ thuộc vào dạng tính hiệu kích là
xung đơn vị hay là nhiễu trắng.

1.2. Xác định hệ số tiên đoán tuyến tính

Để xác định hệ số tiên đoán tuyến tính, chúng ta có nhiều phương pháp. Tuy nhiên dựa vào
các tính chất của ma trận trong phương pháp tự tương quan và phương pháp covariance mà chúng
ta đưa ra hai phương pháp tính toán đơn giản và số lượng tính toán ít hơn. Sau đây chúng ta sẽ
xem xét các phương pháp này.

a. Phương pháp covariance

Trong phương pháp covar ta có hệ phương trình tuyến tính hoặc dưới dạng ma trận như đã
trình bày, ta có thể viết ngắn ngọn như sau :

ψ = AC (2.35)

Trong đó:

C : ma trận hiệp biến với các phần tử là các cik

A : véctor cột với các phần tử là ak

Ψ : Vector cột với các phần tử là C0k

Vì ma trận này là ma trận đối xứng, xác định dương nên có thể sử dụng phép phân tích
Cholesky để giải. Đối với phương pháp phân tích Cholesky ma trận C được biểu diễn dưới dạng:

C = VDV’ (2.36)

Trong đó:

V : ma trận tam giác có các phần tử thuộc đường chéo bằng 1, các phần tử nằm bên đường
chéo bằng 0.

D : ma trận đường chéo

V’ : ma trận chuyển vị của V.

Các phần tử của ma trận V và D được xác định từ (2.35) bằng cách tìm phần tử thứ (i,j) như
sau:
40
Hay là:

và các phần tử thuộc đường chéo là:

hay:

Sau khi xác định được c ma trận V và D, vector cột A sẽ được tính theo hai bước. Từ (2.35) và
(2.36) ta có:

VDV'A= - ψ (2.42)

đặt DV’A =Y ta thu được :

VY= - ψ (2.43)

Vì ma trận V đã biết, từ (2.43) có thể tìm vector cột Y bằng cách sử dụng phép đệ quy đơn
giản:

41
với điều kiện đầu:

Y= - ψ1

Bằng cách giải tương tự như đối với Y, ta có thể tìm ra A bằng phép đệ quy

với điều kiện đầu:

Trong quá trình tính đệ quy chỉ số i giảm từ M-1 xuống 1,sai số dự đoán được viết dưới dạng
ma trận như sau:

Ở đây, A' là ma trận chuyển vị của A, ta có A'=Y'D'V -1

Do đó :

Từ đó ta có:

Như vậy sai số dự đoán bình phương để có thể tính trực tiếp từ vector cột Y và ma trận D, Từ đó
bằng cách cho giá trị dự với bậc M bất kì có thể giải được để tìm hệ số dự đoán hoặc chúng ta có
thể khảo sát sự thay đổi của CM phụ thuộc vào hệ số dự đoán.

42
b. Phương pháp tự tương quan

Sau khi đã có các giá trị của hàm tự tương quan, để tìm hệ số chúng ta phải giải hệ M
phương trình tuyến tính. Tính chất Toeplitz của ma trận các hệ số (2.14) được nhiều nhà toán học
khai thác và đưa ra những giải thuật quy nạp rất hiệu quả để giải hệ phương trình này. Mặc dù một
trong các thuật giải này được biết đến rộng rãi dưới cái tên là thuật giải Levinson – Robinson,
nhưng phương pháp hiệu quả để giải hệ phương trình thực tế là thuật giải Durbin. Thuật giải được
mô tả như sau:

cuối cùng ta thu được kết quả:

Trong quá trình giả hệ phương trình tuyến tính để tìm các hệ số dự đoán tuyến tính của bộ
lọc dự đoán bậc M, chúng ta sẽ thấy rằng tất cả các hệ số dự đoán tuyến tính có bậc nhỏ hơn M
đều được tính toán – có nghĩa là ai, là hệ số dự đoán thứ j của bộ dự đoán bậc thứ i, Đồng thời giá
43
trị của a là sai số dự đoán cho bộ dự đoán bậc i. Điều này cho phép kiểm tra sai số dự đoán tại mọi
bậc tính toán. Lúc này chúng ta thấy rằng nếu bậc bộ lọc tăng, 0, sẽ giảm hoặc không thay đổi, ai
không thể mang giá trị âm vì nó là tổng bình phương của sai số tại mỗi bậc riêng biệt. Do đó:

Các giá trị {ki) ở đây là được gọi là hệ số PARCOR(partition correlation) tương đương với hệ số
phản xạ trị trong mô hình ống âm học lý tưởng của tuyến âm và cũng là hệ số tương quan riêng
phần. Như vậy, (2.4.55) chính là điều kiện cần và đủ để tất cả các nghiệm của A(Z) nằm trong
vòng tròn đơn vị, hay hệ thống H(z) được đảm bảo ổn định.

2. ỨNG DỤNG LPC PHÂN TÍCH TRONG TIẾNG NÓI

2.1. Dò tìm formant

Thủ tục tổng quát của quá trình dò tìm formant sử dụng phương phương tiên đoán tuyến tính
được đưa ra ở sơ đồ sau

44
Hình 2.2 Sơ đổ dò tìm formant dựa trên bộ lọc đảo

Theo cách đó, mỗi một khung tiếng nói đem phân tích trước tiên sẽ được qua bộ lọc hiệu
chỉnh và nhân với một hàm cửa sổ. Tiếp đến, xác định các hệ số ak của bộ lọc đảo

A(z), A(z)=1-∑akz-k, theo lý thuyết về nguồn lọc (source-filter) của phát âm, đáp

ứng tần số của bộ lọc tiên đoán tuyến tính đưa ra gần đúng với đường bao phổ của tiếng nói:
| H(f) | = | 1/ A(f) |. Các đỉnh của | H(f) | chỉ rõ các tần số công hưởng của tuyển âm hay đấy chính
là các formant. Từ bộ lọc đảo, các đỉnh và độ dài dải thông sẽ được xác định theo các cách sau:

- Ước lượng các tần số formant trực tiếp từ các đỉnh của | H(f) |.

- Tìm các nghiệm của đa thức tiên đoán.

45
Hình 2.3 Ảnh hưởng của số điểm tính FFT đối với dạng của đường bao phổ.

- Dò tìm đỉnh

Đỉnh trong | H(f) | được tìm rất đơn giản, sau khi đã xác định được các hệ số của bộ lọc đảo
chọn chiều dài của FFT để thu được độ phân giải của tần số mong muốn, tính FFT của chuỗi
{1,a1,a2,a3 ...ap), 0, 0, ...0); thu được | A(f) |. Như vậy H(f) = G/|A(f)|. Từ đó ta xác định được các
đỉnh của |H(f)|, tuy nhiên để thu được chính xác hơn tần số formant người ta có thể sử dụng một
biện pháp đơn giản đó là nội suy parabol 3 điểm

46
Hình 2.4 Nội say parabol 3 điểm

- Tìm nghiệm của đa thức tiên đoán: Các nghiệm của đa thức tiên đoán được gọi là các điểm
cực, thường chúng thành từng cặp là các cặp nghiệm phức liên hợp. Đa thức tiên đoán bậc p có p
nghiệm phức có dạng : Zk = rk (j2 π fk/Fs). Gọi αk =Re(αk) +jIm(αk). thì:

fk = (Fs /2 π )tan-1 (Im(αk)/Re(αk))

k = (Fs/2 π )ln(1/rk)

Tất cả các nghiệm của đa thức tiên đoán không phải đều tương ứng với các formant. Nếu bậc
của bộ lọc quá lớn, thì các nghiệm của đa thức sẽ nhiều hơn số formant, ngược lại nếu bậc bộ lọc
thấp sẽ thiếu các formant.

Việc tìm formant theo phương pháp tuyến tính đưa ra nhiều ưu điểm hơn so với việc tìm
formant theo phương pháp phân tích phổ đó là độ phức tạp, thời gian tính và tính chính xác của
đỉnh.

2.2 Dùng bộ lọc đảo để tìm F0

Như đã trình bày trong phân tiên đoán tuyến tính, tín hiệu sai số (n) trong phân tích LPC có
thể được dùng để đánh giá trực tiếp chu kì Pitch và phương pháp phân tích tự tương quan đối với

47
tín hiệu sai số nói chung có nhiều khả năng cho kết quả đúng. Tuy nhiên, các thuật toán tự tương
quan đã nói ở trên phải trả giá cao cho khối lượng tính toán hàm tự tương quan. Thuật toán SIFT
là phương pháp dựa trên nguyên lý phân tích bằng dự đoán tuyến tính rất hiệu quả và chính xác để
phân tách Pitch trong vùng 50-250Hz. Muốn vậy ta cho tín hiệu đi qua bộ lọc thông thấp có tần số
cắt khoảng 1kHz để giới hạn vùng tần số có nhiều khả năng chứa Pitch, do đó tần số lấy mẫu cho
phân tích 50 chỉ cần vào khoảng 2KHz, điều đó làm cho số phép tính cần thiết giảm đi rất nhiều,
Sơ đồ khối của thuật toán SIFT như sau :

48
Hình 2.5 Sơ đồ dò tìm chu kì cơ bản sử dụng thuật toán SIFT

49
3. TỔNG HỢP TIẾNG NÓI

3.1. Giới thiệu

Tiếng nói là một tín hiệu biến đổi theo thời gian, nhưng xét trong một khoảng thời gian ngắn
(khoảng 20ms đến 50ms) thì tín hiệu tiếng nói hầu như không thay đổi. Thực tế cho thấy rằng có
một sự tương quan cao giữa các mẫu tín hiệu tiếng nói gần kề nhau. Mô hình phân tích và tổng
hợp LPC được xây dựng dựa trên ý tưởng này. Nó xuất phát từ sự dự đoán tuyến tính, tức là mẫu
tín hiệu tiếng nói tại thời điểm n ký hiệu là s(n) sẽ được coi là tổ hợp tuyến tính của p mẫu tín hiệu
trong quá khứ:

s(n) = a1s(n-1) + a2s(n-2) + ... + aps(n-p)

Từ đó, mô hình phân tích và tổng hợp LPC sẽ bao gồm hai phần cơ bản:

- Phần phân tích: từ tín hiệu tiếng nói ban đầu, phân tích để tìm ra các tham số liên quan, các
tham số này sẽ được xác định theo mô hình LPC. Sau đó các tham số này sẽ được truyền đi đến
phần tổng hợp.

- Phần tổng hợp: nhận các tham số từ phần phân tích và tổng hợp lại tín hiệu tiếng nói ban
đầu từ các tham số này.

3.2. Cơ sở lý thuyết

3.2.1. Mô hình vật lý

Khi bạn nói:

- Không khí được đẩy từ phổi xuyên qua tuyến âm và ra khỏi miệng từ đó hình thành nên
tiếng nói.

- Với những âm hữu thanh, các dây thanh dao động (đóng và mở). Tốc độ dao động của dây
thanh xác định pitch của giọng nói. Phụ nữ và trẻ em thường có pitch cao (dao động dây thanh
nhanh), trong khi đó đàn ông trưởng thành thường có pitch thấp (dao động dây thanh chậm).

- Với những phụ âm xát và âm bật (âm vô thanh) thì dây thanh không dao động nhưng
những phần còn lại thì luôn luôn mở.

50
Hình dạng của tuyến âm sẽ xác định âm thanh được tạo ra. Khi phát âm, tuyến âm sẽ thay
đổi hình dạng của nó để tạo ra các âm thanh khác nhau.

- Hình dạng của tuyến âm thay đổi tương đối chậm (thay đổi từ 10 ms đến 100 ms).

- Thông lượng không khí đến từ phôi sẽ xác định độ to nhỏ của âm thanh.

Hình 2.6 Mô hình vật lý của quá trình tạo tiếng nói

3.2.2. Mô hình toán học

- Theo mô hình, tín hiệu số tiếng nói sẽ là đầu ra của bộ lọc số (bộ lọc LPC) mà có đầu vào
là một chuỗi các xung hoặc một dãy nhiễu trắng.

- Mối quan hệ giữa mô hình vật lý và mô hình toán học:

51
Bộ lọc LPC được xác định bởi hàm truyền đạt:

Khi đó mối quan hệ giữa đầu vào và đầu ra của bộ lọc được xác định bởi phương trình sai
phân tuyến tính:

Như vậy các tham số cần thiết cho một bộ tổng hợp LPC là các hệ số LPC (đặc trưng cho bộ
lọc LPC) và tín hiệu nguồn kích thích.

52
Hình 2.7 Mô hình tạo tiếng nói LPC

3.2.3 Mô hình phân tích và tổng hợp LPC

Mô hình phân tích và tổng hợp LPC sẽ bao gồm 2 phần được mô tả như sau:

Hình 2.8 Mô hình phân tích và tổng hợp LPC

3.2.3.1. Phân tích

Quá trình phân tích sẽ sử dụng bộ lọc đảo LPC để tìm lại tín hiệu nguồn từ tín hiệu tiếng nói
nhận được:

53
Hình 2.9 Sơ đồ phân tích LPC

Sau đó tín hiệu nguồn và các hệ số LPC sẽ được truyền đi đến phần tổng hợp để tổng hợp lại
tín hiệu ban đầu.

Mối quan hệ giữa đầu vào và đầu ra của bộ lọc được thể hiện qua phương trình sau:

Y(z) = A(z).X(z)

Trong đó A(z) là hàm truyền đạt của bộ lọc đảo được tính theo công thức:

như vậy ta có:

Đây là một hệ không truy hồi bậc p, dựa trên mô hình toàn điểm không, hình sau minh hoạ
cách thực hiện của hệ :

54
Hình 2.10 Sơ đồ thực hiện phân tích LPC

3.2.3.2. Tổng hợp LPC

Tổng hợp là quá trình ngược lại của phân tích, tức là từ tín hiệu nguồn nhận được sau quá
trình phân tích, tín hiệu tiếng nói ban đầu sẽ được tổng hợp lại. Mô hình tổng quát của quá trình
tổng hợp được mô tả như sau:

Hình 2.11 Sơ đồ tổng hợp LPC

Thực chất đây chính là một hệ đảo của hệ thống phân tích, do đó hàm truyền đạt của hệ
thống có dạng:

55
Trong đó các hệ số ai và p có giá trị giống như các hệ số a i và p trong quá trình phân tích. Do
đó tín hiệu đầu ra của hệ tổng hợp được xác định như sau:

Như vậy hệ tổng hợp LPC là một hệ truy hồi bậc p, dựa trên mô hình toàn điểm cực. Sơ đồ
minh hoạ cách thực hiện hệ trên:

Hình 2.12 Sơ đồ thực hiện tổng hợp LPC

56
Như vậy trong mô hình tổng hợp LPC thì các tham số cần thiết sẽ là nguồn âm (tín hiệu kích
thích) và các hệ số LPC. Các tham số này sẽ được xác định trong pha phân tích.

3.2.3.3 Xác định các hệ số LPC

Mô hình LPC bắt đầu với việc coi như một mẫu tín hiệu tiếng nói tại thời điểm n sẽ là xấp xỉ
tổ hợp tuyến tính của p mẫu tín hiệu trong quá khứ, tức là mẫu tín mẫu tín hiệu tại thời điểm n sẽ
là tổng có trọng lượng của p mẫu trong quá khứ, mà mỗi mẫu sẽ được nhân với 1 hằng số tương
ứng, biểu thức toán học của nó có thể mô tả như sau :

Trong đó các hệ số a1, a2,..., ap gọi là các hệ số tiên đoán tuyến tính, chúng được xác định
theo từng frame và không đổi trong mỗi frame.

Để xảy ra dấu “=” ta thêm vào thành phần Gu(n), khi đó biểu thức (3.1) trở thành:

Thành phần Gu(n) gọi là thành phần kích thích trong đó u(n) là tín hiệu kích thích và G là
trọng số kích thích.

Thực hiện biến đổi z cả hai vế ta có:

Hàm truyền đạt của hệ thống:

57
Gọi x^(n) là giá trị tiên đoán của x(n) do đó:

Như vậy sai số tiên đoán sẽ là:

Đặt bi = -ai ,Vi=1,p và b0=1 khi đó ta có (3.6) trở thành:

Sai số bình phương toàn phần được xác định như sau:

Kí hiệu hàm hiệp biến:

58
Đẳng thức (8) có thể viết dưới dạng đơn giản là:

Các hệ số ai (hay bi) được xác định dựa trên nguyên tắc tối thiểu hoà bình phương toàn phần
(tức là làm cho sai số bình phương toàn phần E đạt giá trị cực tiểu). Điều này có thể đạt được
bằng cách cho bằng 0 các đạo hàm riêng của E theo bi (Vi = 0, p)

Do đó ta có hệ phương trình rút ra từ đẳng thức (3.10):

Do b0 = 1 nên hệ phương trình (3.11) tương đương với:

Thay bk = -ak với k = 1, p nên (3.12) tương đương với:

Như vậy các hệ số tiên đoán tuyến tính a k , k = 1, p có thể xác định nhờ việc giải hệ p
phương trình tuyến tính (3.13), trong đó ϕ(i,k) và ϕ n(i,0) với i=1, p và k = 1, p được xác định theo
biểu thức (3.9).

Để xác định hệ số LPC ta có thể một trong hai phương pháp: Levinson - Durbin (tự tương
quan) và phương pháp xử dụng ma trận hiệp biến.Các phương pháp này phân biệt nhau qua cách
chọn các giá trị nọ và n.

59
Phương pháp tự tương quan

Phương pháp tự tương quan cho n 0 = - ∞ và n1 = + ∞ và cho x(n) = 0 với mọi n < 0 hoặc
n>=N (tức là các mẫu không thuộc khung thì giá trị được đặt bằng 0). Điều này tương đương với
việc nhân tín hiệu tiếng nói ban đầu với một cửa sổ có độ dài bằng kích thước của khung đang xét,
có giá trị bằng 0 với các điểm nằm ngoài cửa sổ. Với những điều kiện này đi ϕ(i,k) có thể được
đơn giản hoá như sau:

Trong đó r(i-k) là hàm tương quan của (i-k).

Vì hàm tương quan là hàm chẵn, tức là r(-k)= r(k), nên r(i – k)= r(i – k|). Thay ϕ(i,k) bởi r(|i
– k|) vào (3.13) ta có:

Dạng ma trận của (3.14) là: R.a =r (3.15)

Phương trình (3.15) được gọi là phương trình Yule – Walker.

Trong đó:

60
R là ma trận Toeplitz (ma trận đối xứng với các phần tử thuộc đường chéo chính bằng nhau)
nên có một giải thuật rất hiệu quả để giải (315) đó là giải thuật Durbin - Levinson. Giải thuật
Durbin - Levinson là giải thuật sử dụng truy hồi được phát biểu như sau:

Trong đó tổng sigma trong (3.17) được bỏ qua khi i=1. Các phương trình (3.16 – 3.20) được
thực hiện với i lần lượt bằng 1, 2, .., p. Cuối cùng thu được lời giải của (3.15):

ak =αk p , k= 1, p

Để minh hoạ cho giải thuật Durbin xét ví dụ sau: Tìm các hệ số LPC bậc 2 (p = 2) a 1, a2 từ
hệ phương trình (3.21) bằng giải thuật Durbin.

61
Phương pháp hiệp biến

Phương pháp hiệp biến đặt n0 = 0, n1 = N - 1, như vậy sai số bình phương trung bình được
tối thiểu trong đoạn [0, N - 1]. Ta có:

Bằng cách đổi biến biểu thức trên tương đương với:

Khi i=p dễ thấy (3.22) liên quan đến các mẫu từ x(-p) đến x(N - 1 - p) và khi k=0 (3.22) liên
quan đến các mẫu từ x(0) đến x(N + 1). Do đó để tính theo phương pháp này cần các mẫu từ x(-p)
đến x(N-1), Ngoài các mẫu trong khoảng đang xét cần thêm p mẫu trước khoảng đang xét.

62
Dạng ma trận của (313) là: R.a=r (3.23)

Trong đó:

R là ma trận đối xứng nhưng không phải là ma trận Toeplitz. (23) cũng được giải hiệu quả
nhờ sử dụng giải thuật Cholesky.

3.3 Mô hình LPC

Mô hình LPC tổng hợp tiếng nói

63
Sơ đồ khối bộ mã hóa LPC

64
KẾT LUẬN

Mã hóa dự đoán tuyến tính là một phân tích / tổng hợp kỹ thuật nén giọng nói bị mất tiếng
cố gắng mô hình con người tạo ra âm thanh thay vì truyền một ước tính của sóng âm thanh. Tuyến
tính mã hóa dự đoán đạt được tốc độ bit 2400 bit / giây khiến nó trở nên lý tưởng để sử dụng trong
bảo mật hệ thống điện thoại. Bảo vệ hệ thống điện thoại được quan tâm hơn nội dung và ý nghĩa
của lời nói, chứ không phải là giá trị của lời nói.

Sự đánh đổi cho tốc độ bit thấp của LPC là nó có một số khó khăn với một số âm thanh nhất
định và nó tạo ra giọng nói có âm thanh tổng hợp. Bộ mã hóa dự đoán tuyến tính phá vỡ âm thanh
tín hiệu vào các phân đoạn khác nhau và sau đó gửi thông tin trên từng đoạn tới bộ giải mã. Các
bộ mã hóa gửi dữ liệu về việc phân đoạn được lồng tiếng được sử dụng để tạo ra một tín hiệu
trong bộ giải mã.

65

You might also like