Tổng hợp tiếng nói (Speech synthesis) là bài toán cơ bản trong bài toán lớn về giao tiếp giữa người và máy (Human-Machine Interface).Tuy là một bài toán có hàng nghìn năm tuổi, với những khởi đầu khá thô sơ, nhưng cho đến ngày nay vẫn là bài toán đang được tiếp tục giải với sự tham gia của rất nhiều “ông lớn” cùng những tham vọng khác nhau.
I. LỊCH SỬ PHÁT TRIỂN
1. Kì vọng về một cỗ máy phát ra tiếng người
Từ rất lâu rồi, khi mà khoa học bắt đầu le lói, khi mà con người chưa hề biết đến tín hiệu điện tử (Electronic Signal) thì đã có những người theo đuổi 1 cỗ máy có thể phát ra tiếng người. Và có những cái tên trở thành lịch sử như Pope Silvester II (năm 1003 sau công nguyên), Albertus Magnus (1198–1280), Roger Bacon (1214–1294).
Hình 1: Roger Bacon
2. Cỗ máy nói tiếng người
Cỗ máy nói tiếng người (Speaking machine) của Wolfgang von Kempelen là một trong những cỗ máy đơn giản nhưng thật sự ấn tượng.
Tham khảo video thử nghiệm Speaking machine: https://www.youtube.com/watch?v=zYRVqrfY3tQ
3. Máy chuyển văn bản thành giọng nói
Cỗ máy chuyển văn bản thành giọng nói (Text to Speech) đáng được chú ý nhất, thực sự được coi là hiệu quả nhất được cả thế giới biết đến là của Stephen Hawking (1980).
4. Tổng hợp tiếng nói với thật nhiều ý nghĩa
Ngày nay, sau sự thành công trong việc đưa tiếng nói nhân tạo tới người dùng của Siri, từ khóa tổng hợp tiếng nói (Speech Synthesis) được ra đời với thật nhiều ý nghĩa.
Siri
Khác với bài toán chuyển văn bản thành giọng nói (Text to Speech) mục tiêu là làm cách nào đó đọc được văn bản, bài toán tổng hợp tiếng nói (Speech Synthesis) là một bài toán phức của nhiều vấn đề con liên quan (Linguistics {Phonology, Morphology}, Digital Signal Processing, Computer Science…) với mục đích là làm thế nào để đọc được văn bản một cách tự nhiên nhất.
Đỉnh cao của công nghệ tổng hợp tiếng nói – Hatsune Miku
Tham khảo : https://www.youtube.com/watch?v=qmf9JkedPR8
II. PHƯƠNG PHÁP TIẾP CẬN TỔNG HỢP TIẾNG NÓI
Về cơ bản, với các cách tiếp cận khác nhau cũng tạo lên các phương pháp khác nhau và chúng đồng thời tồn tại cho tới ngày nay
Ghép nối
Tham số hóa
Ý tưởng
Khi bộ nhớ của máy tính bắt đầu lên đến hàng Gigabyte, đủ sức chứa nhiều tập tin, người ta bắt đầu nghĩ đến 1 cách tiếp cận khác.
Bước 1: Thu âm các đoạn con khác nhau
Bước 2: Tách văn bản thu âm được thành các đoạn con giống đã thu âm
Bước 3: Đem ghép lại thành 1 đoạn âm thanh dài hoàn thiện
Bước 1: Thu âm các câu khác nhau
Bước 2: Chuyển đổi các file âm thanh đó thành những con số đặc trưng khác nhau (chuyển đổi sang không gian khác để học):
  • Tần số cơ bản (F0)
  • Phổ tần số (Spectrum)
  •  Ngôn điệu (Prosody)
