CHƯƠNG 1: TỔNG QUAN VỀ TIẾNG NÓI
Lịch sử phát triển
1.5 Một số khái niệm ngữ âm
Âm và cơ chế phát âm
1.5 Một số khái niệm ngữ âm
Năm 1797, Christian Kratzenstein tại trường đại học St Petersburg đã chế tạo một mô hình vòm họng người có khả năng phát ra 5 nguyên âm (a, e, i, o, u) Sau đó, Wolfgang von Kempelen ở Vienna, Áo đã phát triển mô hình này thành Máy tạo tiếng nói dựa trên cơ chế âm học, bổ sung thêm các mô hình của môi và lưỡi, cho phép phát ra cả nguyên âm và phụ âm.
Vào những năm 1930, Bell Labs đã phát triển hệ thống VOCODER, một công nghệ tổng hợp và phân tích giọng nói dựa trên mô hình hóa cộng hưởng của ống thanh bằng linh kiện điện tử Sau đó, Honer Dodley đã nâng cấp hệ thống này thành VODER và giới thiệu tại hội chợ New York World's Fair.
Hệ thống tổng hợp tiếng nói đầu tiên được phát triển vào những năm 50 và hệ thống text-to-speech đầu tiên hoàn thành vào năm 1968 Kể từ đó, công nghệ tổng hợp tiếng nói đã có nhiều cải tiến đáng kể, nhờ vào sự gia tăng khả năng tính toán của máy tính và việc phát triển các nghiên cứu cùng cơ sở dữ liệu âm thanh phong phú, tạo ra kho âm thanh lớn phục vụ cho phân tích tiếng nói.
Tổng hợp tiếng nói là một lĩnh vực khoa học liên ngành, liên quan đến ngôn ngữ học, tâm lý học, toán học, xử lý tín hiệu số và khoa học máy tính Hiện nay, nhiều nhà khoa học trên thế giới đã nghiên cứu và phát triển các hệ thống tổng hợp âm thanh, tiến gần đến chất lượng tiếng nói tự nhiên của con người Trong một số ứng dụng cụ thể, âm thanh tổng hợp đã đạt đến độ tự nhiên tương đương với tiếng nói của con người.
Hiện nay, nhiều cơ quan, viện nghiên cứu và trường đại học tại Việt Nam đã tiến hành nghiên cứu tổng hợp tiếng Việt, mang lại những kết quả khả quan Việc này không chỉ đáp ứng nhu cầu của xã hội mà còn giúp chúng ta theo kịp xu thế toàn cầu, vì đặc thù ngôn ngữ Việt Nam không cho phép sử dụng phần mềm nước ngoài để đọc văn bản tiếng Việt Nghiên cứu tổng hợp tiếng Việt còn giúp nâng cao hiểu biết về ngôn ngữ và văn hoá Việt Nam, từ đó góp phần gìn giữ sự trong sáng của tiếng Việt và bảo tồn bản sắc văn hoá dân tộc.
1.2 Âm và cơ chế phát âm Âm là sóng áp lực theo chiều dọc đƣợc hình thành do việc nén và giãn các phần tử không khí theo hướng song song với nguồn năng lượng phát
Năng lượng sóng gây ra sự nén và giãn của các phân tử khí, được mô tả bằng hình sin với hai tham số quan trọng là biên độ và bước sóng Tần số, đo bằng đơn vị Hertz (Hz), cũng là một yếu tố quan trọng trong việc xác định các dạng sóng.
Hình 1.1 chưa thể hiện sự biến đổi áp suất cục bộ theo thời gian, vì âm thanh không lan truyền theo chiều ngang; các phân tử không khí chỉ dao động tại chỗ dọc theo đường mức năng lượng Tốc độ âm thanh khoảng 331.5 + 0.6Tcm/s, trong đó Tc là nhiệt độ môi trường tính bằng độ Celsius.
Cường độ âm là năng lượng mà sóng âm truyền qua một đơn vị diện tích trong một khoảng thời gian nhất định Đối với con người, giá trị tuyệt đối của cường độ âm P không quan trọng bằng giá trị tỷ đối của P so với một giá trị tham chiếu P0 Mức cường độ âm được định nghĩa dựa trên tỷ lệ này.
Mức cường độ âm (Sound Pressure Level) là giá trị tuyệt đối của cường độ âm theo dB và đƣợc đo bằng:
Cường độ âm thanh (SPL) được tính bằng công thức SPL(dB) = 20log10(P/P0) Ngưỡng nghe, tương ứng với SPL bằng 0 dB, là mức độ mà tai người có thể phân biệt âm thanh, thường ở tần số 1kHz Khi nói chuyện ở khoảng cách 1 mét, cường độ âm thanh đạt khoảng 60 dB SPL, trong khi máy khoan bê tông có thể phát ra âm thanh lên đến 120 dB SPL Cường độ âm thanh được đo bằng Watts/m², và ngưỡng nghe của con người là 10^-12 W/m² Khoảng nghe của con người dao động từ 0 dB (âm thanh nhỏ nhất) đến 120 dB (ngưỡng đau), với miền giữa được gọi là miền nghe được.
Tín hiệu tiếng nói chịu ảnh hưởng bởi nhiều yếu tố và điều kiện khí quyển xung quanh Những yếu tố này quyết định mức độ ngữ nghĩa, giúp não bộ hiểu rõ hơn về ý nghĩa ẩn chứa trong tín hiệu tiếng nói.
Tín hiệu tiếng nói có độ dư thừa lớn, điều này rất quan trọng để giúp truyền đạt thông tin trong môi trường ồn ào Độ dư thừa này cho phép não bộ dễ dàng hiểu và tiếp nhận câu nói.
Một số khái niệm ngữ âm
Vào năm 1797, Christian Kratzenstein từ trường đại học St Petersburg đã chế tạo một mô hình vòm họng người có khả năng phát ra 5 nguyên âm cơ bản (a, e, i, o, u) Sau đó, Wolfgang von Kempelen ở Vienna, Áo đã phát triển mô hình này thành Máy tạo tiếng nói dựa trên cơ chế âm học, bổ sung thêm các mô hình môi và lưỡi, cho phép phát ra cả nguyên âm và phụ âm.
Vào những năm 1930, Bell Labs đã phát triển hệ thống VOCODER, một công nghệ tổng hợp và phân tích tiếng nói dựa trên mô hình hóa cộng hưởng của ống thanh bằng linh kiện điện tử Honer Dodley đã nâng cấp hệ thống này thành VODER, và sản phẩm đã được trưng bày tại hội chợ New York World's Fair.
Hệ thống tổng hợp tiếng nói đầu tiên được phát triển vào những năm 50 và hệ thống text-to-speech đầu tiên hoàn thành vào năm 1968 Kể từ đó, công nghệ tổng hợp tiếng nói đã có nhiều cải tiến đáng kể nhờ vào sự gia tăng khả năng tính toán của máy tính và sự phát triển của các nghiên cứu cùng cơ sở dữ liệu âm thanh phong phú, tạo ra kho âm thanh lớn phục vụ cho việc phân tích tiếng nói.
Tổng hợp tiếng nói là một lĩnh vực nghiên cứu đa ngành, liên quan đến ngôn ngữ học, tâm lý học, toán học, xử lý tín hiệu số và khoa học máy tính Hiện nay, các nhà khoa học trên toàn thế giới đã phát triển và ứng dụng nhiều hệ thống tổng hợp âm thanh, với chất lượng ngày càng gần gũi với tiếng nói tự nhiên của con người Trong một số ứng dụng cụ thể, âm thanh tổng hợp thậm chí đạt được độ tự nhiên tương đương với giọng nói con người.
Hiện nay, nhiều cơ quan, viện nghiên cứu và trường đại học tại Việt Nam đã tiến hành nghiên cứu tổng hợp tiếng Việt, mang lại những kết quả khả quan Nhu cầu này là thiết yếu để đáp ứng xu thế toàn cầu, vì đặc thù ngôn ngữ Việt Nam không cho phép sử dụng các phần mềm nước ngoài trong việc đọc văn bản tiếng Việt Hơn nữa, nghiên cứu tổng hợp tiếng Việt không chỉ giúp nâng cao hiểu biết về ngôn ngữ và văn hóa Việt Nam mà còn góp phần gìn giữ sự trong sáng của tiếng Việt và bản sắc văn hóa dân tộc.
1.2 Âm và cơ chế phát âm Âm là sóng áp lực theo chiều dọc đƣợc hình thành do việc nén và giãn các phần tử không khí theo hướng song song với nguồn năng lượng phát
Năng lượng sóng được mô tả bằng hình sin, với hai tham số quan trọng là biên độ và bước sóng Tần số, đo bằng đơn vị Hertz (Hz), cũng là một yếu tố quan trọng trong việc xác định các dạng sóng.
Hình 1.1 chưa thể hiện sự biến đổi áp suất cục bộ theo thời gian, vì âm thanh không lan truyền theo chiều ngang; các phân tử không khí chỉ dao động tại chỗ dọc theo đường mức năng lượng Tốc độ âm thanh khoảng 331.5 + 0.6Tcm/s, trong đó Tc là nhiệt độ môi trường tính bằng độ Celsius.
Cường độ âm là năng lượng mà sóng âm truyền qua một đơn vị diện tích trong một khoảng thời gian nhất định, vuông góc với phương truyền âm Đối với con người, giá trị tuyệt đối của cường độ âm P không quan trọng bằng giá trị tỷ đối so với một giá trị tham chiếu P0 Mức cường độ âm được định nghĩa dựa trên tỷ lệ này.
Mức cường độ âm (Sound Pressure Level) là giá trị tuyệt đối của cường độ âm theo dB và đƣợc đo bằng:
SPL(dB) được tính bằng công thức 20log10(P/P0) Ngưỡng nghe, tương ứng với SPL bằng 0 dB, là mức cường độ âm thanh mà tai người có thể phân biệt, thường ở tần số 1kHz Khi nói chuyện cách khoảng 1 mét, cường độ âm thanh đạt khoảng 60 dB SPL, trong khi âm thanh từ máy khoan bê tông có thể lên tới 120 dB SPL Cường độ âm thanh được đo bằng đơn vị Watts/m², với ngưỡng nghe (threshold of hearing - TOH) là 10^-12 W/m² Con người có khả năng nghe âm thanh từ 0 dB đến 120 dB, trong đó 120 dB được gọi là ngưỡng đau Khoảng từ ngưỡng nghe đến ngưỡng đau được gọi là miền nghe được.
Tín hiệu tiếng nói chịu ảnh hưởng bởi nhiều yếu tố và điều kiện khí quyển xung quanh, những yếu tố này quyết định mức độ ngữ nghĩa, giúp não bộ hiểu được nội dung chứa đựng trong tín hiệu tiếng nói.
Một đặc trưng quan trọng của tín hiệu tiếng nói là độ dư thừa lớn, điều này rất cần thiết để tiếng nói có thể truyền tải hiệu quả trong môi trường có nhiều tác động Độ dư thừa này giúp não bộ dễ dàng hiểu và tiếp nhận thông điệp từ câu nói.
1.3 Các đặc trƣng sinh học của âm:
Tiếng nói được hình thành từ các sóng áp lực không khí phát ra từ miệng hoặc mũi của người nói Trong hầu hết các ngôn ngữ trên thế giới, âm vị được phân chia thành hai lớp.
Phụ âm được hình thành khi luồng không khí từ phổi bị cản trở tại một điểm nhất định, ví dụ như sự khép chặt của hai môi khi phát âm các âm như [b] và [m], hay sự tiếp xúc giữa đầu lưỡi và lợi khi phát âm các âm như [t] và [d] Sự cản trở này tạo ra tiếng nổ và tiếng xát, dẫn đến âm thanh khó nghe.
Nguyên âm, trái ngược với phụ âm, được hình thành khi luồng không khí thoát ra một cách tự do, tạo ra âm hưởng êm ái.
CHƯƠNG 2: XỬ LÝ TÍN HIỆU SỐ
Số hoá tín hiệu
Một trong những phương pháp phổ biến để biểu diễn tiếng nói là dưới dạng sóng Xử lý tín hiệu số đóng vai trò quan trọng trong ngôn ngữ nói, bao gồm tín hiệu số, biến đổi miền tần số, và các bộ lọc số Chương này sẽ khám phá các công thức toán học cho phân tích tần số, phục vụ cho các chương tiếp theo Để xử lý tín hiệu tiếng nói, tín hiệu được biểu diễn như một hàm liên tục theo thời gian Khi lấy mẫu tín hiệu x với chu kỳ T, ta có tín hiệu rời rạc x[n] = x a (nT), gọi là tín hiệu số Tần số lấy mẫu F s = 1/T, ví dụ với F s = 8kHz tương ứng với chu kỳ 125 micro giây Trong một số trường hợp, có thể khôi phục chính xác tín hiệu tương tự x a (t) từ tín hiệu số x[n].
Để biểu diễn tín hiệu số, người ta sử dụng công thức sóng hình sin: x0[n] = A0 cos(0n + 0), trong đó A0 là biên độ, 0 là tần số góc, và 0 là pha Tần số góc 0 được tính bằng radian và liên quan đến tần số chuẩn f0 qua công thức 0 = 2f0 (với 0 ≤ f0 ≤ 1) Tín hiệu này có tính tuần hoàn với chu kỳ T0 = 1/f0.
Hình 2.2 Tín hiệu hình sin với chu kỳ lấy mẫu là 25 mẫu.
Các hàm cửa sổ
Một trong những cách phổ biến để biểu diễn tiếng nói là dưới dạng sóng Xử lý tín hiệu số đóng vai trò quan trọng trong ngôn ngữ nói, bao gồm tín hiệu số, biến đổi miền tần số và các bộ lọc số Chương này sẽ giới thiệu một số công thức toán học cho phân tích tần số, phục vụ cho các ứng dụng sau này Để xử lý tín hiệu tiếng nói, chúng được biểu diễn như một hàm liên tục theo thời gian Khi lấy mẫu tín hiệu x với chu kỳ T, ta có tín hiệu rời rạc x[n] = x a (nT), gọi là tín hiệu số Tần số lấy mẫu F s = 1/T là giá trị nghịch đảo của chu kỳ T; ví dụ, với F s = 8kHz, chu kỳ lấy mẫu là 125 micro giây Trong một số trường hợp, tín hiệu tương tự x a (t) có thể được khôi phục chính xác từ tín hiệu số x[n].
Để biểu diễn tín hiệu số, người ta sử dụng công thức sóng hình sin: x 0 [n] = A 0 cos(0n + 0), trong đó A 0 là biên độ, 0 là tần số góc, và 0 là pha Tần số góc 0 được tính theo tần số chuẩn f 0 với công thức 0 = 2f 0 (0 f 0 1) Tín hiệu này có tính chất tuần hoàn với chu kỳ T 0 = 1/f 0.
Hình 2.2 Tín hiệu hình sin với chu kỳ lấy mẫu là 25 mẫu
2.2 Xác định tần số lấy mẫu tín hiệu tiếng nói Định lý Shannon: Một tín hiệu tương tự x(t) có dải phổ hữu hạn với giới hạn trên là Fmax(Hz) (tức là phổ bằng 0 khi f nằm ngoài dải [-Fmax,Fmax]) Ta sẽ chỉ có thể khôi phục lại xa(t) một cách chính xác từ các mẫu x(n.Ts) nếu nhƣ:
Fs > 2Fmax hay Ts < 1/2Fmax
Tín hiệu tiếng nói có thể trải phổ đến 12kHz, theo định lý Shannon, tần số lấy mẫu tối thiểu cần thiết là 24kHz Tuy nhiên, để tiết kiệm chi phí xử lý tín hiệu số, người ta sử dụng bộ lọc để giảm giới hạn phổ tín hiệu mà không làm giảm chất lượng đáng kể của âm thanh và vẫn giữ được ngữ nghĩa thông tin Tín hiệu điện thoại có phổ tín hiệu khoảng 3400Hz nhưng vẫn đảm bảo chất lượng âm thanh Trong các phương pháp xử lý tín hiệu số, tần số lấy mẫu được chọn là f e = 8000Hz, và có thể thay đổi từ 6000Hz đến 8000Hz.
16000Hz Đối với các tín hiệu âm thanh như âm nhạc, người ta thường chọn tần số lấy mẫu là 48kHz để biểu diễn chính xác tín hiệu
2.3 Biểu diễn tín hiệu số
Trong bài viết này, chúng tôi sẽ trình bày một số phương pháp biểu diễn tiếng nói, bao gồm các tín hiệu quan trọng cho việc mã hóa, tổng hợp và nhận diện tiếng nói Chúng tôi sẽ tập trung vào việc phân tách tín hiệu tiếng nói thông qua một bộ lọc biến đổi tuyến tính theo thời gian Bộ lọc này được phát triển từ các mô hình tạo tiếng nói dựa trên lý thuyết ngữ âm học, giúp tạo ra nguồn không khí thông qua dây thanh âm, trong khi bộ lọc biểu diễn âm thanh như các cơ quan phát âm Mô hình bộ lọc nguồn được minh họa trong Hình 2.3, với e[n] là nguồn hay nguồn kích, h[n] là bộ lọc và x[n] là tín hiệu tiếng nói mong muốn.
Để thử nghiệm bộ lọc nguồn, chúng ta sử dụng các phương pháp dựa trên mô hình tạo tiếng nói, như mã dự báo tuyến tính hoặc phân tích phổ Khi thử nghiệm bộ lọc, nguồn âm có thể được thu bằng cách cho tín hiệu tiếng nói đi qua một bộ lọc đảo Việc tách nguồn và bộ lọc là một trong những thách thức lớn nhất trong xử lý tiếng nói.
Việc phân loại âm vị, dù bằng tay hay máy, phụ thuộc vào các đặc trưng của bộ lọc, trong đó người ta thường bỏ qua nguồn và tập trung vào đánh giá bộ lọc Nhiều kỹ thuật tổng hợp tiếng nói hiện nay áp dụng mô hình lọc nguồn, cho phép thay đổi trường độ và bộ lọc một cách linh hoạt Ngoài ra, nhiều bộ mã hóa tiếng nói cũng sử dụng mô hình này do mang lại tỷ lệ bit thấp.
2.4 Biến đổi Fourier rời rạc (Discrete Fourier Transform - DFT)
Biến đổi Fourier rời rạc của một tín hiệu tuần hoàn x N [n] với chu kỳ N đƣợc định nghĩa nhƣ sau [2]: h[n] e[n] x[n]
Trong hình 2.4, chúng ta phân tích tín hiệu hình vuông tuần hoàn với chu kỳ N = 100, được tạo thành từ tổng hợp của 19 sóng điều hòa hình sin Tần số lấy mẫu được xác định là k = 2k/100, và trong quá trình này, chỉ sử dụng 19 hệ số X N [k] đầu tiên cho biểu thức (2.2).
Hình 2.4 Tín hiệu hình vuông với chu kỳ N0
Trong lĩnh vực xử lý số tín hiệu, biến đổi Fourier (DFT) đóng vai trò quan trọng nhờ vào các thuật toán tính toán hiệu quả Để tính DFT cho một dãy N điểm có chiều dài hữu hạn, chúng ta có thể lập trình theo định nghĩa của DFT Tuy nhiên, phương pháp tính trực tiếp này tiêu tốn nhiều thời gian và bộ nhớ máy tính.
Thuật toán biến đổi Fourier nhanh (FFT) được phát triển nhằm giảm số lượng phép tính và tối ưu hóa bộ nhớ so với phương pháp tính trực tiếp, yêu cầu Nlog2 N phép tính Kể từ khi Cooley phát hiện ra thuật toán này vào năm 1965, FFT đã khẳng định vai trò quan trọng của nó và hiện được ứng dụng rộng rãi trong xử lý tiếng nói.
Có nhiều thuật toán FFT được đề xuất, như thuật toán FFT cơ số 2 (Radix-2 FFT) và thuật toán FFT phân tần số Tuy nhiên, trong luận văn này, tôi sẽ không đề cập đến những thuật toán này vì chúng đã khá phổ biến trong tài liệu về xử lý tín hiệu số Để tìm hiểu thêm, bạn có thể tham khảo các tài liệu được liệt kê trong phần tham khảo của luận văn.
Hàm cửa sổ là tín hiệu tập trung trong khoảng thời gian hữu hạn, thường được sử dụng trong hệ thống xử lý tiếng nói Các hàm Tứ giác, Hanning và Hamming phổ biến hơn so với các hàm Tam giác, Kaiser và Barllet Những hàm này chủ yếu tập trung vào các vùng tần số thấp và được ứng dụng trong các bộ lọc số.
Cửa sổ chữ nhật đƣợc định nghĩa đơn giản nhƣ sau: h x [n] = u[n] – u[n-N] (2.4)
Cửa sổ Hamming tổng quát hóa đƣợc định nghĩa nhƣ sau:
Và có thể biểu diễn biểu biểu thức này qua 2.4 nhƣ sau: h h [n] = (1-)h [n] - h [n]cos(2n/N)
Biến đổi của nó sẽ là (xem [2]):
H h (e j ) = (1-)H [e j ] – (/2)H (e j(-2/N) ) – (/2)H (e j(+2/N) ) Khi = 0.5 người ta gọi là cửa sổ Hanning, còn khi = 0.46 gọi là cửa sổ Hamming
CHƯƠNG 3: CÁC HỆ THỐNG TỔNG HỢP TIẾNG NÓI
Các phương pháp tổng hợp tiếng nói
3.1 Tổng quan về tổng hợp tiếng nói
Tổng hợp tiếng nói là quá trình tạo âm thanh có thể hiểu được từ các ký tự, bao gồm hai loại chính: CTS (Concept to Speech) chuyển đổi khái niệm thành tiếng nói và TTS (Text To Speech) chuyển đổi văn bản thành tiếng nói Hiện nay, hệ thống tổng hợp từ văn bản đang được nghiên cứu và ứng dụng rộng rãi trong các lĩnh vực kinh tế xã hội, với mục tiêu xây dựng hệ thống có chất lượng cao và khả năng áp dụng thực tế tốt Trên thế giới hiện có bốn phương pháp tiếp cận trong tổng hợp tiếng nói.
Tổng hợp dạng sóng có miền giới hạn cho phép tạo ra âm thanh chất lượng cao từ một lượng dữ liệu nhỏ, thường được ứng dụng trong các hệ thống trả lời tự động Phương pháp này không hỗ trợ tổng hợp văn bản tùy ý, nhưng các hệ thống CTS có khả năng thích nghi tốt với những ứng dụng này.
Tổng hợp ghép nối không biến đổi dạng sóng cho phép tạo ra tiếng nói từ bất kỳ văn bản nào Phương pháp này có thể sản xuất nhiều câu với chất lượng tốt, nhưng cũng có khả năng tạo ra những câu có chất lượng trung bình.
Hệ thống ghép nối có biến đổi dạng sóng mang lại sự linh hoạt trong việc chọn lựa các phân đoạn tiếng nói, giúp tạo ra các câu có ngữ điệu phù hợp hơn Sự thay đổi dạng sóng này không chỉ giảm thiểu các câu có chất lượng trung bình do thay đổi ngữ điệu, mà còn làm tăng tính tự nhiên của giọng nói Tuy nhiên, việc thay đổi ngữ điệu cũng có thể ảnh hưởng tiêu cực đến chất lượng tổng thể của tiếng nói.
Các hệ thống tổng hợp dựa trên luật tạo ra âm thanh đồng bộ và đều đặn, thể hiện tính chất “máy móc” rõ rệt Để đánh giá chất lượng của hệ thống TTS, cần xem xét một số yếu tố quan trọng.
Độ trễ là yếu tố quan trọng trong các hệ thống tương tác, với thời gian cho các bộ tổng hợp bắt đầu phát âm cần phải nhỏ hơn 200 ms để đảm bảo trải nghiệm người dùng mượt mà và hiệu quả.
Tài nguyên bộ nhớ là yếu tố quan trọng trong các hệ thống tổng hợp theo luật, thường yêu cầu bộ nhớ tối thiểu khoảng 200KB Trong khi đó, các hệ thống ghép nối có thể cần đến 100MB để lưu trữ các đoạn âm thanh đã được thu sẵn.
Tốc độ tiếng nói là yếu tố quan trọng trong nhiều ứng dụng, đặc biệt là khả năng điều chỉnh tốc độ nói nhanh Tính năng này rất hữu ích trong các thiết bị đọc lướt và công cụ hỗ trợ cho người mù, vì họ có khả năng nghe rất tốt Tuy nhiên, các hệ thống ghép nối không biến đổi dạng sóng thường không cho phép thay đổi tốc độ câu, trừ khi đã được ghi sẵn với nhiều tốc độ khác nhau.
Điều khiển cao độ là yếu tố quan trọng trong các hệ thống tiếng nói tổng hợp, đặc biệt khi tạo ra giọng hát Các hệ thống ghép nối không biến đổi dạng sóng thường không thể thay đổi cao độ trừ khi đã được ghi sẵn nhiều câu với các cao độ khác nhau.
Đặc trưng giọng nói là yếu tố quan trọng trong các hệ thống ngôn ngữ nói, yêu cầu sự đa dạng về giọng nói Ví dụ, giọng nói của robot không thể tự nhiên như giọng người Giọng nam và giọng nữ có sự khác biệt rõ rệt, cũng như giọng của người già và người trẻ Trong những trường hợp này, các phương pháp tổng hợp dựa theo luật thường được áp dụng để tạo ra giọng nói phù hợp.
Kiến trúc cơ bản của một hệ TTS:
Hình 3.1 Kiến trúc điển hình của một hệ tổng hợp tiếng nói
3.2 Các phương pháp tổng hợp tiếng nói
Hiện nay, các phương pháp tổng hợp tiếng nói được chia thành ba loại chính: tổng hợp cấu âm, tổng hợp formant theo quy luật và tổng hợp xích chuỗi Mặc dù có nhiều tranh cãi giữa các nhà khoa học về phương pháp tối ưu cho tổng hợp tiếng nói, ứng dụng thực tế vẫn còn hạn chế do chất lượng xử lý tiếng nói chưa đạt yêu cầu Tùy thuộc vào từng miền ứng dụng, các phương pháp khác nhau được áp dụng Tại Việt Nam, nghiên cứu về xử lý tiếng nói còn rất ít, với một số kết quả khả quan từ các cơ quan như Viện Công Nghệ Thông Tin, Tổ chức MICA và Trường Đại học Đà Nẵng Điều này tạo ra khó khăn cho sinh viên và học sinh trong việc tìm hiểu về tổng hợp tiếng nói.
Văn bản hậu xử lý
Phát hiện cấu trúc tài liệu Chuẩn hoá văn bản Phân tích ngữ nghĩa
Chuyển đổi từ vị sang âm vị
Biến đổi cao độ và trường độ
Biến đổi tiếng nói Tiếng nói thô
Các đặc điểm riêng biệt của ngôn ngữ tiếng Việt sẽ đóng vai trò quan trọng trong việc nghiên cứu và phát triển các ứng dụng thực tiễn cho hệ thống TTS (Text-to-Speech) tiếng Việt.
3.2.1 Tổng hợp theo cấu âm
Tổng hợp âm thanh theo mô hình mô phỏng sinh học là một phương pháp đặc trưng hóa tiếng nói thông qua tín hiệu âm thanh và vị trí các cơ quan cấu âm Nó xem xét sự tham gia của khoang mũi, áp suất không khí trong phổi và lực căng của dây thanh, đồng thời phân tích hoạt động tương tác phi tuyến giữa nguồn kích và ống thanh Để xây dựng đặc trưng âm thanh của cơ quan phát âm, cần tham số hóa hình khối ống thanh và ống mũi, lựa chọn mô hình mô tả sự lan truyền sóng và nguồn âm Mặc dù phương pháp này hiện chỉ mới tồn tại trên lý thuyết, ngành khoa học phỏng sinh học vẫn chưa có đủ thông tin để thực hiện mô phỏng theo cấu âm.
3.2.1.1 Lan truyền sóng trong ống thanh:
Trong các phương pháp tính toán đặc trưng truyền sóng trong ống thanh, phương pháp ma trận chuỗi (hay ma trận ABCD) được sử dụng phổ biến nhất Ma trận chuỗi mô tả ống thanh trong miền tần số, cho phép phân tích hiệu quả các đặc tính truyền sóng Đối với bất kỳ phần nào của ống thanh hoặc ống mũi, chúng ta có thể thiết lập hệ phương trình truyền sóng tương ứng.
Ma trận chuỗi K có khả năng biểu diễn mọi phần của ống thanh với độ dài và mặt cắt ngang khác nhau Việc tính toán các phần tử của ma trận K trở nên đơn giản khi ống có mặt cắt không đổi.
3.2.1.2 Nguyên lý tổng hợp cấu âm:
Lựa chọn phương pháp tổng hợp Tiếng Việt
3.1 Tổng quan về tổng hợp tiếng nói
Tổng hợp tiếng nói là quá trình tạo ra âm thanh có thể hiểu được từ các ký tự, bao gồm hai loại chính: CTS (Concept to Speech) chuyển đổi khái niệm thành tiếng nói và TTS (Text To Speech) chuyển đổi văn bản thành tiếng nói Hiện nay, hệ thống tổng hợp từ văn bản được nghiên cứu và ứng dụng rộng rãi trong các lĩnh vực kinh tế xã hội, với mục tiêu xây dựng hệ thống có chất lượng cao và khả năng áp dụng thực tiễn tốt Trên thế giới, có bốn phương pháp tiếp cận chính trong tổng hợp tiếng nói.
Phương pháp tổng hợp dạng sóng có miền giới hạn tạo ra âm thanh chất lượng cao từ lượng dữ liệu nhỏ, thường được ứng dụng trong các hệ thống trả lời tự động Tuy nhiên, các hệ thống này không thể tổng hợp văn bản tùy ý và thường thích nghi với nhiều ứng dụng khác nhau.
Tổng hợp ghép nối không biến đổi dạng sóng cho phép tạo ra tiếng nói từ bất kỳ văn bản nào Phương pháp này có thể sản xuất nhiều câu với chất lượng tốt, nhưng cũng có thể tạo ra những câu có chất lượng trung bình.
Ghép nối có biến đổi dạng sóng là một hệ thống linh hoạt, cho phép lựa chọn các phân đoạn tiếng nói để tạo ra ngữ điệu phù hợp hơn Sự thay đổi dạng sóng giúp giảm thiểu các câu có chất lượng trung bình do sự biến đổi ngữ điệu Tuy nhiên, sự thay đổi này cũng có thể ảnh hưởng đến tính tự nhiên của giọng nói, dẫn đến giảm chất lượng tiếng nói chung.
Các hệ thống tổng hợp dựa theo luật tạo ra âm thanh đồng bộ và đều, thường mang tính chất "máy" nhất trong các loại hệ thống Để đánh giá chất lượng của một hệ thống TTS, cần xem xét một số yếu tố quan trọng.
Độ trễ trong thời gian bắt đầu phát âm của các bộ tổng hợp là rất quan trọng Đối với các hệ thống tương tác, thời gian này thường cần phải nhỏ hơn 200 ms để đảm bảo trải nghiệm người dùng tốt nhất.
Các hệ thống tổng hợp theo luật thường yêu cầu bộ nhớ tối thiểu khoảng 200KB Tuy nhiên, đối với các hệ thống ghép nối, dung lượng bộ nhớ cần thiết có thể lên tới 100MB để lưu trữ các đoạn âm thanh đã được thu sẵn.
Tốc độ tiếng nói là yếu tố quan trọng trong nhiều ứng dụng, đặc biệt là khả năng điều chỉnh tốc độ nói nhanh Tính năng này rất hữu ích cho các thiết bị đọc lướt và công cụ hỗ trợ người mù, vì họ có khả năng nghe tốt Tuy nhiên, các hệ thống ghép nối không biến đổi dạng sóng không cho phép thay đổi tốc độ câu trừ khi đã ghi sẵn nhiều câu với các tốc độ khác nhau.
Điều khiển cao độ là yếu tố quan trọng trong các hệ thống tiếng nói tổng hợp, đặc biệt khi tạo ra giọng hát Các hệ thống ghép nối không biến đổi dạng sóng thường không thể thay đổi cao độ trừ khi đã được ghi sẵn nhiều câu với các cao độ khác nhau.
Giọng nói là một đặc trưng quan trọng trong các hệ thống ngôn ngữ nói, yêu cầu sự đa dạng để phù hợp với các đối tượng khác nhau Ví dụ, giọng nói của robot thường không thể tự nhiên như giọng người Sự khác biệt giữa giọng nam và giọng nữ, cũng như giữa người già và người trẻ, là những yếu tố cần xem xét Trong những trường hợp này, các phương pháp tổng hợp dựa trên quy luật thường được áp dụng để tạo ra giọng nói phù hợp.
Kiến trúc cơ bản của một hệ TTS:
Hình 3.1 Kiến trúc điển hình của một hệ tổng hợp tiếng nói
3.2 Các phương pháp tổng hợp tiếng nói
Hiện nay, các phương pháp tổng hợp tiếng nói được chia thành ba loại chính: tổng hợp cấu âm, tổng hợp formant theo quy luật và tổng hợp xích chuỗi Mặc dù các nhà khoa học trên thế giới vẫn chưa thống nhất về phương pháp tốt nhất cho tổng hợp tiếng nói, ứng dụng thực tế của chúng vẫn còn hạn chế do chất lượng xử lý tiếng nói chưa đạt yêu cầu Tùy thuộc vào từng miền ứng dụng, các phương pháp khác nhau được áp dụng Tại Việt Nam, nghiên cứu về xử lý tiếng nói còn rất ít, với một số kết quả khả quan từ các cơ quan như Viện Công Nghệ Thông Tin, Tổ chức MICA, và Trường Đại học Đà Nẵng Điều này làm cho sinh viên và học sinh gặp khó khăn khi tìm hiểu về tổng hợp tiếng nói.
Văn bản hậu xử lý
Phát hiện cấu trúc tài liệu Chuẩn hoá văn bản Phân tích ngữ nghĩa
Chuyển đổi từ vị sang âm vị
Biến đổi cao độ và trường độ
Biến đổi tiếng nói Tiếng nói thô
Các đặc điểm riêng biệt của ngôn ngữ tiếng Việt sẽ đóng vai trò quan trọng trong việc nghiên cứu và phát triển các ứng dụng thực tiễn cho hệ thống TTS (Text-to-Speech) tiếng Việt.
3.2.1 Tổng hợp theo cấu âm
Tổng hợp theo cấu âm sử dụng mô hình mô phỏng sinh học đặc trưng tiếng nói không chỉ bằng tín hiệu âm thanh mà còn qua vị trí của các cơ quan cấu âm, khoang mũi, áp suất không khí trong phổi và lực căng của dây thanh Phương pháp này, còn gọi là tổng hợp theo mô hình hệ thống, nghiên cứu hoạt động tương tác phi tuyến giữa nguồn kích và sự thay đổi theo thời gian của ống thanh Để xây dựng đặc trưng âm thanh của cơ quan phát âm, cần tham số hóa hình khối ống thanh và ống mũi, chọn mô hình mô tả sự lan truyền sóng ống thanh và nguồn âm Hiện tại, phương pháp này vẫn chỉ tồn tại trên lý thuyết, do ngành khoa học phỏng sinh học chưa có đủ thông tin để thực hiện mô phỏng theo cấu âm.
3.2.1.1 Lan truyền sóng trong ống thanh:
Trong các phương pháp tính toán đặc trưng truyền sóng trong ống thanh, ma trận chuỗi (hay ma trận ABCD) là phương pháp phổ biến nhất Ma trận này mô tả ống thanh trong miền tần số, cho phép phân tích hiệu quả các đặc tính truyền sóng Đối với bất kỳ phần nào của ống thanh hoặc ống mũi, ta có thể thiết lập hệ phương trình truyền sóng tương ứng.
Ma trận chuỗi K có khả năng biểu diễn mọi phần của ống thanh với bất kỳ độ dài hay mặt phẳng cắt ngang nào Việc tính toán các phần tử của K trở nên đơn giản khi ống có mặt cắt không đổi.
3.2.1.2 Nguyên lý tổng hợp cấu âm:
CHƯƠNG 4: NGỮ ÂM TIẾNG VIỆT
Thanh điệu trong tiếng Việt
Xây dựng bộ tổng hợp tiếng nói yêu cầu hiểu biết sâu sắc về ngữ âm tiếng Việt, từ đó xác định các đặc trưng ngữ âm và quy luật ngữ điệu Việc này nhằm thiết lập một bộ tham số phù hợp cho quá trình tổng hợp tiếng Việt hiệu quả.
Mỗi phương pháp tổng hợp tiếng nói đều yêu cầu các đặc trưng âm học như phổ, formant, tần số cơ bản, cường độ và độ dài của các âm tiết Việc tạo ra một ngữ đoạn không chỉ đơn thuần là ghép nối các đơn vị âm rời rạc, mà còn cần nghiên cứu về thanh điệu và độ dài của tiếng Việt trong từng ngữ lưu, nhằm đảm bảo tính tự nhiên của tiếng nói khi tổng hợp.
4.1 Tổng quan về ngữ âm tiếng Việt
Tiếng Việt là một ngôn ngữ đơn âm, bao gồm các âm vị như nguyên âm (V) và phụ âm (C) Các âm này có thể kết hợp với nhau theo ba hình thức chính: CV (phụ âm - nguyên âm), CVC (phụ âm - nguyên âm - phụ âm) và VC (nguyên âm - phụ âm).
- Hình thức CV (phụ âm + nguyên âm): ca [ca], ghe [ge], nghe [Ne]
- Hỡnh thức CVC (phụ õm + nguyờn õm + phụ õm): can [can], ghềnh [geứ], nghếch [Nec]
- Hình thức VC (nguyên âm + phụ âm): an [an], anh [à], uyên [uIn]; ung
Ngữ âm tiếng Việt có vẻ phức tạp hơn tiếng Anh và tiếng Pháp do cần ghi nhớ các nguyên âm, âm đôi và âm ba ngay từ đầu Tuy nhiên, hệ thống này trở nên đơn giản và dễ sử dụng hơn theo thời gian Tiếng Việt có quy tắc ngữ âm rõ ràng, cho phép người học suy ra từ mới từ các từ tương tự, tương tự như tiếng Nga Ngược lại, người nói tiếng Anh-Mỹ thường gặp khó khăn với nhiều từ không biết cách phát âm, buộc họ phải tra cứu từ điển Hơn nữa, tiếng Việt duy trì tính ổn định về ngữ âm, với chữ "a" luôn được phát âm là [a] ở mọi vị trí, không biến đổi như trong tiếng Anh.
Tiếng Việt có 23 âm vị phụ âm, tương ứng với 24 cách đọc và được ghi lại bằng 27 chữ viết Những chữ viết này được hình thành từ 19 chữ cái cơ bản.
Tiếng Việt bao gồm 16 âm vị nguyên âm, trong đó có 13 nguyên âm đơn và 3 nguyên âm đôi, cùng với 2 âm vị bán nguyên âm Tổng cộng, 16 âm vị nguyên âm và 2 âm vị bán nguyên âm tạo ra 17 cách đọc khác nhau, được ghi lại bằng 20 chữ viết Những chữ viết này được hình thành từ 12 chữ cái cơ bản.
Các phương pháp tổng hợp tiếng Việt có nhiều hướng nghiên cứu khác nhau về ngữ âm, dẫn đến những cái nhìn đa dạng về các thuộc tính của âm như phổ, formant, tần số cơ bản, cường độ và độ dài âm tiết Phương pháp ghép nối không chỉ đơn thuần là kết hợp các từ riêng lẻ thành một ngữ đoạn, mà còn cần tạo ra sự mượt mà và tự nhiên Hiểu rõ đặc điểm âm tiết tiếng Việt là rất quan trọng trong nghiên cứu các phương pháp tổng hợp tiếng Việt.
4.2 Các đặc điểm của âm tiết tiếng Việt
Tiếng Việt là một ngôn ngữ đơn âm có thanh điệu, trong đó âm tiết được thể hiện rõ ràng và tách biệt Khác với nhiều ngôn ngữ khác, âm tiết tiếng Việt không bị nhược hóa hay mất đi, cho thấy tính độc lập cao Ngoài ra, tiếng Việt không có hiện tượng nuốt âm như các ngôn ngữ châu Âu Cấu trúc âm tiết tiếng Việt cố định và không thay đổi theo ngữ pháp về thời gian, giống hay số, với các loại âm ở vị trí cố định trong thành phần âm tiết.
Âm tiết tiếng Việt có đặc điểm nổi bật là mỗi âm tiết đều mang một thanh điệu nhất định, khác với các ngôn ngữ như tiếng Anh hay tiếng Pháp Hệ thống âm tiết tiếng Việt có tổng cộng 6 thanh điệu, trong đó 5 thanh được ghi bằng các dấu huyền, sắc, hỏi, ngã, nặng, còn một thanh ngang không có dấu Thanh điệu kết hợp với các thành phần âm tiết tạo ra các từ khác nhau như ma, mà, mã, mả, mạ, má Không phải vần nào cũng có đủ sáu thanh; ví dụ, âm tiết đóng chỉ có hai thanh như mắt, mặt Trong khi âm tiết ở các ngôn ngữ châu Âu thường không có nghĩa khi tách rời khỏi từ, thì hầu hết âm tiết tiếng Việt đều mang ý nghĩa riêng, cho thấy khả năng biểu hiện ý nghĩa của âm tiếng Việt.
4.3 Cấu trúc của âm tiết tiếng Việt Âm tiết tiếng Việt ở dạng đầy đủ nhất có 5 phần:
Thanh điệu là thành phần đầu tiên có vai trò phân biệt các âm tiết về cao độ, với mỗi âm tiết được gán một trong sáu thanh điệu khác nhau.
Âm đầu là thành phần thứ hai trong âm tiết, có vai trò quan trọng trong việc phân biệt các âm tiết khác nhau Tất cả các âm đầu đều là phụ âm, và trong tiếng Việt có 22 âm đầu khác nhau Các phụ âm này được phân loại dựa trên nhiều tiêu chí, bao gồm phương thức cấu âm (như tắc, xát, rung), đặc điểm âm học (vang, ồn), và vị trí cấu âm (âm môi, âm đầu lưỡi, âm mặt lưỡi).
Ta có thể chia phụ âm tiếng Việt nhƣ sau:
Mặt lƣỡi Gốc lƣỡi Thanh Bẹt Quặt hầu ồn
Bật hơi t’ (th) không bật hơi vô thanh t (tr) c k hữu thanh b vang m n (nh) (ng) ồn vô thanh f x s x (kh) H hữu thanh v z r (gh) vang l
Âm đệm là thành phần thứ ba có vai trò làm thay đổi âm sắc của âm tiết sau khi mở đầu, cụ thể là giúp âm tiết trở nên trầm hơn Trong một số trường hợp, âm đệm có thể không xuất hiện, được gọi là âm đệm zero.
Âm sắc của âm tiết chủ yếu được xác định bởi thành phần thứ tư, đó là âm chính, luôn là một nguyên âm Âm chính bao gồm 11 nguyên âm đơn: /a/, /ă/, /â/, /e/, /ê/, /o/, /ô/, /ơ/, /u/, /ƣ/, /i/ và ba nguyên âm đôi: /iê/, /ươ/, /ưa/ Đây là yếu tố tạo nên đỉnh âm thanh với biên độ và cường độ lớn nhất trong âm tiết Ví dụ, trong âm tiết "chuối", âm chính là /o/.
Âm cuối là thành phần quan trọng trong âm tiết, có thể là phụ âm (như trong "mầm") hoặc bán nguyên âm (như trong "yêu") Nó bao gồm hai bán nguyên âm /i/, /o/ và các phụ âm /m/, /n/, /ng/, /nh/, /p/, /t/, /c/ Ngoài ra, âm cuối cũng có thể là âm zero, đóng vai trò như âm đệm trong một số trường hợp.
Ba thành phần âm chính, âm đệm và âm cuối tạo nên phần vần trong âm tiết tiếng Việt Chẳng hạn, trong âm tiết "iêt", phần vần bao gồm âm đầu /i/, âm chính /ê/ và âm cuối /t/.
4.4 Thanh điệu trong tiếng Việt
CHƯƠNG 5 : XÂY DỰNG CƠ SỞ DỮ LIỆU ÂM
Gán nhãn tự động
Việc gán nhãn thủ công cho một cơ sở dữ liệu âm lớn tốn rất nhiều thời gian, vì vậy cần thiết phải tự động hóa quá trình này Hiện nay, phương pháp gán nhãn cưỡng bức đang được áp dụng phổ biến để tối ưu hóa công việc này.
Phương pháp tự động thường không đạt được kết quả mong muốn do phụ thuộc vào chất lượng âm thanh và giọng đọc Giải pháp tối ưu là kết hợp giữa gán nhãn tự động và gán nhãn thủ công để cải thiện độ chính xác.
Ta có thể chia ra các bước để thực hiện công việc này như sau:
Bước 1: Phiên âm chính tả là quá trình ghi lại nội dung từ file âm thanh và chuyển đổi nó thành văn bản Thao tác này thường được thực hiện thủ công hoặc thông qua hệ thống nhận dạng tiếng nói.
Bước 2: Tự động phân đoạn và gán nhãn âm tiết theo thời gian, mặc dù chưa hoàn toàn chính xác, thông qua phân tích phổ trên từng khung tín hiệu Đây là giai đoạn quan trọng để nhận diện phiên âm chính tả của từng âm tiết.
Bước 3: Hiệu chỉnh bằng tay kết quả đã đạt được ở bước 2
Bước 4: Tiếp tục quá trình tự động gán nhãn âm vị theo thời gian, nhận dạng phiên âm âm vị học cho từng âm tiết.
Bước 5: Hiệu chỉnh bằng tay kết quả đã đạt được ở bước 4 Đây cũng là công đoạn đòi hỏi sự tỉ mỉ và chính xác của người thực hiện
Để thực hiện các bước này, cần xây dựng quy trình công phu và áp dụng các thuật toán phức tạp Đối với các quá trình thực hiện bằng tay, cần thiết lập tiêu chí phân đoạn và mức độ chính xác yêu cầu cho quá trình tổng hợp Trong khi đó, đối với quy trình tự động, cần phát triển các thuật toán tự động phân đoạn và gán nhãn ở mức âm tiết cũng như âm vị.
Thuật toán gán nhãn tự động mức âm tiết
Thuật toán này chia thời gian tồn tại của câu nói thành n+2 phần bằng nhau, với n là số âm tiết trong câu Chúng ta giả định chỉ có hai khoảng lặng ở đầu và cuối câu, không có khoảng dừng giữa các âm tiết Nếu có khoảng dừng giữa các âm tiết, chúng ta sẽ chèn vào.
Bắt đầu Đọc file âm thanh Nạp file phiên âm t tb = t/(n+2) i = 0 t b0 = 0; t c0 = t b0 +t tb i = i+1 t bi = t c(i-1) +t tb t c(i) = t bi +t tb
Ghi t bi và t ci và tên âm tiết tương ứng vào file i > n + 1
Để phân tích đoạn âm, ta cần xác định các thông số sau: t là thời gian tổng của đoạn âm, n là số âm tiết có trong đoạn, và t tb là thời gian trung bình cho mỗi âm tiết Thêm vào đó, t b0 và t c0 đại diện cho thời gian bắt đầu và kết thúc của khoảng lặng đầu tiên, trong khi t b(n+1) và t c(n+1) là thời gian bắt đầu và kết thúc của khoảng lặng cuối cùng Cuối cùng, t bi và t ci là thời gian bắt đầu và kết thúc của âm tiết thứ i.
Sơ đồ khối thuật toán gán nhãn tự động cho các đoạn lặng được thực hiện bằng cách gán nhãn đặc biệt ".Pau" cho hai đoạn đầu và cuối Các phân đoạn còn lại sẽ được gán nhãn theo âm tiết, dựa trên thứ tự âm tiết được nạp từ file phiên âm chính tả, thường theo định dạng telex cho các từ tiếng Việt có dấu Thuật toán sẽ dừng lại khi toàn bộ cơ sở dữ liệu âm đã được gán nhãn và file phiên âm đã được nạp, với điều kiện rằng chúng phải đồng bộ.
Kết luận
Trong phương pháp tổng hợp tiếng Việt qua ghép nối, việc xây dựng cơ sở dữ liệu âm có vai trò quan trọng, ảnh hưởng trực tiếp đến chất lượng tiếng nói Cơ sở dữ liệu âm phong phú sẽ nâng cao chất lượng tiếng nói tổng hợp Tuy nhiên, cần cân nhắc giữa khả năng lưu trữ thiết bị, tốc độ ứng dụng và chất lượng tiếng nói Việc xây dựng cơ sở dữ liệu này phụ thuộc vào việc sử dụng đơn vị âm thích hợp.
5.1 Lựa chọn đơn vị âm cho tổng hợp tiếng Việt
Việc chọn đơn vị âm cho tổng hợp tiếng nói cần nghiên cứu và thử nghiệm thực tiễn Đơn vị âm dài mang lại chất lượng cao và mượt mà cho câu tổng hợp, nhưng số lượng âm lớn Ngược lại, đơn vị âm ngắn có cơ sở dữ liệu nhỏ hơn, cho phép tổng hợp nhiều câu hơn nhưng chất lượng âm thanh giảm, đặc biệt là ở các điểm ghép nối Tiếng Việt có khoảng 12.000 từ đơn từ 150 vần cơ bản, và khi tính cả dấu thanh, lên đến 1.800 vần Sử dụng đơn vị âm dài giúp bao phủ hiệu ứng liên cấu âm và giảm số điểm xích chuỗi, nhưng số lượng ngữ cảnh là vô hạn, nên không thể ghi âm tất cả Do đó, hiện nay, xu hướng là chọn đơn vị âm nhỏ.
Để xác định "nhỏ như thế nào," trong tiếng Anh và tiếng Pháp, các đơn vị âm nhỏ như biến thể âm vị (allophone), âm đôi (diphone), và âm ba (triphone) được sử dụng vì tính linh hoạt và khả năng tổng hợp văn bản hiệu quả Trong tổng hợp formant, âm vị là đơn vị âm hiệu quả, nhưng khi ghép nối, liên cấu âm có thể gây hiện tượng gãy âm Để khắc phục, âm đôi, được tạo thành từ hai nửa âm vị, mang lại kết quả khả quan Âm đôi bảo toàn sự chuyển tiếp giữa các âm vị, với biên nằm giữa âm vị, tại điểm có phổ tiếng nói ổn định nhưng năng lượng cao Để tổng hợp gần gũi với tiếng nói tự nhiên, các bán âm tiết cần đáp ứng các điều kiện nhất định.
+ Phổ phải giống nhau tại 2 biên ghép nối với các bán âm tiết ghép nối
+ Năng lƣợng trung bình của tín hiệu tại thời điểm ghép nối phải xấp xỉ bằng nhau
+ Trường độ các bán âm tiết phải hài hòa
+ Tại điểm liên kết biên độ tín hiệu phải bằng nhau
Mục tiêu ghi âm là tạo ra một bộ âm đồng nhất, vì vậy người ghi âm cần có giọng chuẩn và không bị ảnh hưởng bởi các yếu tố như khản giọng hay ốm Quá trình ghi âm phải liên tục và chất giọng phải ổn định, nếu không sẽ phải ghi âm lại do sự không đồng bộ dễ nhận thấy Thời điểm ghi âm tốt nhất là vào buổi sáng, và mỗi ngày chỉ nên ghi âm tối đa một tiếng Trước mỗi lần ghi âm, cần thử giọng để đảm bảo sự đồng nhất với lần trước Quy trình ghi âm cần chặt chẽ để tạo ra cơ sở dữ liệu tốt cho việc ghép âm, và không gian thu âm phải hoàn toàn sạch sẽ, thường sử dụng thiết bị chuyên dụng như microphone Shure-SM 2 với khoảng cách từ micro đến môi là 8mm Để thu thập đầy đủ các trường hợp ngữ âm và ngữ cảnh khác nhau, cần tạo ra một cơ sở dữ liệu khoảng 1800 câu ngắn, mỗi câu dài từ 5 đến 10 âm tiết, nhằm bao phủ đa dạng các vần có thể trong tiếng Việt.
Các vần có thể thay đổi khi kết hợp với các phụ âm do nguyên âm tắc của sự tiếp hợp Chẳng hạn, vần /uya/ trong từ /khuya/ khác với vần /uya/ trong từ /xuya/ Vì vậy, cần có nhiều biến thể của vần trong cơ sở dữ liệu (CSDL) Để xây dựng một CSDL âm tốt, cần xem xét các yếu tố như vị trí của vần trong âm đoạn và các loại âm tiết đi kèm.
5.3 Gán nhãn cơ sở dữ liệu
Một thách thức trong việc sử dụng phương pháp ghép nối là xác định cách gán nhãn và trích xuất chính xác các đoạn dữ liệu từ một cơ sở dữ liệu âm lớn Giải pháp là chia tín hiệu tiếng nói thành các đoạn âm không chồng lấn, mỗi đoạn tương ứng với một đơn vị ngôn ngữ đã được lựa chọn và ghi lại các thể hiện của nó Quá trình này mô tả tín hiệu tiếng nói và lấy cấu trúc âm vị từ tín hiệu, được gọi là phân tích âm vị Trong một ngữ đoạn thu được, các biên âm vị không rõ ràng do tín hiệu chuyển tiếp liên tục giữa các âm vị, khiến cho việc gán nhãn chuỗi đoạn âm trở nên tương đối.
Cấu trúc âm tiếng Việt bao gồm hai thành phần chính: phụ âm đầu và phần vần, mà phần vần lại được chia thành âm đệm, âm chính và âm cuối Trong tiếng Việt, có thể xuất hiện nguyên âm ba (triphthong), tương tự như trong tiếng Anh với các từ như "liar" hay "loyal", và việc phân tách ba âm này khá phức tạp Thêm vào đó, phần thanh điệu là siêu đoạn tính và ảnh hưởng đến toàn bộ âm tiết, đặc biệt khi phụ âm đầu là phụ âm hữu thanh Do đó, việc trích xuất âm tiết chủ yếu tập trung vào phụ âm đầu và phần vần trong cơ sở dữ liệu âm.
Khi phân tách phụ âm trong âm tiết, cần lưu ý rằng các âm tiết tương đối độc lập và dễ nhận biết trong biểu đồ sóng hoặc phổ Tuy nhiên, âm tố của phụ âm không độc lập, như ví dụ với phụ âm /ng/, cấu âm của chúng không phải là đơn giản.
Để phân tách âm một cách chính xác, cần so sánh nhiều mẫu âm và có kinh nghiệm trong lĩnh vực này Các phụ âm thường gắn liền với phần vần cụ thể, vì vậy việc áp dụng một số nguyên tắc là cần thiết để đảm bảo sự chính xác và nhất quán trong quá trình phân đoạn âm.
+ Sau đoạn nghỉ : Tại điểm bắt đầu của biên độ đầu tiên lớn hơn nhiễu nên nhìn thấy trên tín hiệu
+ Trước khi nghỉ : Tại điểm cuối của biên đội cuối cùng lớn hơn nhiễu nên nhìn thấy trên tín hiệu :
+ Chuyển tiếp phụ âm hữu thanh-vần : Đánh dấu sự chuyển tiếp dựa trên âm thanh, năng lƣợng và phổ
+ Giữa các phụ âm vô thanh-vần : Tại điểm chủ kỳ cao độ tần số cơ bản thứ 2 của phần vần
Đối với các âm tắc, việc phân đoạn âm thanh nên được thực hiện trước khoảng 20ms cho giai đoạn tắc âm Hiện nay, có nhiều công cụ gán nhãn âm thanh như Praat và Speech Filing System Trong số đó, Praat được ưa chuộng vì là công cụ miễn phí, mã nguồn mở, cho phép phân tích, tổng hợp và xử lý file âm thanh hiệu quả Praat cũng cung cấp khả năng tùy biến cao, cho phép lập trình tự động hóa các công việc phân tích, và được sử dụng rộng rãi trong cộng đồng.
Thông thường có 3 cách gán nhãn một cơ sở dữ liệu âm là : gán nhãn bằng tay, bán tự động và tự động
Phương pháp gán nhãn bằng tay là lựa chọn tối ưu khi cơ sở dữ liệu âm thanh còn nhỏ và cần độ chính xác cao Quá trình này yêu cầu người thực hiện có kiến thức vững về các đặc trưng ngôn ngữ, phổ và năng lượng Hơn nữa, ngay cả gán nhãn tự động cũng cần các bước thủ công để điều chỉnh và chuẩn hóa.
Khi gán nhãn bằng tay, người thực hiện xác định ranh giới giữa các âm vị bằng cách dựa vào biểu đồ sóng (waveform) và biểu đồ phổ (spectrogram)
Biểu đồ phổ là hình ảnh tổng hợp các giá trị phổ trong khoảng thời gian ngắn từ 5-20ms của tín hiệu tiếng nói, trong đó F0 thường không thay đổi do quán tính của cơ quan cấu âm Trục tung của biểu đồ thể hiện tần số với điểm gốc là 0 Hz, trong khi trục hoành là trục thời gian Mức năng lượng của từng tần số tại thời điểm t trong biểu đồ phổ S của tín hiệu tiếng nói được biểu thị bằng độ đậm nhạt S(t,f), với các đường đậm nét trên biểu đồ thể hiện các formant của tín hiệu.
Hình 5.1 : Biểu đồ sóng (trên), biểu đồ phổ (giữa) và kết quả gán nhãn mức âm vị và mức âm tiết của 2 từ "tổng hợp"
Thông tin âm học trên biểu đồ sóng giúp xác định vị trí đặt các ranh giới Đối với âm có tần số cao và biên độ thấp, việc đọc thông tin trên biểu đồ sóng thường khó khăn, do đó biểu đồ phổ sẽ được áp dụng Sự biến đổi trên biểu đồ sóng thường đáng tin cậy hơn so với biểu đồ phổ, đặc biệt khi có sự chuyển dịch từ biên độ thấp sang biên độ cao.
Việc xác định và so sánh độ chính xác của nhãn thời gian gặp nhiều khó khăn do ranh giới âm vị không rõ ràng Trong các phát âm liên tục, nhiều ranh giới mà người nghe nhận thức không tồn tại trong phân tích âm học, dẫn đến sự trùng lặp và dính liền giữa các âm vị Do đó, ranh giới âm vị trong quá trình gán nhãn có thể coi là nhân tạo Các trường hợp nhập nhằng được giải quyết qua các quy tắc chung nhằm đảm bảo tính nhất quán Tuy nhiên, việc gán nhãn thủ công mang tính chủ quan, khiến không có một dãy nhãn âm vị chính xác cố định cho mỗi phát âm, và một phát âm có thể được phiên âm theo nhiều cách khác nhau tùy thuộc vào người gán nhãn.
Khi gán nhãn CSDL âm, ta cũng phải lưu ý đến tính chất của các âm để có thể gán nhãn một cách chính xác: a Âm tắc:
Khi phát âm âm tắc, cơ quan phát âm sẽ đóng lại, khiến luồng không khí từ phổi bị chặn hoàn toàn Âm tắc được tạo ra khi luồng hơi phá vỡ sự cản trở và phát ra một tiếng nổ, do đó âm tắc còn được gọi là âm nổ.
CHƯƠNG 6: ÁP DỤNG P-SOLA TRONG TỔNG HỢP TIẾNG VIỆT
Kỹ thuật PSOLA
Kỹ thuật PSOLA (Pitch Synchronous Overlap and Add) hay còn gọi là kỹ thuật chồng đồng bộ cao độ tần số cơ bản, cho phép biến đổi trường độ và cao độ âm thanh Quá trình này thay đổi cao độ tần số âm cơ bản F0 và độ dài tiếng nói trực tiếp trên dạng sóng Kỹ thuật PSOLA được thực hiện qua ba bước chính.
- Phân tích tín hiệu gốc thành các chuỗi âm ngắn theo các cửa sổ đồng bộ với các điểm đánh dấu pitch (còn gọi là epoch)
- Biến đổi các âm phân tích đƣợc ở trên thành các âm ngắn mới theo các biến đổi độ dài và tần số âm cơ bản
- Tổng hợp lại các âm ngắn này theo phương pháp cộng chồng, đồng bộ lại tín hiệu
Hình 6.1 So sánh tín hiệu phân tích và tín hiệu tổng hợp [2]
6.1.1.1 Tín hiệu phân tích thời gian ngắn
Tín hiệu gốc dạng miền thời gian, được biểu diễn bằng sóng tiếng nói x(n), có thể được phân tích thành các chuỗi tín hiệu phân tích thời gian ngắn x(s,n) Phân tích này được thực hiện bằng cách nhân tín hiệu sóng x(n) với chuỗi cửa sổ phân tích hs(n), theo thời gian dịch chuyển, được thể hiện qua công thức: x(s,n) = hs(n – ta(s)) x(n).
Cửa sổ phân tích tại thời điểm gốc n = 0, ký hiệu là h s (n), và thời điểm phân tích thứ s, ký hiệu là t a (s), được gọi là điểm cao độ tần số cơ bản phân tích (epoch) Những điểm này đánh dấu pitch trong phần hữu thanh và được cách nhau một khoảng đều nhau trong các khoảng vô thanh, đồng bộ với chu kỳ cao độ tần số cơ bản của âm thanh hữu thanh, trong khi tần số ở phần âm vô thanh là không đổi Tín hiệu thu được có đặc trưng phổ tương tự như tín hiệu gốc.
Hình 6.2 minh họa sự thay đổi cao độ tần số cơ bản thông qua phương pháp PSOLA, với ánh xạ giữa 5 epoch phân tích t_a (s) và 3 epoch tổng hợp t_s (u) Trường độ âm thanh được rút ngắn 40% trong khi chu kỳ pitch tăng 60% Hàm h_s được xác định bằng công thức 1/2(1 - cos(2πn/N) với -N ≤ n ≤ N, được gọi là cửa sổ Hanning (xem Chương 2) Chiều dài cửa sổ phân tích tỷ lệ với chu kỳ cao độ tần số căn bản tại thời điểm P(s), thường nằm trong khoảng 1 đến 2 lần chu kỳ pitch tương ứng với hệ số chồng cửa sổ từ 50% đến 70% Công thức h_s(n) = h(n/àP) (6.2) được sử dụng để tính toán.
Hệ số tỷ lệ à xỏc định độ dài cửa sổ so với chu kỳ pitch Đối với PSOLA miền thời gian, giá trị này bằng 2
6.1.1.2 Tín hiệu tổng hợp thời gian ngắn
Chuỗi tín hiệu phân tích thời gian ngắn được tổng hợp thành các âm ngắn tổng hợp x q (n), đồng bộ với các điểm đánh dấu pitch mới ts(u), gọi là điểm cao độ cơ bản tần số tổng hợp Các điểm cao độ này được xác định từ điểm cao độ phân tích ta(s) theo tỷ lệ thay đổi cao độ và độ dài Quá trình biến đổi thành âm ngắn tổng hợp bao gồm thay đổi số lượng và vị trí các âm ngắn, với số lượng phụ thuộc vào các hệ số thay đổi pitch và trường độ âm Khoảng cách giữa các ts(u) tổng hợp bằng chu kỳ pitch cần tổng hợp, đòi hỏi một hàm biến đổi tuyến tính để tính các điểm đánh dấu pitch, sử dụng hệ số nội suy tuyến tính α Cơ chế này có thể hình dung như việc thêm hoặc bớt các tín hiệu thời gian ngắn, tương ứng với α > 1 hoặc α < 1.
Tín hiệu tổng hợp thời gian ngắn y(u,n) đƣợc biểu diễn: y(u,n) = α u x(s,n) + (1-α u )(x(s+1,n) (6.3) với 0 ≤ α u ≥ 1 là hệ số nội suy tuyến tính
6.1.1.3 Tổng hợp lại tín hiệu
Sau khi thu được các âm ngắn tổng hợp yq(n), chúng ta áp dụng phương pháp cộng chồng (overlap and add) để tái tạo tín hiệu mong muốn x(n) Phương pháp này kết hợp các tín hiệu tổng hợp ngắn đồng bộ với chuỗi các điểm cao độ tần số cơ bản ts(u) Thủ tục này đơn giản nhưng mang lại chất lượng âm tổng hợp rất khả quan.
Trục thời gian tổng hợp Trục thời gian phân tích
Hình 6.3b Giảm tốc độ âm 2 lần t s t a
Trục thời gian tổng hợp
Trục thời gian phân tích ts ta
Hình 6.3a Tăng tốc độ âm lên 2 lần
Cửa sổ tổng hợp h q sử dụng hệ số α q để cân bằng sự thay đổi năng lượng khi thay đổi cao độ tần số cơ bản Trong băng tần hẹp, sự thay đổi năng lượng là không đáng kể, đặc biệt khi độ rộng cửa được chọn bằng 2 lần chu kỳ cao độ tần số cơ bản Nếu tốc độ pitch của tín hiệu tổng hợp không thay đổi nhiều so với tín hiệu gốc, có thể coi α q là không thay đổi Trong trường hợp này, giả thiết α q = 1 và tổng các cửa sổ Hanning bằng 1.
6.1.2 Tính điểm cao độ tần số cơ bản tổng hợp (epoch) Để tính tập các điểm cao độ tần số cơ bản tổng hợp t s (u) với chu kỳ cao độ tần số cơ bản P s (t) cho trước Nếu giá trị P s (t) = P là không đổi theo thời gian, khi đó các epoch tổng hợp đƣợc tính bởi t s (u) = uP
Chu kỳ pitch P s (t) thường là một hàm theo thời gian, và chúng ta có thể tính toán giá trị t s (u+1) dựa trên giá trị trước đó t s (u) cùng với chu kỳ pitch tại thời điểm đó Cụ thể, mối quan hệ giữa các giá trị này được thể hiện qua công thức: t s (u+1) - t s (u) = P s (t s (u)).
Tuy nhiên đây là phép tính gần đúng, nó chấp nhận đƣợc khi giá trị P s (t) thay đổi chậm theo thời gian
Việc tính toán chính xác giá trị giúp hiểu rõ hơn về sự thay đổi cao độ và trường độ trong các đoạn kề cận Mỗi epoch t s (u+1) được xác định dựa trên khoảng cách với epoch t s (u) liền kề Hiệu số giữa t s (u+1) và t s (u) thể hiện chu kỳ pitch trung bình trong đoạn t s (u) ≤ t ≤ t s (u+1).
Chu kỳ cao độ tần số cơ bản tổng hợp là một hàm tăng tuyến tính theo thời gian, với giá trị cuối gấp hai lần giá trị ban đầu.
Có thể xem rằng P s (t) tuyến tính với t:
P s (t) = P s (t s (u)) + b(t - t s (u)) (6.9) Khi đó đẳng thức (6.8) có thể đƣợc tính nhƣ sau:
Thay (6.10) và (6.11) vào (6.8) ta đƣợc: δ u = P(t(u)) + bδ u /2 (6.12)
Dùng (6.11) với epoch t s (u+1) ta có: t s (u+1) - t s (u) = δ u = P s (t(u)) / (1-b/2) (6.13) Nhƣ vậy với giá trị hệ số b là nhỏ thì biểu thức (6.7) là một xấp xỉ của (6.13) Thay (6.9) bằng giá trị t s (u+1) ta có:
6.1.2.1 Thay đổi cao độ tần số cơ bản Đôi khi ta có thể không sinh cao độ tần số cơ bản phân tích bằng một hàm theo thời gian mà muốn tự thay đổi nó bằng cách thay đổi cao độ trong khi vẫn giữ nguyên trường độ Khi thay đổi cao độ tần số cơ bản, các điểm chu kỳ tổng hợp ts(u) phải đƣợc tính từ các chu kỳ phân tích ta(s), hệ số thay đổi cao độ tần số cơ bản β = β(t a (s)) theo cách: Giả sử rằng chu kỳ cao độ tần số phân tích P a (t) của tín hiệu phân tích vào thời điểm t là hằng số và bằng độ lệch giữa các epoch:
Hình 6.5 Chu kỳ cao độ tần số cơ bản của tín hiệu phân tích là một hàm theo thời gian và bất biến trong từng đoạn
Chu kỳ pitch của tín hiệu tổng hợp P s (t) tại thời điểm t được xác định bởi độ chênh lệch giữa các epoch j và j+1, với điều kiện t s (j) ≤ t ≤ t s (j+1) Ở đây, t s (j) đại diện cho thời gian tức thời của epoch j của sóng tổng hợp Do đó, có sự liên hệ giữa chu kỳ tần số cơ bản của sóng tổng hợp và sóng phân tích.
P s (t) = β(t)P a (t) (6.17) với β(t) đƣợc gọi là hệ số thay đổi tần số cơ bản, nó là một hàm với đối số thời gian
Kết hợp với công thức 6.8 ta đƣợc
Chu kỳ cao độ tần số cơ bản của tín hiệu gốc được xác định trong khoảng thời gian [t s (u), t s (u+1)] Trong mỗi khoảng thời gian này, các giá trị P(t) và β(t) là hàm bất biến, giúp đơn giản hóa quá trình tính tích phân.
Thay đổi trường độ là quá trình biến đổi độ dài của tín hiệu tiếng nói mà vẫn giữ nguyên cao độ Quá trình này được thực hiện thông qua hàm thời gian t = D(t a), làm lệch giá trị thời gian giữa tín hiệu gốc và tín hiệu đã biến đổi Hệ số thay đổi α(t) được sử dụng để biểu diễn quá trình này.
Giả sử rằng hệ số thay đổi trường độ α(t) = α là một hằng số, khi đó ánh xạ
Làm mềm hoá biên nối
Sau khi áp dụng các thuật toán PSOLA và đảm bảo các điều kiện về tần số cơ bản F0, năng lượng và độ dài tín hiệu, cần thực hiện bước tinh chỉnh để làm mịn biên nối kết tín hiệu Việc này giúp loại bỏ sự khập khiễng về mức và chiều biến thiên tức thời tại điểm nối, tránh hiện tượng lạo xạo trong âm thanh tổng hợp.
Thuật toán đƣợc mô tả nhƣ sau [7]:
Trong quá trình nối hai bán âm tiết, không thực hiện nối trực tiếp mà thay vào đó là cộng chồng chúng với độ dài đoạn chồng bằng giá trị trung bình của hai chu kỳ pitch tại điểm liên kết Điều này dẫn đến việc rút ngắn âm tiết nhưng không đáng kể, với chu kỳ pitch tối đa cho âm hữu thanh là 20ms và độ dài bán âm tiết là 500ms, độ dài tín hiệu chồng chỉ chiếm 4% tổng độ dài âm ghép nối Hai đoạn cộng chồng tương ứng là hai nửa cửa sổ phân tích có độ dài bằng chu kỳ pitch Các nửa cửa sổ tổng hợp có độ dài bằng giá trị trung bình của hai độ dài trên Giả sử hai bán âm tiết x1(n) và x2(n) được cắt đúng tại các điểm đánh dấu pitch, tín hiệu x2(n) sẽ bắt đầu từ điểm cuối cùng của x1(n) Các nửa cửa sổ Hanning phân tích tương ứng là h1(n-t1) và h2(n-t2).
P1 và P2 là hai chu kỳ pitch tại điểm nối, trong đó t1 đánh dấu pitch gần cuối x1(n) với đoạn hữu thanh hoặc cách điểm cuối cùng một đoạn không đổi (thường là 16ms) nếu là vô thanh T2 là điểm đánh dấu pitch gần đầu x2(n) với đoạn hữu thanh hoặc cách điểm đầu tiên một đoạn không đổi (16ms) nếu là vô thanh Hai nửa cửa sổ Hanning tổng hợp tương ứng là h'(n-t) và h'(n-t-P).
Khi đó biểu thức của tín hiệu tổng hợp sẽ là:
Hình 6.7 Làm mềm hoá biên nối
Kết luận
Thuật toán PSOLA cho phép thay đổi độ dài và cao độ của tần số cơ bản, làm cho nó trở thành một trong những phương pháp hiệu quả trong việc điều chỉnh ngữ điệu và ngữ âm.
PSOLA ra đời không chỉ thay thế LPC mà còn giúp duy trì đặc tính của tín hiệu gốc khi thay đổi F0, làm biến dạng phổ tín hiệu Kết hợp kỹ thuật tổng hợp PSOLA với mô hình dữ liệu phụ thuộc ngữ cảnh mang lại kết quả gần như hoàn hảo cho tiếng nói tổng hợp Đây là một hướng tiếp cận đáng chú ý nhằm đạt được tiếng Việt chất lượng cao trong tổng hợp giọng nói.
Mặc dù PSOLA có một số nhược điểm như mất tín hiệu ngắn, không đồng bộ về pha, biên độ và pitch do quá trình ghép nối, nhưng những nhược điểm này không thể làm giảm đi những lợi ích mà công nghệ này mang lại.
CHƯƠNG 7: CÀI ĐẶT CHƯƠNG TRÌNH
Kết luận
Tôi chọn bộ công cụ Microsoft Visual Studio NET 2003 để phát triển ứng dụng này vì nó hỗ trợ ngôn ngữ lập trình tốt và là nền tảng phổ biến nhất hiện nay Với việc hầu hết các ứng dụng tại Việt Nam được phát triển trên môi trường Windows, khả năng triển khai của nó rất cao Hơn nữa, bộ công cụ này hỗ trợ Unicode đầy đủ, giúp tiết kiệm công sức chuyển đổi Các thư viện được xây dựng bằng ngôn ngữ C#, thế hệ tiếp theo của C và C++, cho phép xử lý hệ thống hiệu quả Giao diện và các tính toán đơn giản được lập trình bằng Visual Basic NET, giúp tạo ra các chương trình trong thời gian ngắn nhất.
Để thử nghiệm các thuật toán tiếng nói, giao diện chương trình được thiết kế đơn giản, không bao gồm phần xử lý ngôn ngữ và phân tích cú pháp Văn bản sau khi được phân tích sẽ được telex hóa để loại bỏ sự nhập nhằng và xử lý các ký hiệu, ký tự đặc biệt, từ đó tạo ra đầu vào cho các modul tổng hợp tiếng nói.
Phương pháp xích chuỗi miền thời gian được áp dụng do tốc độ tính toán nhanh và chất lượng âm tổng hợp cao Đơn vị âm sử dụng bao gồm phụ âm và phần vần có dấu, ví dụ như /c/, /ông/, /ngh/, /ệ/.
Chúng tôi đã thu thập khoảng 2600 âm thanh, được lưu trữ dưới dạng file wav với tên file theo định dạng telex Những file này có chất lượng âm thanh cao vì chúng là file gốc, chưa bị nén hay biến đổi Quá trình thu âm được thực hiện bằng cách ghi lại trực tiếp tiếng nói đọc từ một văn bản đã được chuẩn bị trước, văn bản này bao gồm hầu hết các phần vần và phụ âm trong tiếng Việt.
Quá trình tổng hợp âm thanh đơn giản bằng cách ghép nối các file âm thanh đã phân tích từ văn bản đầu vào Ví dụ, âm tiết "ngoèo" được phân tích thành "ng" và "oèo", và trong quá trình tổng hợp, chúng ta chỉ cần sử dụng hai file âm thanh là ng.wav và oeof.wav để thực hiện việc ghép nối.
Quá trình ghép nối và phát âm các thiết bị cần diễn ra song song, với việc phát âm bắt đầu sau một khoảng thời gian nhất định khi đã ghép nối một ngữ đoạn Điều này rất quan trọng vì nếu chỉ phát âm sau khi hoàn thành ghép nối, sẽ tốn nhiều thời gian và chiếm nhiều bộ nhớ trong quá trình xử lý Sau khi âm thanh được phát xong, nó có thể được giải phóng khỏi bộ nhớ, giúp tiếp tục quá trình đồng bộ "tổng hợp-phát âm" khác.
Chương trình gồm các chức năng chính sau:
+ Phát âm thanh từ một văn bản đƣợc nạp từ file hoặc gõ trực tiếp vào một hộp văn bản
+ Phát âm thanh từ một file wave sẵn có
+ Lưu file âm thanh đọc từ văn bản dưới dạng wave
+ Biểu diễn file âm thanh dưới dạng biểu đồ sóng
Hình 7.1 Giao diện của chương trình TextTrans
Trong đó modul tổng hợp tiếng Việt từ văn bản sử dụng phương pháp PSOLA để ghép nối các thành phần âm
Chương trình minh họa, mặc dù đơn giản, đã chứng minh hiệu quả của thuật toán PSOLA trong việc so sánh chất lượng âm thanh gốc và âm thanh sau khi áp dụng Nó có tiềm năng nâng cấp giao diện để trở thành một ứng dụng hoàn chỉnh hoặc phát triển thành dịch vụ web, hỗ trợ cho các hệ thống đọc tự động với Microsoft Net Ngoài ra, chương trình cũng có thể được xây dựng cho nền tảng di động, mở rộng khả năng ứng dụng trong nhiều lĩnh vực khác nhau.
Tổng hợp tiếng nói từ văn bản (text to speech) là một thách thức lớn, nhưng ứng dụng của nó trong cuộc sống lại rất phong phú Công nghệ này không chỉ mang lại tiện ích mà còn có ý nghĩa văn hóa và xã hội sâu sắc Tuy nhiên, những nghiên cứu hiện tại của tôi mới chỉ đạt được những kết quả ban đầu và còn nhiều điều cần cải thiện.
Các kết quả đạt đƣợc của luận văn:
+ Tìm hiểu các đặc trƣng về mặt âm học của tiếng Việt Từ đó lựa chọn đƣợc phương pháp tổng hợp tiếng nói có nhiều ưu điểm nổi trội
Xây dựng cơ sở dữ liệu âm đầy đủ là bước quan trọng trong quá trình ghép nối Việc nghiên cứu và phát triển thành công thuật toán biến đổi PSOLA cho phép áp dụng trên các âm ghép nối, từ đó điều chỉnh cao độ và trường độ, giúp tạo ra tiếng nói chất lượng cao.
Hướng phát triển trong thời gian tới:
Nghiên cứu mô hình Fujisaki cho tổng hợp thanh điệu là rất quan trọng trong việc cải thiện chất lượng âm thanh Việc tối ưu hóa thuật toán và cơ sở dữ liệu giúp triển khai hiệu quả trên các ứng dụng nhúng, bao gồm thiết bị trợ giúp cá nhân và điện thoại di động.
+ Xây dựng bộ tham số đầy đủ và đa dạng cho mỗi đơn vị âm
Việc phát triển thành công theo định hướng này sẽ tạo ra một bộ tổng hợp linh hoạt, mở rộng khả năng ứng dụng, đặc biệt trong bối cảnh thế giới di động hiện nay.