Đồ án: Ứng dụng thuật toán Wiener Filtering nâng cao chất lượng tiếng nói

Đồ án tốt nghiệp: Ứng dụng thuật toán Wiener Filtering nâng cao chất lượng tiếng nói. Tìm hiểu về phương pháp lọc Wiener và ứng dụng thực tế.

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2013

59
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

DANH MỤC CÁC HÌNH VẼ

DANH MỤC BẢNG BIỂU

DANH MỤC CÁC TỪ VIẾT TẮT VÀ CÁC THUẬT NGỮ TIẾNG ANH

MỞ ĐẦU

1. CHƯƠNG 1: TỔNG QUAN VỀ NÂNG CAO CHẤT LƯỢNG TIẾNG NÓI

1.1. GIỚI THIỆU CHƯƠNG

1.2. NÂNG CAO CHẤT LƯỢNG TIẾNG NÓI LÀ GÌ ?

1.3. LÝ THUYẾT VỀ TÍN HIỆU VÀ NHIỄU

1.3.1. Hệ thống và xử lý tín hiệu

1.3.2. Phân loại tín hiệu

1.4. LÝ THUYẾT VỀ NHIỄU

1.4.1. Nhiễu và mức tín hiệu tiếng nói trong các môi trường khác nhau

1.5. TÍN HIỆU RỜI RẠC THEO THỜI GIAN

1.5.1. Tín hiệu bước nhảy đơn vị

1.5.2. Tín hiệu xung đơn vị

1.5.3. Tín hiệu hàm sin rời rạc

1.6. PHÉP BIẾN ĐỔI FOURIER CỦA TÍN HIỆU RỜI RẠC DTFT

1.6.1. Sự hội tụ của phép biến đổi Fourier

1.6.2. Quan hệ giữa biến đổi Z và biến đổi Fourier

1.6.3. Phép biến đổi Fourier ngược

1.6.4. Các tính chất của phép biến đổi Fourier

1.6.5. Phân tích tần số (phổ) cho tín hiệu rời rạc

1.6.6. Phổ tín hiệu và phổ pha

1.7. CÁC THUẬT TOÁN SỬ DỤNG NÂNG CAO CHẤT LƯỢNG TIẾNG NÓI

1.7.1. Mô hình thống kê

1.8. CƠ CHẾ TẠO TIẾNG NÓI

1.8.1. Bộ máy phát âm của con người

1.8.2. Mô hình kỹ thuật của việc tạo tiếng nói

1.8.3. Phân loại âm

1.8.4. Thuộc tính âm học của tiếng nói

1.9. KẾT LUẬN CHƯƠNG

2. CHƯƠNG 2: ĐÁNH GIÁ CHẤT LƯỢNG TIẾNG NÓI

2.1. GIỚI THIỆU CHƯƠNG

2.2. PHƯƠNG PHÁP ĐÁNH GIÁ CHỦ QUAN

2.2.1. Các phương pháp đánh giá tuyệt đối

2.2.2. Các phương pháp đánh giá tương đối

2.2.2.1. Đánh giá bằng phương pháp so sánh các mẫu tín hiệu
2.2.2.2. Phương pháp đánh giá theo sự suy giảm chất lượng

2.3. PHƯƠNG PHÁP ĐÁNH GIÁ KHÁCH QUAN

2.3.1. Đo tỷ số tín hiệu trên nhiễu trên từng khung

2.3.2. Đánh giá mô phỏng theo cảm nhận nghe của con người

2.3.2.1. Phương pháp đo Weighted Spectral Slope
2.3.2.2. Phương pháp đo Bark Distortion
2.3.2.3. Phương pháp đánh giá cảm nhận chất lượng thoại PESQ

2.4. KẾT LUẬN CHƯƠNG

3. CHƯƠNG 3: THUẬT TOÁN WIENER FILTERING

3.1. GIỚI THIỆU CHƯƠNG

3.2. SƠ ĐỒ KHỐI CỦA WIENER FILTERING