………….
Bước 3: Dựa vào các con số trên và các nhãn chuẩn bị sẵn để học ra mô hình âm thanh (Acoustic model).
Bước 4: Đem văn bản đầu vào đi qua mô hình âm thanh để ra được các đặc trưng như bước 2 rồi dùng Vocoder chuyển ngược lại thành âm thanh
Các phương pháp tổng hợp tiếng nói (theo Junichi Yamagishi)
1. Ghép nối
Unit Selection Synthesis
Ghép nối là một cách tiếp cận đơn giản,  trong điều kiện lý tưởng (câu cần đọc có sẵn trong dữ liệu) thì là tuyệt vời. Tuy nhiên thường thì câu cần đọc sẽ không bao giờ hoàn toàn có trong dữ liệu, vì vậy hiện tượng xô lệch âm thanh trong cách tiếp cận này đến giờ vẫn là một vấn đề đau đầu của rất nhiều nhà khoa học.
Ngày nay được biết đến với từ khóa Unit Selection Synthesis, là một phương pháp nâng cấp rất nhiều từ ý tưởng ban đầu:
  • Đơn vị để chọn được đem ra được tùy biến: trong từng trường hợp trong cùng một hệ thống, đơn vị có thể là 1 câu đã thu âm sẵn hoặc một đoạn nhỏ trong 1 câu đã thu âm sẵn
  • Mở rộng tiêu chí để chọn, không chỉ dựa vào text của unit, mà label của unit lúc này còn bao gồm cả ngữ cảnh (unit trước là gì, sau là gì,…..) và các đặc trưng về signal như Power, Spectrum, Prosody,….
  • Thuật toán để chọn cũng phức tạp hơn, tại thời điểm hiện tại, sử dụng HMM để tìm ra chuỗi con tối ưu là cách được rất nhiều người chọn.
  • Cách ghép các đoạn đã chọn cũng nhiều khi cũng được nâng cấp với các phương pháp làm mịn các đoạn biên giới giữa các unit
2. Tham số hóa
Tham số hóa là phương pháp được nhắc đến những năm gần đây với nhiều bước tiến khác nhau.
Bước hiện tại: HMM-Based
HMM-Based Speech Synthesis
Là phương pháp được biết đến nhiều nhất tại bước hiện tại, trong đó âm thanh được chia nhỏ thành các âm vị bao gồm 1 dãy các cửa sổ, rồi transform sang một không gian nhiều chiều khác. Sử dụng các giá trị trên không gian này cùng với label để tiến hành Training để được mô hình âm thanh cho giọng nói. Sau đó khi cần tổng hợp thì sẽ suy ngược lại từ các giá trị này ra âm thanh.
Tạo âm thanh từ vocoder
Bước tiếp theo: áp dụng Deep Neural Network (DNN)
Hiện nay áp dụng DNN vào trong tổng hợp tiếng nói đang được thử nghiệm rất nhiều trong năm 2016 với nhiều cách cụ thể khác nhau như DNN-HMM, DNN-DNN, MTLDNN, MTLDNN- MTLDNN,… Dự báo sẽ có 1 phương pháp cụ thể sẽ được public vào cuối năm nay.
Natural, HMM và DNN
3. Phương pháp lai của 2 phương pháp trên
 
Phương pháp lai giữa 2 phương pháp trên được nhắc đến với Microsoft (Plumpe-1998), OGI (Wouters-2000), Waseda Univ. (Okubo-2006), Cereproc (Aylett-2008), Nuance (Pollet-2008) với ý tưởng như sau:
  • Đơn vị để lựa chọn có thể cũng là đơn vị được tổng hợp ra
  • Đường biên giữa các đơn vị sẽ dùng HMM-statistics để làm mịn
  • Sử dụng Spectral Smoothing để làm mượt âm thanh
III. FPT OPEN API – VIETNAMESE SPEECH SYNTHESIS API
Hiện tại FPT đang public API về tổng hợp tiếng nói tại địa chỉ http://openfpt.vn. Hệ thống đang cho phép người dùng đăng kí và sử dụng miễn phí.
Bùi Tấn Quang – FTI FHO
Nghiên cứu và xử lý tiếng nói Kì I: https://techinsight.com.vn/nghien-cuu-va-xu-ly-tieng-noi-ki-i-mot-so-khai-niem-can-ban/
Tin liên quan: