MỞ ĐẦU
Tiếng nói đóng vai trò rất quan trọng trong thông tin liên lạc. Quá trình truyền tín hiệu tiếng nói được truyền qua các phương tiện thông tin bị các loại nhiễu tác động nên chất lượng suy giảm. Cùng với tiếng nói là sự xuất hiện của rất nhiều các loại dịch vụ thoại như ngày nay. Tuy nhiên việc bảo toàn được tín hiệu tiếng nói trên các dịch vụ này là điều vô cùng khó khăn do sự mất mát và suy giảm tín hiệu và nhất là ảnh hưởng của nhiễu sẽ làm cho tín hiệu tiếng nói không còn như ban đầu. Vì vậy, các thuật toán về Speech Enhancement ra đời. Tuy không thể bảo toàn được y nguyên tín hiệu ban đầu nhưng sử dụng các thuật toán này ta có thể tăng cường được chất lượng tiếng nói và giảm bớt nhiễu nền để tín hiệu sau khi xử lý đến người nghe vẫn mang đầy đủ nội dung thông tin và không gây khó chịu bởi nhiễu đối với người nghe. Vì vậy, Speech Enhancement đóng một vai trò rất quan trọng trong lĩnh vực thoại.
Trong bài đồ án này chúng ta sẽ đi tìm hiểu thuật toán trừ phổ trong xử lý tiếng nói. Thuật toán dựa trên nguyên tắc thừa nhận sự có mặt của nhiễu và có thể đạt được mục đích ước lượng phổ của tiếng nói bằng cách trừ đi phổ của nhiễu với phổ của tiếng nói đã bị nhiễu. Ta sẽ phân tích từng phần theo sự phát triển của thuật toán và đánh giá kết quả mà thuật toán mang lại.
Để thực hiện được nội dung thì đồ án của em được kết cấu gồm 4 chương :
Chương 1 : Tổng quan về nâng cao chất lượng tiếng nói: Chương này giới thiệu một số khái niệm cơ bản về tín hiệu số, các phép biến đổi, tìm hiểu về các loại nhiễu, tín hiệu tiếng nói và sự hình thành tiếng nói. Bên cạnh đó còn giới thiệu khái quát về một số thuật toán trong Speech Enhancement.
Chương 2 : Đánh giá chất lượng tiếng nói: Chương này giới thiệu một số phương pháp đánh giá khác nhau được sử dụng để đánh giá hiệu quả của thuật toán nâng cao tiếng nói.
Chương 3 : Thuật toán Spectral Subtraction : Chương này đi sâu vào nghiên cứu nguyên lý cơ bản của thuật toán.
Chương 4 : Mô phỏng bằng phần mềm matlap: Chương này mô phỏng bằng phần mềm matlap thực hiện giảm nhiễu tín hiệu tiếng nói bằng thuật toán đã nghiên cứu ở chương 3 từ đó đưa ra nhận xét đánh giá.
Phương pháp nghiên cứu của đồ án là tìm hiểu lý thuyết của thuật toán để xây dựng lưu đồ của thuật toán, thực hiện xử lý tiếng nói bằng các thuật toán đó. Dựa trên các kết quả đạt được sau đó sử dụng phương pháp đánh giá khách quan để đánh giá tính hiệu quả của thuật toán xử lý trong môi trường thực tế.
CHƯƠNG 1: TỔNG QUAN VỀ NÂNG CAO CHẤT LƯỢNG TIẾNG NÓI
Có thể bạn quan tâm!
- Tìm hiểu thuật toán trừ phổ trong xử lý tiếng nói - 1
- Phép Biến Đổi Fourier Của Tín Hiệu Rời Rạc Dtft
- Thang Điểm Đánh Giá Chất Lượng Tiếng Nói Theo Mos .
- Sơ Đồ Thực Hiện Và Đánh Giá Thuật Toán Tăng Cường.
- Tìm hiểu thuật toán trừ phổ trong xử lý tiếng nói - 6
- Tìm hiểu thuật toán trừ phổ trong xử lý tiếng nói - 7
Xem toàn bộ 58 trang tài liệu này.
1.1 Giới thiệu chương
Nội dung của chương trình bày mục đích của nâng cao chất lượng tiếng nói là gì, các loại nhiễu trong tiếng nói, cách hình thành của tiếng nói và các đặc điểm cuả tín hiệu tiếng nói. Chương này còn giới thiệu khái quát về các thuật toán sử dụng trong speech enhancement.
1.2 Nâng cao chất lượng tiếng nói là gì ?
Nâng cao chất lượng tiếng nói liên quan đến việc cải thiện cảm nhận đối với tiếng nói bị suy giảm chất lượng do sự có mặt của nhiễu trong tiếng nói. Trong hầu hết các ứng dụng, thì mục đích của nâng cao chất lượng tiếng nói là sự cải thiện chất lượng và tính dễ nghe của tiếng nói đã bị suy giảm do nhiễu. Sự cải thiện về chất lượng mà tốt thì nó làm giảm đi sự khó khăn cho người nghe khi nghe và trong nhiều trường hợp nó còn giúp cho người nghe có thể nghe trong môi trường có nhiễu với mức độ cao và nhiễu đó tồn tại trong thời gian dài. Các thuật toán nâng cao chất lượng tiếng nói làm giảm và nén nhiễu nền đến một mức độ nào đó và nó được xem như là các thuật toán nén nhiễu.
Trong nhiều trường hợp, sự cần thiết của việc tăng cường trong tín hiệu tiếng nói xuất hiện khi tín hiệu tiếng nói hình thành trong vùng có nhiễu hoặc ảnh hưởng bởi nhiễu trong các kênh truyền thông. Có rất nhiều kịch bản yêu cầu đặt ra đối với Speech enhancement trong nhiều trường hợp khác nhau, ví dụ đối với thông tin thoại, trên các hệ thống điện thoại tế bào thì chịu sự ảnh hưởng nhiễu nền từ ô tô, nhà hàng,.. khi truyền đến đích. Chính vì vậy mà các thuật toán trong nâng cao chất lượng tiếng nói có thể được sử dụng để cải thiện chất lượng của tiếng nói tại điểm thu, mặt khác, nó có thể được sử dụng trong các khối tiền xử lý của hệ thống mã hoá tiếng nói dùng trong các điện thoại tế bào chuẩn. Khi nhận dạng tiếng nói, tiếng nói bị nhiễu được tiền xử lý bởi các thuật toán nâng cao chất lượng trước khi được nhận dạng. Trong thông tin liên lạc hàng không, các kỹ thuật nâng cao tiếng nói cần được sử dụng để cải thiện chất lượng và tính dễ nghe của tiếng nói của phi công bị ảnh hưởng bởi nhiễu trong buồng lái. Vì vậy mà nâng cao chất lượng tiếng nói cũng rất cần thiết trong thông tin liên lạc của quân sự. Trong hệ thống hội nghị qua thoại, thì nguồn nhiễu xuất hiện ở một vùng nào đó thì nó sẽ được truyền đến tất cả các vùng khác. Các thuật toán nâng cao chất
lượng tiếng nói được sử dụng như tiền xử lý hoặc làm sạch nhiễu trong tiếng trước khi được khuếch đại.
Như các ví dụ minh họa ở trên thì mục tiêu của các thuật toán tăng cường tuỳ thuộc vào các ứng dụng mà chúng ta đang dùng. Xét trên phương diện lý tưởng, thì chúng ta mong muốn Speech enhancement cải thiện được cả chất lượng và tính dễ nghe hay sự trong suốt của tiếng nói. Tuy nhiên, xét trên phương diện thực tế thì các thuật toán Speech enhancement chỉ có thể cải thiện được chất lượng của tiếng nói. Nó có thể làm giảm được nhiễu nền trong tiếng nói nhưng nó sẽ làm gia tăng thêm độ méo của tín hiệu tiếng nói, chính điều này làm giảm đi tính dễ nghe của tiếng nói. Do đó, yêu cầu chính trong việc thiết kế một thuật toán Speech enhancement phải đảm bảo nén được nhiễu và không được gây ra méo trong sự cảm nhận tín hiệu tiếng nói.
Giải pháp tổng quát trong các vẩn đề của Speech enhancement phụ thuộc rất lớn vào ứng dụng chúng ta cần sử dụng, đó là các vần đề như là nguồn nhiễu và giao thoa gây ra nhiễu, mối liên hệ giữa nhiễu và tín hiệu sạch, số microphone và cảm biến có thể có. Sự giao thoa có thể xem như là nhiễu hoặc được xem như tín hiệu tiếng nói, nó tuỳ thuộc vào môi trường ta đang xét, nó có thể được xem như là sự tranh chấp giữa các speaker. Đặc tính âm nhiễu có thể được cộng thêm vào tín hiệu sạch nếu âm thanh được hình thành trong căn phòng bị dội âm thanh. Hơn nữa, nhiễu có thể có tính tương quan hoặc không tương quan về mặt thống kê với tín hiệu sạch. Số lượng microphone cũng có khả năng ảnh hưởng đến tính hiệu quả của các thuật toán Speech enhancement.
1.3 Tín hiệu, hệ thống và xử lý tín hiệu
1.3.1 Tín hiệu
Tín hiệu(signal) dùng để chỉ một đại lượng vật lý mang tin tức. Về mặt toán học, ta có thể mô tả tín hiệu như một hàm theo biến thời gian, không gian hay các biến độc lập khác. Chẳng hạn như, hàm: x(t) = 20t2 mô tả tín hiệu biến thiên theo biến thời gian
t. Hay một ví dụ khác, hàm: s(x,y) = 3x + 5xy + y2 mô tả tín hiệu là hàm theo hai biến
độc lập x và y, trong đó x và y biểu diễn cho hai tọa độ trong mặt phẳng.
Hai tín hiệu trong ví dụ trên về lớp tín hiệu được biểu diễn chính xác bằng hàm theo biến độc lập. Tuy nhiên, trong thực tế, các mối quan hệ giưa các đại lượng vật lý và các biến độc lập thường rất phức tạp nên không thể biểu diễn tín hiệu như trong hai ví dụ vừa nêu trên.
Hình 1.1 Tín hiệu tiếng nói.
Lấy ví dụ tín hiệu tiếng nói – đó là sự biến thiên của áp suất không khí theo thời gian. Chẳng hạn khi ta phát âm từ “away”, dạng sóng của nó được biểu diễn như hình trên.
1.3.2 Nguồn tín hiệu
Tất cả các tín hiệu đều do một nguồn nào đó tạo ra, theo một cách thức nào đó. Ví dụ tín hiệu tiếng nói được tạo ra bằng cách ép không khí đi qua dây thanh âm. Một bức ảnh có được bằng cách phơi sáng một tấm phim chụp một cảnh/đối tượng nào đó. Quá trình tạo tín hiệu như vậy thường liên quan đến một hệ thống, hệ thống này đáp ứng lại một kích thích nào đó. Trong tín hiệu tiếng nói, hệ thống là hệ thống phát âm, gồm môi, răng, lưỡi, dây thanh…Kích thích liên quan đến hệ thống được gọi là nguồn tín hiệu. Như vậy ta có nguồn tiếng nói, nguồn ảnh và các nguồn tín hiệu khác.
1.3.3 Hệ thống và xử lý tín hiệu
Hệ thống là một thiết bị vật lý thực hiện một tác động nào đó lên tín hiệu. Ví dụ, bộ lọc dùng để giảm nhiễu trong tín hiệu mang tin được gọi là một hệ thống. Khi ta truyền tín hiệu qua một hệ thống, như bộ lọc chẳng hạn, ta nói rằng đã xử lý tín hiệu đó. Trong trường này, xử lý tín hiệu liên quan đến lọc nhiễu ra khỏi tín hiệu mong muốn.
Xử lý tín hiệu là ý muốn nói đến một loạt các công việc hay các phép toán được thực hiện trên các tín hiệu nhằm đạt mục đích nào đó, như là tách tin tức chứa bên trong tín hiệu hoặc là truyền tín hiệu mang tin từ nơi này đến nơi khác.
Ở đây ta cần lưu ý đến định nghĩa hệ thống, nó không chỉ đơn thuần là thiết bị vật lý mà còn là phần mềm xử lý tín hiệu hoặc là sự kết hợp giữa phần cứng và phần
mềm. Ví dụ khi xử lý số tín hiệu bằng mạch logic, hệ thống xử lý ở đây là phần cứng. Khi xử lý bằng máy tính số, tác động lên tín hiệu bao gồm một loạt các phép toán thực hiện bởi chương trình phần mềm. Khi xử lý bằng các bộ vi xử lý-hệ thống bao gồm kết hợp cả phần cứng và phần mềm, mỗi phần thực hiện các công việc riêng nào đó.
1.3.4 Phân loại tín hiệu
Các phương pháp ta sử dụng trong xử lý tín hiệu phụ thuộc chặt chẽ vào đặc điểm của tín hiệu. Có những phương pháp riêng áp dụng cho một loại tín hiệu nào đó. Do vậy, trước tiên ta cần xem qua cách phân loại tín hiệu liên quan đến những ứng dụng cụ thể. Chúng ta có thể phân tín hiệu thành các loại :
- Tín hiệu nhiều hướng và tín hiệu đa kênh
- Tín hiệu liên tục và tín hiệu rời rạc
- Tín hiệu biên độ liên tục và tín hiệu biên độ rời rạc
- Tín hiệu xác định và tín hiệu ngẫu nhiên
1.4 Lý thuyết về nhiễu
1.4.1 Nguồn nhiễu
Nhiễu một hiện thực, nó tồn tại ở mọi nơi, trên đường phố, trên xe, trong văn phòng, trong nhà hàng, trong các toà nhà. Nó có thể là tiếng xe chạy trên đường, tiếng ồn trên các công trường xây dựng, tiếng ồn phát ra từ các quạt chạy trong PC, chuông điện thoại…, nó tồn tại với các hình dạng và hình thức khác nhau trong cuộc sống hằng ngày của chúng ta.
Nhiễu có thể hình thành ở một nơi cố định, và không thay đổi theo thời gian, ví dụ như là tiếng ồn phát ra từ quạt chạy trong PC. Nhiễu cũng có thể không đứng yên một chỗ, ví dụ như nhiễu trong nhà hàng, đó là tiếng nói của nhiều người xen lẫn với nhiều cách khác nhau với tiếng ồn phát ra từ nhà bếp. Các đặc tính về phổ cũng như thời gian của nhiễu trong nhà hàng thay đổi không theo quy luật nên việc nén nhiễu trong các môi trường có nhiễu thay đổi như vậy sẽ khó khăn hơn nhiều so với các nguồn nhiễu đứng yên không thay đổi.
Các đặc tính đặc biệt khác nhau của các loại nhiễu đó là hình dạng của phổ và sự phân bố của năng lượng nhiễu trong miền tần số. Ví dụ, nhiễu gây ra bởi gió thì năng lượng của nó tập trung ở tần số thấp dưới 500Hz. Nhưng đối với nhiễu trong nhà hàng, trên xe, trên tàu thì khác, năng lượng của nó được phân bố trên một dải tần số rộng.
Hình 1.2 Dạng và sự phân bố phổ năng lượng trung bình nhiễu trên xe.
Hình 1.3 Dạng và sự phân bố phổ năng lượng trung bình của nhiễu trên tàu.
Hình 1.4 Dạng và sự phân bố phổ năng lượng trung bình của nhiễu trong nhà hàng.
1.4.2 Nhiễu và mức tín hiệu tiếng nói trong các môi trường khác nhau
Điểm tới hạn trong việc thiết kế các thuật toán của Speech enhancement là sự nhận biết dải biến thiên của tiếng nói và mức độ cường độ nhiễu trong môi trường thực tế. Từ đó, chúng ta có thể mô tả miền biến thiên của mức độ tỷ số tín hiệu trên nhiễu(SNR) được bắt gặp trong môi trường thực tế. Điều này rất quan trọng để đánh giá tính hiệu quả của các thuật toán Speech enhancement trong việc nén nhiễu và cải thiện chất lượng của tiếng nói trong dải biến thiên của mức SNR.
Mức độ của tiếng nói và nhiễu được đo lường bằng mức độ âm thanh. Phép đo lường ở đây là đo mức độ áp suất của âm thanh tính bằng dB SPL(sound pressure level). Khoảng cách giữa người nói và người nghe cũng ảnh hưởng đến mức cường độ âm thanh, nó tương ứng với phép đo được thực hiện khi microphone được đặt tại những vị trí có khoảng cách khác nhau. Khoảng cách đặc trưng trong giao tiếp face-to- face là 1m, khi khoảng cách đó tăng gấp đôi thì mức cường độ âm giảm đi 6 dB.
Hình bên dưới này là sự tổng hợp về mức độ âm trung bình giữa tiếng nói và nhiễu trong các môi trường khác nhau. Mức độ của nhiễu nhỏ nhất ở trong các môi trường như phòng học, trong nhà ở, trong bệnh viện và trong các toà nhà. Trong các môi trường khác nhau, thì mức độ âm của nhiễu nằm trong phạm vi biến thiên từ 50 đến 55 dB SPL, và mức độ âm của tiếng nói là 60 đến 70 dB SPL. Và khuyến nghị đưa
ra là mức tỷ số SNR có hiệu quả trong các môi trường này là 5 đến 15 dB. Mức độ âm của nhiễu rất cao trong các môi trường ở tàu điện ngầm, ở trên máy bay, nó đạt khoảng 70 đến 75 dB SPL. Và mức độ âm của tiếng nói trong các môi trường này cũng đạt mức đó, nên mức tỷ số SNR trong các môi trường này gần như là 0 dB.
Hình 1.5 Mức nhiễu và tiếng nói (được đo bằng SPL dB) trong các môi trường khác nhau.
1.5 Tín hiệu rời rạc theo thời gian
Tín hiệu rời rạc theo thời gian x(n) có thể tạo ra bằng cách lấy mẫu tín hiệu liên tục theo thời gian xa(t) với chu kỳ lấy mẫu là Ts (tần số lấy mẫu Fs = 1/ T). Ta có
xa(t)|t=nT = xa(nT) = x(n) , -∞ < n< ∞ (1.1)
Lưu ý n là biến nguyên, x(n) là hàm theo biến nguyên, chỉ định tại các giá trị n nguyên. Khi n không nguyên, thì x(n) không xác định, chứ không phải bằng 0. Trong nhiều sách về xử lý tín hiệu số, người ta quy ước: khi biến nguyên thì biến được đặt trong dấu ngoặc vuông và khi biến liên tục thì được đặt trong dấu ngoặc tròn. Từ đây trở đi, ta ký hiệu tín hiệu rời rạc là: x[n].
Một số tín hiệu rời rạc cơ bản
1.5.1 Tín hiệu bước nhảy đơn vị
u[n] =
1, n 0
2, n 0
(1.2)
Tín hiệu bước nhảy dịch chuyển có dạng sau:
u[n - no] =
1,
0,
n no n no
(1.3)