3.3. THUẬT TOÁN WIENER FILTERING

3.3.1. Giới thiệu chung

3.3.2. Nguyên lý cơ bản của Wiener Filtering

3.4. OVERLAP VÀ ADDING TRONG QUÁ TRÌNH XỬ LÝ TÍN HIỆU TIẾNG NÓI

3.4.1. Phân tích tín hiệu theo từng frame

3.4.2. Overlap và Adding

3.5. ƯỚC LƯỢNG VÀ CẬP NHẬT NHIỄU

3.5.1. Voice activity detection

3.5.2. Quá trình ước lượng và cập nhật nhiễu

3.6. KẾT LUẬN CHƯƠNG

4. CHƯƠNG 4: MÔ PHỎNG BẰNG PHẦN MỀM MATLAB

4.1. GIỚI THIỆU CHƯƠNG

4.2. QUY TRÌNH THỰC HIỆN VÀ ĐÁNH GIÁ THUẬT TOÁN

4.3. LƯU ĐỒ THUẬT TOÁN WIENER FILTERING

4.4. CHƯƠNG TRÌNH MÔ PHỎNG

4.5. CHƯƠNG TRÌNH CHẠY MÔ PHỎNG

4.6. THỰC HIỆN THUẬT TOÁN VÀ ĐÁNH GIÁ

4.6.1. Thực hiện xử lý các file âm thanh bị nhiễu với SNR =5dB

4.6.1.1. Nhiễu do tiếng ồn với SNR = 5dB
4.6.1.2. Nhiễu do người nói xung quanh với SNR =5dB
4.6.1.3. Nhiễu do tiếng xe hơi với SNR =5dB

4.6.2. Thực hiện xử lý các file âm thanh bị nhiễu với SNR =15dB

4.6.2.1. Nhiễu do người nói xung quanh với SNR =15dB
4.6.2.2. Nhiễu do tiếng xe hơi với SNR =15dB

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI

TÀI LIỆU THAM KHẢO

NHÂN XÉT CỦA CÁN BỘ HƯỚNG DẪN

Tóm tắt

I. Khám phá nền tảng nâng cao chất lượng tiếng nói là gì

Nâng cao chất lượng tiếng nói, hay speech enhancement, là một lĩnh vực quan trọng trong xử lý tín hiệu số (Digital Signal Processing). Mục tiêu cốt lõi của nó là cải thiện chất lượng và độ rõ của tín hiệu giọng nói bị suy giảm bởi nhiễu. Trong thực tế, tín hiệu âm thanh thường bị trộn lẫn với các tạp âm không mong muốn, từ tiếng ồn môi trường như giao thông, nhà hàng, đến nhiễu điện tử trong kênh truyền. Các thuật toán speech enhancement được thiết kế để khử nhiễu tiếng nói (speech denoising) hoặc nén nhiễu nền, giúp người nghe tiếp nhận thông tin một cách dễ dàng và chính xác hơn. Việc này không chỉ làm giảm sự mệt mỏi cho người nghe mà còn là bước tiền xử lý thiết yếu cho các hệ thống phức tạp khác. Ví dụ, trong các ứng dụng nhận dạng giọng nói (Speech Recognition), một tín hiệu đầu vào sạch sẽ cải thiện đáng kể độ chính xác của hệ thống. Tương tự, trong các hệ thống viễn thông như gọi thoại qua IP (VoIP) hoặc điện thoại di động, lọc nhiễu âm thanh giúp cuộc hội thoại trở nên trong suốt và tự nhiên. Đồ án của Võ Công Điễn (2013) nhấn mạnh rằng mục tiêu không phải là tái tạo lại hoàn toàn tín hiệu gốc, mà là tăng cường chất lượng cảm nhận, đảm bảo thông tin được truyền tải đầy đủ mà không gây khó chịu cho người nghe. Một trong những phương pháp kinh điển và hiệu quả để đạt được mục tiêu này chính là áp dụng bộ lọc Wiener, một kỹ thuật tối ưu dựa trên mô hình thống kê của tín hiệu và nhiễu. Bài viết này sẽ đi sâu vào phương pháp Nâng cao chất lượng tiếng nói bằng Wiener Filtering, phân tích từ nguyên lý cơ bản đến các bước triển khai và đánh giá hiệu quả thực tế.

