Conformer Chú ý: Mọi người nên tìm hiểu kỹ về Transformer và Multi-head Self Attention trước khi đọc bài này. Câu hỏi cho người đọc: Có cần thiết áp dụng Macron-style và Relative Position Encoding cho Conformer trong các bài toán xử lý tiếng nói hay không? ASR Conformer Trước khi đi vào phần chính, chúng ta sẽ lướt qua xem hướng tiếp cận đang cho hiệu quả cao nhất trong nhận dạng tiếng nói, RNN-Transducer và những biến thể cải tiến của nó. Mô hình chung của một Neural RNN-Transducer được biểu diễn trong hình 1. Hình 1: Neural Transducer [1] Trong đó, Predictor và Encoder có thể được xây dựng bởi nhiều kiến trúc khác nhau như RNNs, LSTM hay Transformer để đưa ra các biểu diễn trung gian của các chuỗi đầu vào. Với Predictor là biểu diễn của chuỗi văn bản (label), và Encoder là biểu diễn của chuỗi audio-frame. Cùng với Predictor và Encoder, RNN-T loss được sử dụng để cực đại hóa tổng xác suất của mọi alignment giữa audio đầu vào và văn bản đầu ra, từ đó giúp cho mô hình học được alignme...
Cách tạo thành tiếng nói
Tiếng nói là một tín hiệu sóng âm lan truyền trong một môi trường nhất định để mang thông tin mà con người muốn truyền đạt. Sơ đồ của bộ máy phát âm của con người được biểu diễn trên Hình 1, trong đó không khí lần lượt từ Phổi (Lungs) đi qua thanh quản đến cổ họng (Pharyngeal cavity), sau đó sẽ đi vào khoang miệng (Oral cavity) hoặc khoang mũi (Nasal cavity). Trong quá trình này, đầu tiên các cơ bắp như cơ hoành đẩy không khí từ phổi đến thanh quản, tại đây nếu luồng khí này tương tác với dây thanh quản tạo ra dao động, thì tín hiệu tiếng nói cuối cùng sẽ là âm hữu thanh, còn nếu dây thanh quản không dao động hoặc ít dao động thì sau này sẽ tạo thành âm vô thanh. Sau đó luồng không khí sẽ đi qua cổ họng đến phần bướu lưỡi và đi vào khoang miệng hoặc khoang mũi. Với tín hiệu đi qua khoang miệng tín hiệu tiếng nói sẽ chứa các tần số formant, còn nếu đi qua khoang mũi, khoang này như một hộp cộng hưởng và kết hợp với khoang miệng nó sẽ tạo ra các tần số antiformant.
![]() |
Hình 1: Bộ máy tạo tiếng nói |
Mô hình tạo tiếng nói Fant
![]() |
Hình 2: Mô hình Fant |
Dựa trên quá trình tạo tiếng nói của con người, mô hình Fant được đề xuất như trong Hình 2, với G(z) đại diện cho bộ phần nguồn tạo tiếng nói (kết hợp của thanh quản, cổ họng,...), V(z) đại diện cho truyền âm và R(z) là tán xạ môi trường truyền. Ba thành phần này cấu thành lên một mô hình toàn điểm cực của toàn bộ cấu trúc các cơ quan đóng góp trong việc tạo ra tín hiệu tiếng nói: T(z) = G(z)V(z)R(z).
Trên đây tôi đã giới thiệu cho các bạn về quá trình tạo ra tín hiệu tiếng nói. Phần tiếp theo chúng ta sẽ cùng xem xét đến các phương pháp để phân tích một tín hiệu tiếng nói và ứng dụng của các phương pháp này.
Phân tích tín hiệu tiếng nói
Phân tích Fourier
Với một hệ thống thông thường ( bao gồm cả hệ thống tạo tín hiệu tiếng nói ), thường có hai vấn đề cần xử lý là: Phân tích hệ thống để tìm ra tín hiệu đầu ra của một hệ thống cho trước, và tổng hợp hệ thống là tìm cấu trúc ( hàm truyền đạt ) của một hệ thống khi đã biết các tín hiệu vào và ra. Trong những hệ thống liên tục, chúng ta có thể giải quyết các vấn đề trên dựa trên cơ sở các phương trình vi phân giữa các biến vào ra ( coi thời gian là một biến độc lập ). Tuy nhiên, việc giải các phương trình vi phân bậc cao này không hề đơn giản, nhất là với bậc càng cao [1].
![]() |
Phương trình vi phân (1) |
Một giải pháp đơn giản hơn rất nhiều đó là chuyển đổi tín hiệu sang miền tần số, và tần số được coi như một biến độc lập. Khi đó phương trình vi phân theo biến thời gian t có thể được chuyển thành phương trình đại số theo tần số w. Nghiệm của phương trình đại số này là một hàm theo biến tần số, sau khi thực hiện biến đổi Fourier ngược sẽ nhận được một hàm thời gian tương ứng [1].
![]() |
Phương trình đại số trên miền tần số (2) |
Trong thực tế, các tín hiệu tiếng nói mà ta cần xử lý trong các bài toán liên quan đến học máy đều là tín hiệu số rời rạc đã được lấy mẫu. Do đó tiếp theo đây ta sẽ xem xét việc chuyển đổi sang miền tần số của một tín hiệu rời rạc.
Xét một tín hiệu vào x[n] là tín hiệu rời rạc vô hạn, biểu diễn Fourier X(w) của x[n] được tính dựa theo công thức thứ nhất trong Hình 3, và công thức thứ hai trong Hình 3 chính là công thức của biến đổi Fourier ngược.
![]() |
Hình 3: Biến đổi Fourier của tín hiệu rời rạc |
Mặc dù x[n] là tín nhiệu rời rạc nhưng X(w) là liên tục và tuần hoàn trên miền phổ. Nếu ta tính biển đổi Fourier không phải của tín hiệu x[n] mà là của tín hiệu đầu ra y[n] khi cho x[n] đi qua một hệ thống có đáp ứng h[n] hoặc cửa sổ w[n], khi đó phép nhân chập sẽ được chuyển thành phép nhân thường và việc tính toán trên miền phổ có thể trở nên đơn giản hơn (Xem Hình 4 và Hình 5).
![]() |
Hình 4: Nhân chập với đáp ứng của hệ thống |
Phép biến đổi Fourier cho phép chúng ta phân tích và tìm ra cấu trúc của các hệ thống phức tạp một cách đơn giản, tuy nhiên tín hiệu đầu vào không phải lúc nào cũng là vô hạn, trong các bài toán xử lý tín hiệu áp dụng trong học máy, tín hiệu mà ta cần xử lý thường là những tín hiệu rời rạc và hữu hạn. Do đó phần tiếp theo đây ta sẽ xem xét việc xử lý các tín hiệu rời rạc hữu hạn.
Discrete Fourier Transform
Thông thường trong thực tế các tín hiệu cần xử lý thường là những đoạn tín hiệu hữu hạn, và có thể áp dụng biến đổi Fourier cho một tín hiệu rời rạc hữu hạn (DFT) với giả thiết x[n] = 0 với 0<=n<N. Để làm điều này ta xếp chồng các đoạn tín hiệu có độ dài M>=N với x[n] = 0 trong khoảng N<=n<M. Khi đó hiện tượng trùm tín hiệu sẽ không xảy ra và ta có được một tín hiệu tuần hoàn xp[n] với chu kỳ M, và tất nhiên là có thể biến đổi Fourier rời rạc trên tín hiệu có chu kỳ này cũng như tìm lại được tín hiệu gốc x[n] bằng cách lấy xp[n] trong khoảng từ 0 đến N và coi x[n] = 0 nếu n nằm ngoài khoảng trên. Biểu thức biến đổi DFT và DFT ngược được biểu diễn trên Hình 6.
![]() |
Hình 6: Biến đổi DFT |
Phân tích Cepstral
Theo mô hình Fant, tín hiệu tiếng nói đầu ra là kết quả của việc nhân chập tín hiệu kích thích đầu vào với đáp ứng xung t(n) (T(z) trong miền thời gian) của hệ thống phát âm. Nếu chúng ta quan tâm đến việc mô hình hóa các tham số đặc trưng của tín hiệu tiếng nói thì cần phải xem xét giải tích chập của đáp ứng T(z), và phân tích Cepstral là một cách phổ biến để giải phép tích chập như vậy.
Phân tích Cepstral của một phép nhân chập dựa trên quan sát sau:
Nếu giá trị của Logarith(X(z)) là duy nhất và X̂(z) là biến đổi Z (khi z=e^jw thì đây trở thành biến đổi Fourier). Khi đó phép nhân chập trong miền Cepstral sẽ trở thành:
Phép nhân chập hai tín hiệu trong miền thời gian nay đã trở thành phép cộng trong miền cepstral. Chuyển từ biến đổi Z thành biến đổi Fourier với z = e^jw :
Biến đổi Fourier ngược ta sẽ được :
Có thể dễ dàng thấy rằng đầu ra biến đổi cepstrum c[n] là phần chẵn của x̂(n). Nếu x̂(n) là thực và nhân quả thì x̂(n) có thể được tính ngược từ c[n], đây cũng chính là điều kiện pha tối thiểu.
Bây giờ ta thay biến đổi Fourier bằng biến đổi Fourier hữu hạn (DFT), ta được :
Ở mô hình Fant thống phát âm của con người có thể được mô hình hóa bằng đáp ứng xung t[n]=g[n]*v[n]*r[n], và với biến đổi sang miền Cepstral ta có thể dễ dàng giải tích chập này thành các phép cộng, từ đó có thể áp dụng vào việc tính Pitch, Formant và các đặc trưng khác của tiếng nói. Phần này tham khảo chủ yếu tại [2].
Tài liệu tham khảo
1. Phạm, T.N.Y.: Xử lỳ tín hiệu: Tín hiệu - hệ thống tuyến tính lọc số và DSP. Khoa học và kỹ thuật (2010)
2. Glass, J., Zue, V.: Automatic Speech Recognition, https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-345-automatic-speech-recognition-spring-2003/
Nhận xét
Đăng nhận xét