Chương 1: Cơ sở lý thuyết Fourier Transform - DFT) trên từng khung này. Tốc độ nói của con người trung bình khoảng 3, 4 từ mỗi giây, mỗi từ khoảng 3-4 âm, mỗi âm chia thành 3-4 phần, như vậy 1 giây âm thanh được chia thành 36 - 40 phần, ta chọn độ rộng mỗi khung khoảng 20 - 25ms là đủ rộng để bao 1 phần âm thanh. Các khung được xếp chồng lên nhau khoảng 10ms để có thể thu lại sự thay đổi về nội dung.10: Các khung dữ liệu được xếp chồng lên nhau 4 Tuy nhiên, việc cắt khung sẽ làm các giá trị ở 2 biên của khung bị giảm đột ngột về giá trị 0, điều đó sẽ dẫn tới hiện tượng: khi DFT sang miền tần số sẽ có rất nhiều nhiễu ở tần số cao. Để khắc phục điều này, ta cần làm mượt bằng cách nhân khung dữ liệu với một vài loại cửa sổ.
Có một vài loại cửa sổ phổ biến là Hamming window, Hanning window. có tác dụng làm giá trị biên khung giảm xuống từ từ.11: Các loại cửa sổ phổ biến 4 Hình 1.12: Tín hiệu âm thanh khi chập với các loại cửa sổ khác nhau 4 Hình 1.12 sẽ cho ta thấy rõ được tác dụng của các sửa sổ này. Trong các hình nhỏ, hình 1 là khung được cắt ra từ âm thanh gốc, âm thanh gốc là sự kết hợp của hai sóng của hình 2. Nếu cắt trực tiếp, tín hiệu miền tần số tương ứng là hình 3, ta có thể thấy tín hiệu này chứa rất nhiều nhiễu.
Nếu áp dụng các cửa sổ như Hanning, Hamming, Blackman, tín hiệu miền tần số thu được mượt hơn và tương ứng sóng gốc ở hình 2. 4 https://jonathan-hui.com 13 Chương 1: Cơ sở lý thuyết Bước 4: Biến đổi Fourier rời rạc Trên từng khung, ta áp dụng DFT - Discrete Fourier Transform theo công thức dưới đây: N −1 X 2π X[k] = x[n]exp(−j kn) n=0 N Mỗi khung ta thu được một danh sách các giá trị độ lớn tương ứng với từng tần số từ 0 → N. Áp dụng trên tất cả các khung, ta đã thu được 1 ảnh phổ như hình dưới đây. Trục x là trục thời gian, trục y thể hiện dải tần số từ 0 → 10000Hz, giá trị biên độ tại từng tần số được thể hiện bằng màu sắc.
Qua quan sát ảnh phổ này, ta nhận thấy các tại các tần số thấp thường có biên độ cao và ngược lại.13: Ảnh phổ của tín hiệu âm thanh lên Tuy nhiên trong nhiều bài toán, đặc biệt là trong bài toán nhận dạng giọng nói, ảnh phổ không phải là sự lựa chọn hoàn hảo. Vì vậy ta cần thêm vài bước tính toán để có thể thu được dạng MFCC, tốt hơn, phổ biến hơn, hiệu quả hơn ảnh phổ. Bước 5: Bộ lọc Mel Chúng ta đều biết cách cảm nhận của tai người là phi tuyến tính, không giống các thiết bị đo. Tai người cảm nhận tốt ở các tần số thấp, kém nhạy cảm với các tần số cao.
Vì vậy, ta cần một cơ chế để máy tính có thể xử lý âm thanh tương tự như vậy. Bộ lọc Mel được thiết kế dựa trên nguyên lý về cách con người cảm nhận và xử lý âm thanh trong một phạm vi tần số cụ thể. Đặc điểm quan trọng của bộ lọc Mel là nó tập trung vào các khoảng tần số quan trọng mà con người cảm nhận tốt hơn, thay vì phân chia tần số theo cách đều nhau. Quá trình tạo ra bộ lọc Mel thường bắt đầu bằng việc chuyển đổi từ tần số Hertz sang đơn vị Mel bằng công thức: f M el(f ) = 2595 · log10 (1 + ) 700 Trong đó, f là tần số trong đơn vị Hertz và M el(f ) là tần số tương ứng trong đơn vị Mel.
14 Chương 1: Cơ sở lý thuyết Hình 1.14: Bộ lọc thông dải Mel 4 Hình 1.15: Ảnh phổ Mel Sau đó, ta bình phương các giá trị trong ảnh phổ thu được DFT power spectrum. Sau đó, ta áp dụng một tập các bộ lọc thông dải Mel trên từng khoảng tần số. Giá trị đầu ra của từng bộ lọc là năng lượng dải tần số mà bộ lọc đó bao phủ được. Ta thu được Mel-scale power spectrum.
Ngoài ra, các bộ lọc dùng cho dải tần thấp thường hẹp hơn các bộ lọc dùng cho dải tần cao. Bước 6: Cepstrum Bước 6.1: Log Bộ lọc Mel trả về phổ công suất của âm thanh, hay còn gọi là phổ năng lượng. Thực tế rằng con người kém nhạy cảm trong sự thay đổi năng lượng ở các tần số cao, nhạy cảm hơn ở tần số thấp. Vì vậy ta sẽ tính log trên Mel-scale power spectrum.
Điều này còn giúp giảm các biến thể âm thanh không đáng kể để nhận dạng giọng nói. 4 https://jonathan-hui.com 15 Chương 1: Cơ sở lý thuyết Bước 6.2: Biến đổi ngược Fourier rời rạc Bước tiếp theo của việc trích chọn đặc trưng MFCC là áp dụng biến đổi ngược Fourier rời rạc (Inverse Dicrete Fourier Transform - IDFT) với đầu vào là các hệ số phổ mel của bước trước, từ đó ta sẽ thu được ở đầu ra là các hệ số cepstrum. Như đã mô tả ở phần trước, giọng nói của chúng ta có tần số F0 - tần số cơ bản và các formant F1, F2, F3. Tần số F0 này đặc trưng cho cao độ giọng nói ở từng người.
Tuy nhiên, thông tin về cao độ không giúp ích trong bài toán nhận dạng giọng nói, nên ta cần tìm cách để loại thông tin về F0 đi, giúp các mô hình nhận dạng không bị phụ thuộc vào cao độ giọng từng người.16: Quy trình tính Cepstrum 4 Trong hình 1.15, tín hiệu chúng ta thu được là đồ thị 3, nhưng thông tin quan trọng chúng ta cần là phần 2 và thông tin cần loại bỏ là phần 1. Để loại bỏ đi thông tin về F0, ta áp dụng IDFT về miền thời gian, từ đó ta thu được Cepstrum. Khi đó, với Cepstrum thu được, phần thông tin liên quan tới F0 và phần thông tin liên quan tới F1, F2, F3. nằm tách biệt nhau như 2 phần khoanh tròn trong hình 4.
Ta chỉ cần lấy thông tin trong đoạn đầu của cepstrum (phần được khoanh tròn to trong hình 4). Để tính MFCC, ta chỉ cần lấy 12 giá trị đầu tiên. Như vậy sau bước này, ta thu được 12 đặc trưng Cepstral.3: Trích xuất MFCC Sau bước trên, từ mỗi khung ta đã trích xuất ra được 12 đặc trưng Cepstral làm 12 đặc trưng đầu tiên của MFCC. Đặc trưng thứ 13 là năng lượng của khung đó, tính theo công thức: Xt2 Energy = x2 [t] t=t1 Trong nhận dạng tiếng nói, thông tin về bối cảnh và sự thay đổi rất quan trọng.
VD tại những điểm mở đầu hoặc kết thúc ở nhiều phụ âm, sự thay đổi này rất rõ rệt, có thể nhận dạng các âm vị dựa vào sự thay đổi này. 13 hệ số tiếp theo chính là đạo hàm bậc 1 (theo thời gian) của 13 đặc trưng đầu tiên. Nó chứa thông tin về sự thay đổi từ khung thứ t đến khung t + 1, được tính bằng công thức: c(t + 1) − c(t − 1) d(t) = 2 trong đó d(t) là đặc trưng delta của khung t, c(t + 1) và c(t − 1) là các đặc trưng phổ của khung ngay sau và trước khung t. 16 Chương 1: Cơ sở lý thuyết Tương tự như vậy, 13 giá trị cuối của MFCC là sự thay đổi của d(t) theo thời gian - đạo hàm của d(t), đồng thời là đạo bậc 2 của c(t), được tính bằng công thức: d(t + 1) − d(t − 1) b(t) = 2 Vậy, từ 12 đặc trưng cepstral và đặc trưng năng lượng thứ 13, ta đạo hàm 2 lần và thu được 39 đặc trưng.
Đây chính là đặc trưng MFCC. Sự khác biệt chính giữa 13 và 39 đặc trưng MFCC thường nằm ở mức độ chi tiết của thông tin biểu diễn. Việc sử dụng 39 đặc trưng MFCC thường cung cấp thông tin đa dạng hơn về tín hiệu âm thanh, trong khi 13 đặc trưng MFCC thường được sử dụng trong các trường hợp cần giảm chiều dữ liệu hoặc tài nguyên tính toán.3 Học sâu (Deep learning) Sau quá trình trích chọn đặc trưng âm thanh, bước tiếp theo là giai đoạn huấn luyện, nơi mà máy tính được dạy để nhận biết và học từ những đặc trưng độc đáo của mỗi âm thanh. Qua quá trình này, chúng ta tạo ra cơ sở cho việc xây dựng một hệ thống nhận diện giọng nói, cho phép máy tính phân biệt và xử lý các âm thanh khác nhau.
Quá trình huấn luyện không chỉ đòi hỏi máy tính phải hiểu và nhận biết các đặc trưng âm thanh mà còn yêu cầu phải tinh chỉnh các tham số và mô hình để cải thiện khả năng phân loại và nhận diện. Bằng cách tiếp cận từng đặc trưng và mẫu âm thanh, máy tính học hỏi cách phân biệt giữa các âm thanh riêng biệt, xác định những đặc điểm quan trọng và xây dựng một cơ sở dữ liệu để từ đó có thể nhận diện và phản ứng đáp ứng với các âm thanh tương ứng. Tuy nhiên, trong quá trình huấn luyện truyền thống, sự khó khăn thường xuất hiện khi cần xử lý một lượng lớn dữ liệu và tối ưu hóa các mô hình truyền thống để phù hợp với sự đa dạng và phức tạp của âm thanh. Đây chính là lúc mà học sâu trở nên quan trọng.1 Định nghĩa Học sâu là một tập con của các phương pháp học máy, dựa trên các mạng neural nhân tạo với việc học biểu diễn.
Tính từ “sâu” trong học sâu liên quan đến việc sử dụng nhiều lớp trong mạng neural. Các phương pháp sử dụng có thể là học có giám sát, học bán giám sát hoặc học không giám sát. Dưới đây là cách thức hoạt động của một mạng học sâu: Học sâu hoạt động bằng cách khám phá các cấu trúc phức tạp trong dữ liệu mà chúng trải nghiệm. Cụ thể là xây dựng các mô hình tính toán bao gồm nhiều lớp xử lý, mạng có thể tạo ra nhiều mức trừu tượng để biểu diễn dữ liệu.
Ví dụ, một mô hình học sâu được gọi là mạng neural phức hợp có thể được đào tạo bằng cách sử dụng số lượng lớn (hàng triệu) hình ảnh, chẳng hạn như những hình ảnh có chứa mèo. Mạng neural này sẽ học hỏi từ các điểm ảnh có trong hình ảnh mà nó thu được. Nó có thể phân loại các nhóm điểm ảnh đại diện cho các đặc điểm của mèo, với các nhóm đặc điểm như móng vuốt, tai và mắt cho biết sự hiện diện của mèo trong hình ảnh.