1.1. Thực trạng nhiễu trong tín hiệu tiếng nói và thách thức

Nhiễu là một yếu tố không thể tránh khỏi trong hầu hết các môi trường ghi âm và truyền thông. Tài liệu nghiên cứu chỉ ra rằng nhiễu có thể tồn tại dưới nhiều dạng khác nhau, từ nhiễu trắng có phổ công suất (Power Spectral Density - PSD) phân bố đều, đến nhiễu màu có năng lượng tập trung ở một số dải tần nhất định. Các môi trường thực tế như trên xe hơi, nhà hàng, hay công trường xây dựng tạo ra các loại nhiễu không dừng (non-stationary), tức là đặc tính thống kê của chúng thay đổi liên tục theo thời gian. Thách thức lớn nhất trong việc khử nhiễu tiếng nói là làm sao để phân biệt được đâu là tín hiệu giọng nói hữu ích và đâu là nhiễu. Việc loại bỏ nhiễu một cách triệt để có thể vô tình làm méo mó tín hiệu gốc, ảnh hưởng đến độ tự nhiên và cải thiện độ rõ của giọng nói. Ngược lại, nếu lọc quá nhẹ, nhiễu còn sót lại vẫn gây khó chịu. Do đó, việc thiết kế một bộ lọc hiệu quả đòi hỏi sự cân bằng tinh tế giữa việc giảm nhiễu và bảo toàn chất lượng tín hiệu.

1.2. Vai trò của việc cải thiện độ rõ của giọng nói hiện nay

Trong kỷ nguyên số, việc cải thiện độ rõ của giọng nói đóng vai trò then chốt trong nhiều ứng dụng công nghệ. Nó không chỉ giới hạn ở các cuộc gọi điện thoại thông thường. Các hệ thống trợ lý ảo như Google Assistant hay Siri phụ thuộc rất nhiều vào chất lượng tín hiệu đầu vào để có thể thực hiện nhận dạng giọng nói chính xác. Trong lĩnh vực y tế, các thiết bị trợ thính hiện đại tích hợp thuật toán lọc nhiễu âm thanh để giúp người dùng nghe rõ hơn trong môi trường ồn ào. Các hệ thống hội nghị truyền hình, vốn đã trở nên phổ biến, cần đến khả năng tách nguồn âm thanh và khử nhiễu để đảm bảo mọi người tham gia đều có thể giao tiếp hiệu quả. Hơn nữa, trong các ứng dụng an ninh và pháp y, việc làm sạch các đoạn ghi âm bị nhiễu có thể là yếu tố quyết định để trích xuất bằng chứng quan trọng. Vì vậy, các kỹ thuật speech enhancement không chỉ là một bài toán học thuật mà còn có giá trị ứng dụng thực tiễn to lớn.

II. Nguyên lý thuật toán Wiener Giải pháp lọc nhiễu tối ưu

Bộ lọc Wiener là một phương pháp lọc tuyến tính tối ưu, được phát triển bởi Norbert Wiener, nhằm mục đích ước tính tín hiệu mong muốn từ một tín hiệu quan sát được bị nhiễu. Nguyên tắc cốt lõi của nó dựa trên tiêu chuẩn ước lượng sai số trung bình bình phương tối thiểu (Minimum Mean Square Error - MMSE). Điều này có nghĩa là bộ lọc được thiết kế để giảm thiểu sự khác biệt trung bình giữa tín hiệu gốc (chưa biết) và tín hiệu được khôi phục sau khi lọc. Để làm được điều này, thuật toán Wiener yêu cầu thông tin thống kê bậc hai của tín hiệu và nhiễu, cụ thể là phổ công suất (PSD) của chúng. Giả định cơ bản là tín hiệu giọng nói và tín hiệu nhiễu là các quá trình ngẫu nhiên dừng (stationary) và không tương quan với nhau. Dựa trên các giả định này, hàm truyền của bộ lọc Wiener trong miền tần số được xác định. Hàm truyền này hoạt động như một hệ số khuếch đại phụ thuộc vào tần số. Tại những tần số mà tỷ số tín hiệu trên nhiễu (SNR) cao, bộ lọc sẽ cho tín hiệu đi qua gần như nguyên vẹn. Ngược lại, tại những tần số mà SNR thấp (nhiễu chiếm ưu thế), bộ lọc sẽ suy giảm tín hiệu mạnh mẽ. Quá trình này giúp 'làm sạch' phổ của tín hiệu, từ đó nâng cao chất lượng tiếng nói. So với các phương pháp đơn giản hơn như lọc phổ trừ (Spectral Subtraction), bộ lọc Wiener mang lại kết quả tốt hơn về mặt lý thuyết vì nó tối ưu hóa sai số ước lượng.

2.1. Mô hình toán học và công thức cốt lõi của bộ lọc Wiener

Giả sử tín hiệu quan sát được y(n) là tổng của tín hiệu sạch x(n) và nhiễu d(n), tức là y(n) = x(n) + d(n). Trong miền tần số, ta có Y(ω) = X(ω) + D(ω). Mục tiêu của bộ lọc Wiener là tìm một hàm truyền H(ω) sao cho tín hiệu ước lượng X̂(ω) = H(ω)Y(ω) là gần với X(ω) nhất có thể. Dựa trên nguyên lý ước lượng MMSE, hàm truyền tối ưu H(ω) được chứng minh có dạng: H(ω) = Px(ω) / [Px(ω) + Pd(ω)], trong đó Px(ω) và Pd(ω) lần lượt là phổ công suất của tín hiệu sạch và nhiễu. Công thức này có thể viết lại dưới dạng: H(ω) = SNR(ω) / [1 + SNR(ω)], với SNR(ω) = Px(ω) / Pd(ω) là tỉ số tín hiệu trên nhiễu tại tần số ω. Công thức này cho thấy bản chất thích nghi của bộ lọc: nó tự động điều chỉnh độ suy giảm dựa trên mức độ nhiễu tại mỗi thành phần tần số. Một thách thức lớn là Px(ω) không thể biết trước, do đó cần các phương pháp ước lượng, chẳng hạn như phương pháp Decision-Directed.

2.2. So sánh bộ lọc Wiener với bộ lọc Kalman và lọc phổ trừ

Trong lĩnh vực khử nhiễu tiếng nói, bộ lọc Wiener thường được so sánh với các kỹ thuật khác. Lọc phổ trừ (Spectral Subtraction) là một phương pháp đơn giản hơn, hoạt động bằng cách ước lượng phổ nhiễu và trừ nó khỏi phổ của tín hiệu bị nhiễu. Dù dễ triển khai, phương pháp này thường tạo ra một loại nhiễu nhân tạo gọi là 'nhạc nhiễu' (musical noise). Bộ lọc Wiener khắc phục được nhược điểm này bằng cách thực hiện một phép suy giảm 'mềm' thay vì trừ trực tiếp, mang lại chất lượng âm thanh tự nhiên hơn. Mặt khác, bộ lọc Kalman là một kỹ thuật lọc thích nghi mạnh mẽ hơn, hoạt động trong miền thời gian và có khả năng xử lý nhiễu không dừng tốt hơn. Tuy nhiên, bộ lọc Kalman đòi hỏi một mô hình trạng thái của tín hiệu và có độ phức tạp tính toán cao hơn. Bộ lọc Wiener là một sự cân bằng tốt giữa hiệu quả và độ phức tạp, đặc biệt hiệu quả cho các loại nhiễu gần dừng (quasi-stationary).

III. Hướng dẫn các bước triển khai Wiener Filtering thực tế

Việc triển khai thuật toán Wiener để nâng cao chất lượng tiếng nói trong thực tế không chỉ đơn thuần là áp dụng một công thức. Nó bao gồm một quy trình xử lý tín hiệu số nhiều bước, thường được thực hiện trên từng khung tín hiệu ngắn. Quy trình này đảm bảo rằng thuật toán có thể xử lý các tín hiệu tiếng nói có đặc tính thay đổi theo thời gian. Đầu tiên, tín hiệu đầu vào được phân thành các khung (frame) ngắn, chồng lấp lên nhau, thường có độ dài từ 20-30ms. Việc sử dụng các khung chồng lấp (overlap) giúp giảm thiểu hiệu ứng gián đoạn ở biên các khung. Mỗi khung sau đó được nhân với một hàm cửa sổ (ví dụ: Hamming) để làm mịn các cạnh. Tiếp theo, phép biến đổi Fourier nhanh (FFT) được áp dụng cho mỗi khung để chuyển tín hiệu từ miền thời gian sang miền tần số. Đây là bước quan trọng vì bộ lọc Wiener hoạt động hiệu quả nhất trên phổ của tín hiệu. Tại đây, hàm truyền của bộ lọc được tính toán dựa trên ước lượng phổ công suất của tín hiệu và nhiễu. Tín hiệu sạch trong miền tần số được ước tính bằng cách nhân phổ của khung nhiễu với hàm truyền này. Cuối cùng, tín hiệu ước lượng được chuyển ngược về miền thời gian bằng biến đổi Fourier ngược (IFFT) và các khung được tái tạo lại bằng phương pháp cộng chồng lấp (Overlap-Add) để tạo thành tín hiệu đầu ra liên tục. Quá trình Nâng cao chất lượng tiếng nói bằng Wiener Filtering này có thể được hiện thực hóa bằng các công cụ mạnh mẽ như MATLAB signal processing hoặc các thư viện của Python.

3.1. Kỹ thuật phân khung và Overlap Add trong xử lý tín hiệu

Tín hiệu tiếng nói là một tín hiệu không dừng, nhưng có thể được coi là dừng trong những khoảng thời gian ngắn (10-30ms). Kỹ thuật phân khung (framing) dựa trên nguyên tắc này. Tín hiệu được chia thành các đoạn ngắn gọi là frame. Để tránh mất thông tin ở các mép frame, các frame liên tiếp thường được xếp chồng lên nhau một phần, ví dụ 50%. Quá trình này gọi là 'overlap'. Sau khi xử lý từng frame trong miền tần số và biến đổi ngược về miền thời gian, cần phải kết hợp chúng lại. Phương pháp 'Overlap-Add' được sử dụng để tái tạo lại tín hiệu ban đầu một cách mượt mà. Các phần chồng lấp của các frame liên tiếp được cộng lại với nhau. Việc lựa chọn đúng độ dài khung, độ chồng lấp và hàm cửa sổ là rất quan trọng để đảm bảo việc lọc nhiễu âm thanh không tạo ra các hiện vật (artifacts) không mong muốn trong tín hiệu đầu ra.

3.2. Quá trình ước lượng nhiễu sử dụng Voice Activity Detection

Hiệu quả của bộ lọc Wiener phụ thuộc rất lớn vào độ chính xác của việc ước lượng phổ nhiễu Pd(ω). Một phương pháp phổ biến là sử dụng một bộ phát hiện hoạt động giọng nói (Voice Activity Detection - VAD). Thuật toán VAD có nhiệm vụ phân biệt các khung chỉ chứa nhiễu (khi không có tiếng nói) và các khung có chứa tiếng nói. Trong các khoảng lặng, hệ thống sẽ cập nhật ước tính về phổ của nhiễu bằng cách lấy trung bình phổ của các khung này. Ước tính nhiễu này sau đó được sử dụng để tính toán hàm truyền của bộ lọc cho các khung có tiếng nói tiếp theo. Tài liệu của Võ Công Điễn (2013) cũng đề cập đến việc sử dụng VAD để quyết định khi nào cần cập nhật lại mô hình nhiễu. Tuy nhiên, phương pháp này có thể gặp khó khăn trong môi trường có tỷ số tín hiệu trên nhiễu (SNR) thấp hoặc nhiễu thay đổi nhanh, đòi hỏi các thuật toán ước lượng nhiễu phức tạp hơn.

