Bước 1: Dựa trên sự phân tích về độ dài và tần số F0 đã có. Định vị những điểm mốc trên tín hiệu tiếng nói của từ sẽ tạo ra. Khoảng cách T giữa các điểm mốc được lấy như sau:
T = TSLM /F0
Với TSLM là tần số lấy mẫu của tín hiệu tiếng nói. Ở trong đồ án này TSLM được lấy là 16 kHz.
Khoảng cách T này đóng vai trò là chu kỳ của tín hiệu tổng hợp Vì vậy tổng số điểm mốc N sẽ là:
N = (L - delta) /T + 1
Vậy tín hiệu được tạo ra là s n%( ) có các điểm mốc mj với 0≤ ≤j N
Ở đây delta là tổng 2 độ dài phần phụ âm của diphone đầu và diphone sau. L là độ dài của tín hiệu của từ cần tổng hợp. Vì phần phụ âm không tham gia vào quá trình tổng hợp. Nên từ giờ trở đi ta coi L là độ dài phần nguyên âm.
Bước 2: Tại các điểm mốc trên 2 diphone đã có, nhân tín hiệu với cửa sổ Hanning. Với cửa sổ Hanning như sau:
)) 2 cos( 1 ( 2 ) ( ) ( = + Π −Π T n n s n w
Với T là độ dài của cửa sổ Hanning. Ở trong trường hợp này cửa sổ Hanning được lấy bằng T.
Tín hiệu sau khi nhân với cửa sổ Hanning sẽ tạo thành tín hiệu thành phần tại vị trí điểm mốc thứ i. Điểm mốc này có thể nằm trên diphone thứ nhất hoặc diphone thứ 2, chu kỳ T0 là chu kỳ tức thời của phần nguyên âm của diphone đó.
Bước 3: Cộng xếp chồng tín hiệu để tạo nên từ cần tổng hợp
( ) 1 ( ) 0 N j j s n − s n = =∑ % ( )
s n% là tín hiệu mới sẽ được tạo ra. T là chu kỳ của nó.
Hình 4.9: Cộng xếp chồng các tín hiệu thành phần
Hình 4.10: Lưu đồ ghép nối 2 diphone để tạo thành từ. Hình 4.11: Ghép nối hai diphone Bắt đầu Kết thúc Xác định các tín hiệu thành phần từ 2 diphone Xác định các điểm mốc trên tín hiệu cần tạo Đọc thông tin về 2 diphone Định vị các tín hiệu thành phần vào các điểm mốc Cộng xếp chồng để tạo thành tín hiệu cần tổng hợp
Hình 4.12: Vị trí lấy cửa sổ
4.5.2.Ghép nối các diphone tạo thành các từ có dấu.
Việc ghép nối các diphone để tạo thành từ có dấu chia làm 2 trường hợp:
• Ghép nối và thay đổi tần số với các diphone thông thường để tạo nên từ có dấu
• Ghép nối các diphone đặc biệt để tạo nên từ có dấu
4.5.2.1. Từ tạo thành từ các diphone thông thường.
Những từ có dấu khác với những từ không dấu bởi trong quá trình phát âm ra những từ này tần số cơ bản Fo của từ có sự thay đổi. Sự thay đổi này tạo nên những từ có dấu (thanh điệu) khác nhau. Tóm lại từ có dấu có thể hiểu đơn giản là từ không dấu được biến đổi tần số cơ bản một cách thích hợp. Một số từ không tuân theo quy luật này và ta sẽ xét nó ở mục sau.
Để biến đổi tần số cơ bản của tín hiệu ta cần biết: • Độ dài từ cần tổng hợp
• Quá trình biến đổi của tần số cơ bản
Hình 4.13: Biểu diễn tần số cơ bản của từ theo thời gian
Trên biểu đồ biểu diễn tần số cơ bản theo thời gian ta thấy:
t1 t2 t3 0 F1 F2 Thời gian Tần số
Từ 0 đến t1 tần số biến đổi từ 0 đến F1.
Từ t1 đến t2 tần số biến đổi từ F1 đến F2.
Từ t2 đến t3 tần số biến đổi từ F2 đến F3.
Trong quá trình xây dựng ứng dụng và khảo sát sự thay đổi của tần số cơ bản Fo để tạo nên các thanh điệu tương ứng trong tiếng Việt. Quy luật về sự biến đổi tần số cơ bản Fo ứng với các thanh điệu được mô tả trong các hình vẽ sau: (trên mỗi hình vẽ bao gồm 2 phần, phần trên là dạng tín hiệu trong miền thời gian, phần dưới là đường biểu diễn tần số cớ bản Fo tương ứng của tín hiệu)
- Thanh bằng: Tần số cơ bản không đổi
Hình 4.14: Tín hiệu âm a và đường biểu diễn Fo của thanh bằng
- Dấu huyền: Tần số cơ bản giảm dần
Hình 4.15: Tín hiệu âm à và đường biểu diễn Fo của thanh huyền
Hình 4.16: Tín hiệu âm á và đường biểu diễn Fo của thanh sắc
- Dấu hỏi:
Hình 4.17: Tín hiệu âm ả và đường biểu diễn Fo của thanh hỏi
- Dấu nặng:
- Dấu ngã:
Hình 4.19: Tín hiệu âm ã và đường biểu diễn Fo của thanh ngã
Trên các hình vẽ mô tả dạng thay đổi tần số cơ bản F0 ở trên ta coi việc tăng hoặc giảm tần số trong một đoạn thời gian là tuyến tính có nghĩa là tăng đều hoặc giảm đều.
Như vậy để tổng hợp từ có dấu thì đầu vào ngoài thông tin về 2 diphone và độ dài của từ còn có các đoạn thời gian ti đến ti+1 và tần số tương ứng F0i, F0i+1 sẽ biết đổi trong đoạn đó.
Giải thuật tổng hợp từ có dấu chỉ khác giải thuật tổng hợp từ không dấu ở bước 1 tức là bước xác định các điểm mốc trên tín hiệu sẽ tổng hợp. Lúc này các điểm mốc không cách đều nhau với tần số F0 nữa mà có khoảng cách tương ứng với tần số đầu vào.
Khi đó:
Ti = TSLM /F0i
Với F0i được xác định như sau:
• Dựa và i có thể biết điểm cần tính tần số cơ bản thuộc đoạn thời gian nào, giả sử thuộc đoận từ tj đến tj+1.
Hình 4.20: Tính chu kỳ cơ bản F0 tại điểm i
4.5.2.2. Từ tạo thành từ các diphone đặc biệt.
Như ta đã biết một số từ có dấu đặc biệt trong tiếng việt không thể tổng hợp bằng cách thay đổi tần số của từ không dấu tương ứng. Hay nói theo cách khác đây chính là các diphone có dấu mà chúng không có diphone không dấu tương ứng. Các diphone này được thống kê trong bảng các diphone đặc biệt đã trình bầy ở trên. Giải pháp đưa ra để tổng hợp những từ loại này ở đây được trình bày trong sơ đồ khối sau:
Hình 4.21: Sơđồ khối tổng hợp diphone đặc biệt
Với phương pháp nối trực tiếp hai đoạn tín hiệu này, ưu điểm là âm thanh phát ra chất lượng khá tốt và trung thực do tín hiệu là tín hiệu thu âm trực tiếp từ người thu và chưa qua xử lý gì. Nhược điểm là không thể thay đổi độ dài của từ.
tj i tj+1 0 F0i F0j+1 Thời gian Tần số F0j Bắt đầu Kết thúc Đọc thông tin về 2 diphone Diphone đặc biệt Nối 2 diphone để tạo thành từ Đ
4.6. ỨNG DỤNG TỔNG HỢP TIẾNG VIỆT
Ứng dụng xây dựng trong luận văn này nhằm mục đích minh hoạ các cơ sở lý thuyết đã trình bày ở những phần trên. Đây được xem như một công cụ thí nghiệm giúp người xử dụng thấy được một cách trực quan quá trình xây dựng và tổng hợp tiếng nói. Đây là một công cụ cho phép khảo sát các tham số cơ bản ảnh hưởng đến chất lượng tiếng nói tổng hợp theo phương pháp TD-PSOLA. Các tham số cơ bản mà ứng dụng cho phép khảo sát bao gồm:
• Tần số cơ bản Fo của tín hiệu: Ứng dụng cho phép thay đổi tần số cơ bản Fo của bất kỳ đoạn tín hiệu nào trên tín hiệu. Dạng tín hiệu sau khi thay đổi tần số có thể được hiển thị trên màn hình hoặc phát ra loa.
• Độ dài của tín hiệu: Ứng dụng cho phép điều chỉnh độ dài của từ tổng hợp. • Năng lượng: Ứng dụng cho phép tăng hoặc giảm năng lượng của bất kỳ
đoạn tín hiệu nào trên tín hiệu. Cho phép thay đổi đường bao của tín hiệu thành một dạng bất kỳ. Cho phép so sánh tín hiệu ban đầu với tín hiệu đã thay đổi năng lượng.
Ngoài chức năng khảo sát, thí nghiệm trên thì đây còn là một công cụ hoàn chỉnh cho phép tổng hợp tiếng nói với các chức năng sau:
• Cho phép xây dựng và quản lý cơ sở dữ liệu diphone từ các file âm thanh *.WAV. Xác định các điểm mốc, điểm phân cách vô thanh hữu thanh cho mỗi diphone.
• Cho phép đọc một đoạn văn bản bất kỳ ra loa. Sau đây là một số mô tả các chức năng của chương trình.
4.6.1. Giao diện chính
Cửa sổ chính của chương trình gồm các thành phần sau:
• Thanh Menu và thanh Toolbar: Với các chức năng Tạo mới, Mở, Ghi một file tổng hợp từ. Các chức năng khác như Zoom in, Zoom out tín hiệu, chức năng Play tín hiệu chưa cân bằng và Play tín hiệu đã cân bằng.
• Khung 1: Hiển thị tín hiệu tiếng nói tổng hợp chưa qua xử lý cân bằng năng lượng trên miền thời gian
• Khung 2: Hiển thị tín hiệu tiếng nói tổng hợp đã qua xử lý cân bằng năng lượng trên miền thời gian
• Khung 3: Hiển thị đường biểu diễn tần số cơ bản Fo của tín hiệu. Chương trình cho phép dịch chuyển đường biểu diễn này để thay đổi tần số cơ bản Fo của tín hiệu.
• Khung bên phải: Là công cụ cho phép thay đổi đường bao của tín hiệu, đây chính là công cụ cho phép thay đổi và cân bằng năng lượng cho tín hiệu. • Tab Test: Cho phép tổng hợp các từ bằng việc lựa chọn từng cặp diphone
tương ứng. Sau khi tổng hợp trong tab này, dạng tín hiệu ra sẽ được hiển thị trong khung 1 và 2.
• Tab Database: Tab này cho phép tạo và quản lý cơ sở dữ liệu diphone. Cho phép chỉnh sửa, chọn các điển đánh dấu ứng với mỗi diphone.
• Tab Reading: Đây là công cụ hoàn chỉnh cho phép đọc một đoạn văn bản bất kỳ ra loa. Hình 4.22: Giao diện chính của chương trình Thanh Menu Thanh Toolbar Tín hiệu chưa cân bằng Tín hiệu sau khi cân bằng Công cụ thay đổi, cân bằng năng lượng Công cụ thay đổi tần số cơ bản Fo
4.6.2. Minh hoạ một số chức năng chính của chương trình
Ví dụ 1: Tổng hợp từ xin chào
• Bước 1: Trên Tab1 sử dụng chức năng New Word để tạo 2 từ. Ở từ thứ nhất chọn First Diphone là -xi, Second Diphone là in-. Ở từ thứ hai chọn
First Diphone là -cha, Second Diphone là ao-.
Hình 4.23: Tạo hai từxin và chao
• Bước 2: Ấn Refresh trên thanh Toolbar để hiển thị tín hiệu tổng hợp lên khung 1 và 2. Lúc này tín hiệu ở khung 1 và 2 là giống nhau đều chưa qua xử lý cân bằng năng lượng. Ở khung 3 là đường biểu diễn tần số cơ bản Fo của tín hiệu, có 2 đường biểu diễn Fo tương ứng với 2 từ xin và chao, cả 2 đường hiện giờ là nằm ngang có nghĩa là cả 2 từ đang mang thanh bằng. Ta có thể dùng chức năng Play 1 và Play 2 để nghe tín hiệu tổng hợp.
Hình 4.24: Biểu diễn tín hiệu 2 từxin và chao
• Bước 3: từ xin không mang thanh điệu do đó đường Fo giữ nguyên, còn từ chào mang thanh huyền do đó ta phải thay đổi đường Fo.
• Bước 4: Xử lý cân bằng năng lượng của tín hiệu trên trên khung 2. Ta sẽ dùng công cụ ở khung bên phải để thay đổi đường bao của tín hiệu
Hình 4.26: Xử dụng công cụ biến đổi cân bằng năng lượng
Ví dụ 2: Tạo một diphone trong cơ sở dữ liệu
Để tạo một diphone mới trong cơ sở dữ liệu trước tiên ta phải có file âm thanh
wav chứa diphone đó. Trong tab Database ta chọn New Dip rồi đặt tên cho diphone. Tiếp theo chọn Open Wave để mở file wave chứa diphone. Sau đó dùng công cụ bôi đen, cắt dán để giữ lại mình phần tín hiệu của diphone. Tiếp theo xác định 2 điểm đánh dấu đầu tiên của diphone rồi chọn Detect chương trình sẽ tự động tìm các điểm đánh dấu còn lại.
Hình 4.28: Cơ sở dữ liệu diphone
Ví dụ 3: Đọc một đoạn văn bản. Chọn tab Reading gõ đoạn văn bản vào Textbox rồi chọn Read, chương trình sẽ đọc văn bản ra loa.
TÀI LIỆU THAM KHẢO
1. Dư Thanh Bình "Dò tìm tần số cơ bản trong xử lý tiếng nói" Đại hoc Bách Khoa Hà Nội, 2001
2. Nguyễn Quốc Trung "Xử lý tín hiệu và lọc số" Nhà xuất bản khoa học và kỹ thuật, 2001
3. Trịnh Văn Loan "Các bài giảng về xử lý tiếng nói" Đại hoc Bách Khoa Hà Nội, 1998
4. Quách Tuấn Ngọc "Xử lý tín hiệu số" Nhà xuất bản giáo dục, 1997 5. Văn Ngọc An "Luận văn tổng hơp tiếng Việt bằng giải thuật TD-
PSOLA" Đại học Bách khoa Hà Nội, 2002 6. http://www.codeproject.com
7. Thierry Dutoit "An Introduction to Text-to-Speech Synthesis" 1997 8. Thierry Dutoit "High quality Text-to-Speech synthesis of the France language" 1993
TÓM TẮT
Với đề tài: Xây dựng công cụ khảo sát ảnh hưởng của các tham số cơ bản đến chất lượng tiếng nói bộ tổng hợp tiếng Việt dùng TD-PSOLA, luận văn này bao gồm các nội dung sau:
• Chương 1: Nghiên cứu lý thuyết về tiếng nói và xử lý tiếng nói bao gồm: bộ máy phát âm, mô hình biểu diễn tiếng nói, các đặc tính âm học của tiếng nói, mô hình tạo và xử lý tiếng nói.
• Chương 2: Tổng hợp tiếng nói trình bầy về các phương pháp tổng hợp tiếng nói, mô hình của phương pháp tổng hợp tiếng nói từ văn bản và so sánh các phương pháp tổng hợp.
• Chương 3: Trình bầy về giải thuật TD-PSOLA, phân tích và tổng hợp TD- PSOLA, quá trình thay đổi tần số cơ bản của tín hiệu nhờ giải thuật TD- PSOLA, các vấn đề liên quan khi tổng hợp tiếng nói dùng TD-PSOLA như làm trơn tín hiệu và cân bằng năng lượng sau khi áp dụng giải thuật.
• Chương 4: Thiết kế và xây dựng ứng dụng khảo sát và tổng hợp tiếng Việt. Chương này tiến hành phân tích giải thuật TD-PSOLA, thống kê các diphone tiếng Việt, xây dựng cơ sở dữ liệu diphone, phương án xử lý và phân tích văn bản, đưa TD-PSOLA vào ứng dụng. Dùng công cụ tiến hành khảo sát quá trình thay đổi các tham số cơ bản như tần số cơ bản, năng lượng và đánh giá chất lượng tiếng nói tổng hợp thu được.