Tần số pitch và formant là các đặc trưng cơ bản nhất của tiếng nói, do đó nếu phân tích, tìm được các tần số này sẽ giúp cho việc số hóa tín hiệu tiếng nói được dễ dàng hơn, là cơ sở để xây dựng nên các lĩnh vực của xử lí tiếng nói như nhận dạng tiếng nói, tăng chất lượng tiếng nói, mã hóa tiếng nói, tổng hợp tiếng nói,…
Trang 1I.Phân tích tần số pitch và formant của 2 âm vị.
1.1 Khái quát về tần số pitch và formant
Khái niệm tần số pitch:
Không khí được tạo ra từ phổi đẩy qua dây thanh đang ở trạng thái
hoàn theo chu kì này và người ta gọi đó là chu kì cơ bản Giá trị nghịch đảo của
được gọi là tần số cơ bản của tiếng nói F0 phụ thuộc vào giới tính
đến ngữ điệu của câu nói
Khái niệm tần số formant:
Tuyến âm được coi như một hốc cộng hưởng có tác dụng tăng cường mộttần số nào đó Những tần số được tăng cường đó được gọi là các Formant
Mục đích của việc tìm pitch và formant:
Tần số pitch và formant là các đặc trưng cơ bản nhất của tiếng nói, do đónếu phân tích, tìm được các tần số này sẽ giúp cho việc số hóa tín hiệu tiếng nóiđược dễ dàng hơn, là cơ sở để xây dựng nên các lĩnh vực của xử lí tiếng nói nhưnhận dạng tiếng nói, tăng chất lượng tiếng nói, mã hóa tiếng nói, tổng hợp tiếngnói,…
1.2 Phân tích tần số pitch của 2 âm vị.
Ở đây, sử dụng hai file âm thanh ghi âm giọng nói của hai chúng em(Hùng và Tường) với nội dung ghi âm cùng là: “Đồng Xuân Hùng”
Các bước thực hiện:
1.2.1 Sử dụng hàm resample của MATLAB để cài đặt lại tần số lấy mẫu bằng 10000(HZ).
1.2.2 Biểu diễn tín hiệu âm thanh theo thời gian.
Đồ thị biểu diễn tín hiệu âm thanh ghi âm giọng nói của Hùng:
Trang 2Đồ thị biểu diễn tín hiệu âm thanh ghi âm giọng nói của Tường:
1.2.3 Phân tích tần số pitch trên miền tần số.
Trang 3Phương pháp phân tích tần số pitch trên miền tần số:
hiệu Xem phổ tần của tín hiệu ban đầu như một tín hiệu và đem vào xử lí
để tìm ra chu kì của nó
kiếm các đỉnh của tín hiệu trên trục nghịch tần (quefrency), tương ứngvới các tần số cơ bản
−∞
= ∫
Thực hiện trên Matlab:
Dựa vào hai đồ thị trên, ở phần ghi âm của Hùng, ta trích một phần âmthanh của chữ “Đồng” với n= [10500 11500] Ở phần ghi âm của Tường, ta tríchmột phần âm thanh của chữ “Đồng” với n= [16000 17000]
Sau khi thực hiện trên Matlab kết quả thu được:
- Phần ghi âm của Hùng:
Trang 4Fpitch_hung=122.0 Hz.
- Phần ghi âm của Tường
Fpitch_tuong=138.9 Hz
Giải thích kết quả thu được:
• Dựa vào đồ thị trên, ta thấy khi trích ra một đoạn tiếng nói thì tín hiệutiếng nói đó gần như là một tín hiệu tuần hoàn, và mục đích là ta phảitìm ra chu kì tuần hoàn nhỏ nhất
hiện cực đại của tần số cơ bản ứng với thời gian 1/f_pitch tương ứng,lấy nghịch đảo của thời gian này ta sẽ thu được tần số cơ bản
trong MATLAB
1.2.4 Phân tích tần số pitch trên miền thời gian.
Phương pháp phân tích tần số pitch trên miền thời gian:
Trang 5• Sử dụng phương pháp tự tương quan, đo độ tương tự giữa hai tín hiệu và
sự tự tương quan đo độ tương tự giữa chính nó và biến đổi nó theo thờigian
trễ khác nhau, sau đó dựa vào đồ thị của hệ số tương quan, tìm đỉnh có hệ
số tương quan lớn nhất trừ trường hợp τ
=0 từ đó suy ra tần số cơ bản
Thực hiện trên Matlab:
Trích một phần âm thanh của chữ “Đồng” tương tự như phần trên
Thực hiện trên Matlab ta thu được kết quả:
- Phần ghi âm của Hùng:
Trang 6Fpitch_hung=122.0 Hz.
- Phần ghi âm của Tường:
Fpitch_tuong=138.9
Giải thích kết quả thu được:
khác nhau, tại τ =0
thì
ta có hệ số tương quan cực đại, khi τ
tăng thì hệ số tương quan sẽ giảm vàlại đạt cực đại khi τ =T
,từ cơ sở đó ta xây dựng được đồ thị biểu diễn hệ
số tương quan tương ứng vớ các độ trễ thời gian như trên
lặp lại so với tại τ =0
, thời gian trễ đó là chu kì tuần hoàn ngắn nhất củatín hiệu, lấy nghịch đảo thời gian này ta thu được tần số cơ bản
Trang 7• Việc làm này đã được thể hiện rõ trong chương trình tính tần số pitch trênmiền thời gian được xây dựng trong MATLAB
1.2.5 Nhận xét kết quả thu được từ hai phương pháp tính tần số pitch.
độ chính xác cao của hai phương pháp tính tần số pitch trên
1.2.6 Phân tích tần số formant của hai âm vị.
Phương pháp thực hiện:
Sử dụng phương pháp dự đoán tuyến tính (mô hình LPC), bản chất là một
bộ lọc cấu trúc IIR đệ quy, sau đó đi tìm các tần số cộng hưởng của bộ lọc này
Cơ sở của phương pháp dự đoán tuyến tính là các mẫu tiếng nói có thểđược xấp xỉ hóa như là tổ hợp tuyến tính của một số mẫu quá khứ, bằng cách tốithiểu hóa tổng của các bình phương phương sai giữa các mẫu hiện tại của tínhiệu tiếng nói và mẫu dự đoán tuyến tính, từ đó thu được tập hợp các tham số
Kết quả thu được:
- Phần ghi âm của Hùng:
Trang 8Formant 1 Frequency 674.9
Formant 2 Frequency 1084.8Formant 3 Frequency 2403.0Formant 4 Frequency 3341.0Formant 5 Frequency 3547.5
- Phần ghi âm của Tường:
Trang 9Giải thích kết quả thu được:
Lấy nghịch đảo các giá trị thời gian ứng với các cực đại cục bộ được biểudiễn trong đồ thị ở trên ta thu được các tần số formant
Nhận xét:
Ta có thể thấy: dù cùng là nam giới, cùng lứa tuổi và cùng phát âm tiếng
“Đồng” nhưng khi phân tích hai phần ghi âm của Hùng và Tường ta thu đượctần số cơ bản pitch và tần số formant khác nhau Điều này chứng tỏ tần số pitch
và formant là đặc trưng của mỗi người Đây chính là lí do để ta có thể dùng tần
số pitch và tần số formant làm cơ sở cho những công việc như phân tích tiếngnói, mã hóa tiếng nói, nhận dạng tiếng nói, tổng hợp tiếng nói,
II.Phân tích tín hiệu trong trường hợp có nhiễu tạp âm và sau khi lọc nhiễu.
Trang 10Tín hiệu tiếng nói cũng như các tín hiệu khác không phải lúc nào cũng làtín hiệu có ích mà thường là các tín hiệu có chứa tạp âm Nghiên cứu sự ảnhhưởng của tạp âm đến tín hiệu cũng như các phương pháp để loại bỏ tạp âm làmột trong những vấn đề quan trọng mà lĩnh vự xử lí tín hiệu hướng đến.
Tần số cơ bản pitch và formant là hai đặc trưng cơ bản của tiếng nói, trongphần này sẽ nghiên cứu tần số pitch và formant khi tín hiệu bị nhiễu tạp âmgauss và sau khi loại bỏ bớt tạp âm gauss, từ đó suy ra sự ảnh hưởng của tạp âmđến việc xử lí tín hiệu tiếng nói
2.1 Phân tích tần số pitch và formant của tín hiệu sau khi cộng thêm nhiễu.
2.1.1 Đôi nét về tạp âm Gauss
Tạp âm gauss là quá trình xác suất có mật độ phổ công suất phẳng (mật độphổ công suất không đổi trong toàn bộ quá trình) nghĩa là tín hiệu nhiễu có côngsuất trong toàn bộ băng thông Hàm mật độ xác suất tuân theo phân bố Gauss.Trong thực tế, tạp âm gauss là dòng điện không mong muốn của chuyểnđộng nhiệt của các hạt mang điện trong mạch điện, với tính chất biên độ của tạp
âm tuân theo quy luật phân bố chuẩn
Tạp âm gaussian là nhiễu băng rộng, khi cộng với tín hiệu có ích thì tạp
âm này sẽ xuất hiện trên toàn bộ miền tần số của tín hiệu có ích
2.1.2 Thêm tín hiệu nhiễu.
Trong MATLAB, để tạo tín hiệu nhiễu gaussian, ta sử dụng hàm randn.Cộng tín hiệu ban đầu với nhiễu, sau đó phân tích tần số pitch và formant củatín hiệu này, sử dụng các chương trình tính tần số pitch và formant đã xây dựng
Trang 11Tiến hành thêm nhiễu Gauss vào đoạn ghi âm của Hùng với giá trị SRNlần lượt là 20,10,5,3,0.
a) Với SRN=20
Tín hiệu âm thanh sau khi thêm nhiễu:
Tìm tần số pitch trên miền tần số:
Trang 12Fpitch_hung_nhieu20=122.0 Hz
Tìm tần số formant:
Formant 1 Frequency 658.5
Formant 2 Frequency 1078.3
Trang 13Formant 3 Frequency 2422.2
Formant 4 Frequency 3352.9
Formant 5 Frequency 3905.3
b) Với SRN=10
Tín hiệu âm thanh sau khi thêm nhiễu:
Tìm tần số pitch trên miền tần số:
Trang 14Fpitch_hung_nhieu10=122.0 Hz
Tìm tần số formant:
Trang 15Tín hiệu âm thanh sau khi thêm nhiễu:
Tìm tần số pitch trên miền tần số:
Trang 16Fpitch_hung_nhieu5=122.0 Hz
Tìm tần số formant:
Formant 1 Frequency 645.6
Trang 17Tín hiệu âm thanh sau khi thêm nhiễu:
Tìm tần số pitch trên miền tần số:
Trang 18Fpitch_hung_nhieu3=122.0 Hz
Tìm tần số formant:
Trang 19Tín hiệu âm thanh sau khi thêm nhiễu:
Tìm tần số pitch trên miền tần số:
Trang 20Fpitch_hung_nhieu0=122.0 Hz
Tìm tần số formant:
Formant 1 Frequency 641.7
Formant 2 Frequency 1065.4
Trang 21Formant 3 Frequency 2381.9
Formant 4 Frequency 3344.2
Formant 5 Frequency 4415.0
2.1.4 Nhận xét.
Nhận xét kết quả thu được:
thanh bị biến dạng càng nhiều Do đó công việc khôi phục tín hiệu càng khó thực hiện
tạp âm gauss là tạp âm băng rộng, nó ảnh hưởng đến toàn bộ tín hiệu, do vậy nó không ảnh hưởng đến sự thay đổi chu kì tuần hoàn của tín hiệu, do
đó tần số cơ bản không thay đổi
tần số formant của tín hiệu ban đầu
• Vì tần số formant là các cực trị địa phương trong phổ tần số của tín hiệu tiếng nói, ở các tần số có biên độ cộng hưởng thấp thì sẽ có trường hợp biên độ cộng hưởng của nhiễu sẽ lớn hơn các biên độ cộng hưởng này, do
đó làm thay đổi vị trí cộng hưởng cục bộ và làm thay đổi tần số formant
III Phân tích tần số pitch và formant sau khi lọc nhiễu.
3.1 Lọc nhiễu
Vì tạp âm gauss phân bố trên toàn bộ miền tần số nên trong miền tần sốcủa tín hiệu có ích cũng có chứa tạp âm, do vậy ta không thể lọc bỏ hoàn toàntạp âm mà chỉ có thể loại bỏ đi phần tạp âm nằm ngoài tín hiệu có ích Để làmđược điều này, ta cần phân tích phổ của tín hiệu ban đầu để xem năng lượng củatín hiệu tập trung nhiều nhất ở dải tần số nào, sau đó dùng bộ lọc phù hợp để lọc
bỏ tạp âm
Banđầu
Trang 22Dựa vào phổ của tín hiệu ban đầu ta thấy năng lượng của âm thanh tậptrung chủ yếu ở miền tần số [115 1500] và [2200 4000]
Ta sẽ sử dụng bộ lọc FIR trong Matlab để tiến hành loại bỏ tạp âm Trongtrường hợp này ta sử dụng file âm thanh khi đã thêm nhiễu với chỉ số SRN=5
Ta dùng bộ lọc thông dải với 2 cửa sổ Hamming cắt các khoảng tần số[115 1500] và [2200 4000], bậc bộ lọc là 240 Như vậy, phần lớn tín hiệu có ích
sẽ đi qua, phần tạp âm bị loại bỏ đáng kể Và đảm bảo âm thanh sẽ giữ đượcchất giọng đặc trưng của người nói
Kết quả thu được:
Trang 24Kết thúc công việc lọc nhiễu, ta có thể thấy trên miền tần số những miềntần số tập trung ít năng lượng tín hiệu đã bị loại bỏ Còn trên miền thời gian,năng lượng của nhiễu đã giảm bớt, tuy nhiên nó cũng ảnh hưởng đến phần tínhiệu ban đầu làm méo dạng tín hiệu.
3.2 Phân tích tần số pitch và formant sau khi lọc nhiễu.
3.2.1 Phân tích tần số pitch.
Phân tích trên miền tần số:
Kết quả: fpitch_hung_loc=122,0(Hz)
Trang 25-Phân tích trên miền thời gian:
+fpitch_hung_loc=122,0(Hz)
Trang 26đổi Vì thực chất việc lọc chỉ làm hạn chế bớt đi phần tạp âm ở bên ngoài miền tần số tập trung nhiều năng lượng của tín hiệu, chu kì tuần hoàn của đoạn tín hiệu đang xét không thay đổi nên không làm thay đổi tần số cơ bản pitch.
được giống như âm thanh ban đầu do tạp âm không được loại bỏ hoàn toàn, ảnh hưởng đến các cộng hưởng cục bộ của phổ tần tín hiệu
Trang 27IV Kết luận, rút ra bài học.
Trong nội dung bài tập lớn này, chúng em đã có cách nhìn sơ bộ về tínhiệu tiếng nói, về khái niệm, ý nghĩa tần số cơ bản pitch và tần số formant; đãbiết cách sử dụng các phương pháp để tìm tần số pitch và tần số formant đặcbiệt là phương pháp tự tương quan và phương pháp mô hình dự đoán tuyến tínhLPC
Trong quá trình làm, chúng em thấy rằng tần số pitch và tần số formant ởmỗi người là khác nhau Đây là cơ sở để vận dụng vào trong các công việc sốhóa tín hiệu tiếng nói, phân tích tiếng nói, nhận dạng tiếng nói và tổng hợp tiếngnói
Đối với tần số pitch, khi thêm nhiễu vào tín hiệu âm thanh ban đầu cũngnhư sau khi lọc nhiễu dễ thấy tần số pitch không thay đổi do nhiễu Gauss ảnhhưởng đến toàn bộ miền tần số của tín hiệu nên chu kì tuần hoàn của tín hiệuđang xét không đổi
Đối với tần số formant, khi thêm nhiễu cũng như khi lọc nhiễu, các tần sốnày thay đổi do các cộng hưởng cục bộ của đoạn tín hiệu bị thay đổi
Đồng thời, khi tiến hành lọc nhiễu, ta thấy được việc lọc bỏ hoàn toànnhiễu là không thể được do nó ảnh hưởng đến cả phần tín hiệu có ích, do đó chỉ
có thể hạn chế được phần nào tạp âm nói trên để đảm bảo tín hiệu không bị biếndạng quá nhiều
Xử lí tín hiệu là một lĩnh vực quan trọng trong các ngành khoa học phục
vụ đời sống hàng ngày cũng như ứng dụng trong các ngành khoa học quân sự.Qua bài tập lớn này, chúng em đã có cơ hội được tiếp xúc với công việc xử lítiếng nói nói riêng cũng như xử lí tín hiệu nói chung Đây là một công việc phứctạp cần phải nắm chắc và vận dụng nhiều phương pháp do vậy cần phải trau dồikiến thức để làm cơ sở học tập cũng như công tác sau này Đặc biệt cần sử dụngthành thạo, ứng dụng linh hoạt các thao tác trên chương trình Matlab để làm tốtcông việc này