3.3. Triển khai thuật toán Wiener bằng Python Librosa SciPy

Việc triển khai thuật toán Wiener ngày nay trở nên dễ dàng hơn nhờ các thư viện mã nguồn mở. Trong Python, thư viện SciPy cung cấp hàm scipy.signal.wiener cho các ứng dụng lọc cơ bản. Tuy nhiên, để có sự kiểm soát chi tiết hơn đối với speech enhancement, người ta thường tự xây dựng thuật toán theo từng bước. Thư viện Python Librosa là một công cụ mạnh mẽ cho việc phân tích âm thanh, giúp dễ dàng thực hiện các tác vụ như đọc file âm thanh, phân khung, và tính toán biến đổi Fourier (cụ thể là STFT - Short-Time Fourier Transform). Bằng cách kết hợp Librosa để tiền xử lý và hậu xử lý, và NumPy để thực hiện các phép toán trên phổ, một lập trình viên có thể xây dựng một hệ thống lọc nhiễu âm thanh hoàn chỉnh dựa trên nguyên lý Wiener. Tương tự, MATLAB signal processing Toolbox cũng cung cấp đầy đủ các hàm cần thiết để mô phỏng và triển khai thuật toán này một cách hiệu quả.

IV. Đánh giá hiệu quả thực tế của phương pháp Wiener Filtering

Để xác định mức độ hiệu quả của phương pháp Nâng cao chất lượng tiếng nói bằng Wiener Filtering, cần có các phương pháp đánh giá khách quan và chủ quan. Đánh giá chủ quan, như thang điểm MOS (Mean Opinion Score), dựa trên cảm nhận của người nghe về chất lượng âm thanh sau khi xử lý. Tuy nhiên, phương pháp này tốn kém và mất thời gian. Do đó, các phép đo khách quan được sử dụng rộng rãi hơn trong nghiên cứu. Một trong những chỉ số phổ biến nhất là tỷ số tín hiệu trên nhiễu (SNR). Bằng cách so sánh SNR của tín hiệu trước và sau khi lọc, có thể định lượng được mức độ cải thiện. Một biến thể là SNR phân đoạn (SNRseg), tính toán SNR trên từng khung ngắn rồi lấy trung bình, phản ánh tốt hơn sự thay đổi của tín hiệu tiếng nói. Ngoài ra, còn có các phương pháp đánh giá phức tạp hơn mô phỏng cảm nhận của con người như PESQ (Perceptual Evaluation of Speech Quality). Trong đồ án của Võ Công Điễn (2013), thuật toán được mô phỏng bằng MATLAB và thử nghiệm trên các file âm thanh bị nhiễu với các mức SNR khác nhau (ví dụ: 5dB và 15dB) và các loại nhiễu đa dạng (nhiễu xe hơi, nhiễu tiếng người nói xung quanh). Kết quả thực nghiệm cho thấy bộ lọc Wiener có khả năng giảm nhiễu nền một cách rõ rệt, giúp dạng sóng của tín hiệu sau xử lý gần với dạng sóng của tín hiệu sạch hơn. Điều này chứng tỏ thuật toán Wiener là một giải pháp khả thi và hiệu quả cho bài toán khử nhiễu tiếng nói.

4.1. Kết quả mô phỏng với các loại nhiễu và mức SNR khác nhau

Nghiên cứu của Võ Công Điễn (2013) đã tiến hành các thử nghiệm chi tiết bằng phần mềm MATLAB. Các file âm thanh sạch được trộn với các loại nhiễu thực tế như tiếng ồn trắng, tiếng người nói chuyện, và tiếng xe hơi ở hai mức tỷ số tín hiệu trên nhiễu (SNR) là 5dB (mức nhiễu cao) và 15dB (mức nhiễu trung bình). Kết quả được minh họa qua dạng sóng tín hiệu. Đối với trường hợp SNR = 5dB, tín hiệu gốc gần như bị che lấp hoàn toàn bởi nhiễu. Sau khi áp dụng bộ lọc Wiener, dạng sóng của tín hiệu được khôi phục đáng kể, các đỉnh và thung lũng đặc trưng cho tiếng nói trở nên rõ ràng hơn. Mặc dù không thể loại bỏ hoàn toàn nhiễu, nhưng mức độ suy giảm nhiễu là rất đáng kể. Với SNR = 15dB, hiệu quả của thuật toán càng rõ rệt hơn, tín hiệu sau xử lý có chất lượng rất gần với tín hiệu sạch. Các thử nghiệm này cho thấy khả năng thích ứng của thuật toán Wiener với các điều kiện nhiễu khác nhau.

4.2. Ưu điểm và hạn chế của việc sử dụng bộ lọc Wiener

Ưu điểm lớn nhất của bộ lọc Wiener là tính tối ưu về mặt toán học dựa trên tiêu chuẩn MMSE. Nó cung cấp một giải pháp có cơ sở lý thuyết vững chắc và thường cho kết quả tốt hơn so với các phương pháp ad-hoc như lọc phổ trừ. Thuật toán có độ phức tạp vừa phải, phù hợp cho các ứng dụng xử lý tiếng nói thời gian thực. Tuy nhiên, bộ lọc Wiener cũng có những hạn chế. Hiệu quả của nó phụ thuộc nhiều vào giả định rằng tín hiệu và nhiễu là các quá trình dừng và không tương quan. Trong thực tế, nhiều loại nhiễu là không dừng, làm giảm hiệu suất của bộ lọc. Hơn nữa, việc ước lượng chính xác phổ công suất của tín hiệu sạch là một bài toán khó. Sai số trong quá trình ước lượng này có thể dẫn đến hiện tượng méo tín hiệu hoặc nhiễu còn sót lại. Mặc dù vậy, bộ lọc Wiener vẫn là một công cụ nền tảng và là điểm khởi đầu quan trọng cho nhiều thuật toán speech enhancement tiên tiến hơn.

29/09/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1: TỔNG QUAN VỀ NÂNG CAO CHẤT LƯỢNG TIẾNG NÓI 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.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 â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 SVTH: Võ Công Điễn_CCVT03A Trang 2 Áp dụng thuật toán Wiener Filtering nâng cao chất lượng tiếng nói. 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.3 LÝ THUYẾT VỀ TÍN HIỆU VÀ NHIỄU 1.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. SVTH: Võ Công Điễn_CCVT03A Trang 3 Áp dụng thuật toán Wiener Filtering nâng cao chất lượng 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.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ăngg 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.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.

SVTH: Võ Công Điễn_CCVT03A Trang 4 Áp dụng thuật toán Wiener Filtering nâng cao chất lượng tiếng nói. 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 đó.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.4 LÝ THUYẾT VỀ NHIỄU 1.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.

SVTH: Võ Công Điễn_CCVT03A Trang 5 Áp dụng thuật toán Wiener Filtering nâng cao chất lượng tiếng nói.2 Dạng và sự phân bố phổ năng lượng trung bình nhiễu trên xe.3 Dạng và sự phân bố phổ năng lượng trung bình của nhiễu trên tàu. SVTH: Võ Công Điễn_CCVT03A Trang 6 Áp dụng thuật toán Wiener Filtering nâng cao chất lượng tiếng nói.4 Dạng và sự phân bố phổ năng lượng trung bình của nhiễu trong nhà hàng.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ế.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