Tổng hợp tiếng nói ⚡ Text To Speach Ai Viettel
Công nghệ cho phép tự động chuyển đổi văn bản thành tiếng nói Tiếng Việt giúp doanh nghiệp tự động hóa quá trình cung cấp sản phẩm dịch vụ, nâng cao hiệu quả hoạt động sản xuất kinh doanh. Giọng đọc nhân tạo Viettel AI có ngữ điệu tự nhiên, đa dạng vùng miền, dễ dàng tích hợp với mọi hệ thống
Tính Năng Cơ Bản
Giọng nói tự nhiên
Với việc sử dụng các công nghệ tiên tiến thế giới về xử lý ngôn ngữ tự nhiên, xử lý tiếng nói, học sâu, hệ thống tổng hợp cho giọng đọc tự nhiên, ngắt nghỉ tự động và kết hợp biểu cảm chính xác
Giọng đọc đa dạng
Hiện tại chúng tôi cung cấp giọng đọc báo, đọc truyện với cả 3 vùng miền: Bắc (3 giọng nữ, 2 giọng nam), Trung (1 giọng nữ, 1 giọng nam), Nam (3 giọng nữ, 1 giọng nam)
Đáp ứng nhanh chóng
Sử dụng số lượng lớn các máy chủ mạnh với công nghệ tính toán song song cho phép đáp ứng nhanh chóng mọi yêu cầu của khách hàng, ngay cả trong trường hợp tải tăng đột biến
Ứng Dụng Thực Tế
Hệ thống thông báo, IoT, Robotics
Hỗ trợ các hệ thống thông báo, phát thanh, hướng dẫn tại sân bay, đài truyền hình, bệnh viện hoặc Smart Home…
Thuyết minh / Tổng đài tự động
Tiết kiệm chi phí, thời gian, tăng năng suất và chất lượng cho các dịch vụ thuyết minh, bán hàng hoặc CSKH qua điện thoại
Sách / Báo nói
Cho phép người dùng lắng nghe nội dung trực tiếp trên các trang sách báo online khi đi đường, lái xe, đi tàu. Đặc biệt hỗ trợ người khiếm thị
Tổng hợp tiếng nói và ứng dụng
Tổng hợp tiếng nói (TTS: Text to Speech) về bản chất là quá trình tạo tín hiệu tiếng nói từ văn bản. Một hệ thống tổng hợp tiếng nói có thể được ứng dụng trong rất nhiều bài toán khác nhau có thể lấy ví dụ như báo nói Dân trí, một sản phẩm mà tôi đã tham gia phát triển, ngoài ra các ứng dụng của trí tuệ nhân tạo như trợ lý ảo, tổng đài tự động,… đều cần mô đun đầu ra là hệ thống tổng hợp tiếng nói. Hiện nay có rất nhiều sản phẩm thuộc các chủng loại khác nhau được ứng dụng vào các mục đích khác nhau, nhưng lớn mạnh nhất phải kể đến các sản phẩm được phân phối trên Google Cloud, Amazon Web Services, Microsoft Azure. Những cloud này cho phép các bạn tích hợp hệ thống TTS của họ vào các sản phẩm cá nhân của mình. Ở Việt Nam và dành cho tiếng Việt cũng có các sản phẩm nổi bật như sản phẩm của Viettel, FPT hay Vbee.
Lịch sử phát triển
Tổng hợp tiếng nói về bản chất là quá trình tạo tín hiệu tiếng nói từ văn bản. Trong nhiều năm trở lại đây, người ta cố gắng tạo ra một hệ thống tổng hợp sao cho có độ tự nhiên cao nhất (Naturaless) và đọc dễ hiểu nhất (Intelligibility).
Một trong những nghiên cứu đầu tiên mà ta phải nói đến chính là mô hình mô phỏng hệ thống cấu âm của con người do nhà khoa học người đan mạch Christian Kratzentein phát triển, hệ thống đơn giản này có thể phát ra được âm thanh của một số nguyên âm dài như (/a/, /e/, /i/, /o/, và /u/), ngoài ra nhiều phiên bản cải tiến cũng được phát triển trong thời gian sau đó. Tuy nhiên trải qua một quá trình dài phát triển, ngay cả tới tận thế kỷ 19 các nghiên cứu tổng hợp tiếng nói vẫn còn ở mức đơn giản.
Tới đầu thế kỷ 20, khi mà có sự lớn mạnh của các hệ thống điện tử, thì các hệ thống tổng hợp có chất lượng mới được phát triển. Năm 1937, The Bell Telephone Laboratory đã giới thiệu VODER (Voice Operating Demonstator), đây có thể nói là hệ thống điện tử đầu tiên của con người có thể tổng hợp tiếng nói bằng cách phân tích các đặc trưng âm học.
Ngoài các hệ thống tổng hợp tiếng anh thì tới năm 1975 MUSA được giới thiệu với khả năng tổng hợp tiếng ấn độ. Nhưng vẫn chưa có gì gọi là tổng hợp nhiều ngôn ngữ cả, phải tới khi Bell labs công bố nghiên cứu của họ về việc tổng hợp đa ngôn ngữ dựa trên các hướng tiếp cận “Xử lý ngôn ngữ tự nhiên” năm 1997 thì lĩnh vực này mới bắt đầu được khai thác. Nhìn chung, đến thời điểm này chất lượng của các hệ thống tổng hợp vẫn còn rất tệ, phải đến đầu những năm 2000 chất lượng và độ tự nhiên mới có sự nhảy bậc khi áp dụng tổng hợp thống kê dựa trên các mô hình Markov ẩn. Gần đây những nghiên cứu về mạng nơ ron học sâu được dẫn đầu bởi Google đã cho thấy những bước tiến nổi bật khi áp dụng vào tổng hợp tiếng nói, chất lượng đã đạt đến độ rất cao và khó có thể phân biệt là người hay máy nói.
Các phương pháp tổng hợp tiếng nói
Hiện nay có hai hướng tiếp cận chính về tổng hợp tiếng nói: Hướng tiếp cận cổ điển, một hệ thống tổng hợp tiếng nói sẽ được phân ra làm hai phần chính gồm có phần xử lý ngôn ngữ tự nhiên và phần xử lý tổng hợp tiếng nói Hình 1. Hướng đi thứ hai là tổng hợp End to End, tức là toàn bộ quá trình từ huấn luyện hay tổng hợp chỉ cần chuẩn bị dữ liệu gồm có các tệp âm thanh và văn bản tương ứng, ngoài ra không cần nhiều kiến thức về ngôn ngữ học để xây dựng hệ thống.
![]() |
Hình 1: Kiến trúc chung của các hệ thống tổng hợp tiếng nói theo hướng cổ điển. |
Tổng hợp mô phỏng hệ thống phát âm
Tổng hợp mô phỏng hệ thống phát âm là các kỹ tổng hợp giọng nói dựa trên mô hình máy tính để mô phỏng các hệ thống phát âm của con người và mô phỏng quá trình tạo ra tiếng nói trên hệ thống đó. Tổng hợp dựa trên mô phỏng hệ thống phát âm hầu hết chỉ dành cho nghiên cứu. Lý do là vì mục tiêu của phương pháp này là mô phỏng quá trình tạo tiếng nói sao cho càng giống cơ chế của con người càng tốt, nên về lý thuyết có thể xem đây là phương pháp cơ bản nhất, nhưng cũng vì vậy mà phương pháp này khó thực hiện và chất lượng đầu ra thường không cao. Thời điểm hiện nay phương pháp này khó có thể được ứng dụng tại Việt Nam.
Tổng hợp tần số Formant
Tổng hợp tần số Formant là tổng hợp không sử dụng mẫu giọng thật nào khi chạy, thay vào đó tín hiệu được tạo ra bởi một mô hình tuyến âm. Mô hình này mô phỏng hiện tượng cộng hưởng của các cơ quan phát âm bằng một tập hợp các bộ lọc. Các bộ lọc này được gọi là các bộ lọc cộng hưởng Formant, chúng có thể được kết hợp song song hoặc nối tiếp hoặc cả hai. Hình hai biểu diễn mô hình tổng hợp Formant nối tiếp, trong đó đầu ra của bộ cộng hưởng này là đầu vào của bộ cộng hưởng kia:
![]() |
Hình 2: Hệ thống tổng hợp Formant nối tiếp. |
Nhược điểm của phương pháp này là tạo ra giọng nói không tự nhiên, nghe rất “máy”. Ưu điểm nhỏ gọn và chạy nhanh.
Tổng hợp ghép nối
Tổng hợp ghép nối là phương pháp dựa trên việc ghép nối các đoạn tín hiệu tiếng nói đã được ghi âm từ trước, xem mô tả cách hoạt động trên Hình 3. Đơn vị âm phổ biến là âm vị âm tiết, bán âm tiết, âm đôi, âm ba, từ cụm tư. Do đặc tính tự nhiên của tiếng nói được ghi âm và lưu trữ trong các đơn vị âm, nên tổng hợp ghép nối là phương pháp có khả năng tổng hợp tiếng nói với mức độ dễ hiểu và tự nhiên cao. Tuy nhiên, do giọng nói tự nhiên được ghi âm thay đổi từ lần phát âm này sang lần phát âm khác, và công nghệ tự động hóa việc ghép nối các đoạn của tín hiệu thỉnh thoảng tạo những tiếng cọ sát không tự nhiên ở đoạn ghép.
![]() |
Hình 3: Quá trình tổng hợp ghép nối |
Có ba kiểu tổng hợp ghép nối chính:
- Tổng hợp chọn đơn vị (Unit selection)
- Tổng hợp âm kép (Diphone)
- Tổng hợp chuyên biệt (Domain-specific)
Tổng hợp chọn đơn vị dùng một cơ sở dữ liệu lớn các giọng nói ghi âm. Trong đó, mỗi câu được tách thành các đơn vị khác nhau như: các tiếng đơn lẻ, âm tiết, từ, nhóm từ hoặc câu văn. Một bảng tra các đơn vị được lập ra dựa trên các phần đã táchvà các thông số âm học như tần số cơ bản, thời lượng, vị trí của âm tiết và các tiếng gần nó. Khi chạy các câu nói được tạo ra bằng cách xác định chuỗi đơn vị phù hợp nhất từ cơ sở dữ liệu. Quá trình này được gọi là chọn đơn vị và thường cần dùng đến cây quyết định được thực hiện. Thực tế, các hệ thống chọn đơn vị có thể tạo ra được giọng nói rất giống với người thật, tuy nhiên để đạt độ tự nhiên cao thường cần một cơ sở dữ liệu lớn chứa các đơn vị để lựa chọn.
Tổng hợp âm kép là dùng một cơ sở dữ liệu chứa tất cả các âm kép trong ngôn ngữ đang xét. Số lượng âm kép phụ thuộc vào đặc tính ghép âm học của ngôn ngữ. Trong tổng hợp âm kép chỉ có một mẫu của âm kép được chứa trong cơ sở dữ liệu, khi chạy thì lời văn được chồng lên các đơn vị này bằng kỹ thuật xử lý tín hiệu số nhờ mã tuyên đoán tuyến tính hay PSOLA. Chất lượng âm thanh tổng hợp theo cách này thường không cao bằng phương pháp chọn đơn vị nhưng tự nhiên hơn cộng hưởng tần số và ưu điểm của nó là có kích thước dữ liệu nhỏ.
Tổng hợp chuyên biệt (Domain-specific) là phương pháp ghép nối từ các đoạn văn bản đã được ghi âm để tạo ra lời nói. Phương pháp này thường được dùng cho các ứng dụng có văn bản chuyên biệt, cho một chuyên nghành, sử dụng từ vựng hạn chế như các thông báo chuyến bay hay dự báo thời tiết. Công nghệ này rất đơn giản và đã được thương mại hóa từ lâu. Mức độ tự nhiên của hệ thống này có thể rất cao vì số lượng các câu nói không nhiều và khớp với lời văn, âm điệu của giọng nói ghi âm. Tuy nhiên hệ thống kiểu này bị hạn chế bởi cơ sở dữ liệu chuyên biệt không áp dụng được cho miền dữ liệu mở.
Tổng hợp dùng tham số thống kê
Tiếp theo đây chúng ta sẽ xem xét về phương pháp tổng hợp tiếng nói đang được sử dụng rộng rãi, đó là tổng hợp dựa trên tham số thống kê. Trước đây tổng hợp thống kê thường dựa trên các mô hình Markov ẩn (HMMs), ngày nay mô hình này được thay thế bằng các mạng nơ ron học sâu để ước lượng các tham số đặc trưng âm học từ đầu vào là tham số đặc trưng ngôn ngữ học.
![]() |
Hình 4: Tổng hợp tham số thống kê
Hình 4 mô tả kiến trúc phổ thông của một hệ thống tổng hợp tham số thống kê. Trong đó văn bản đầu vào sẽ được trích chọn thành các đặc trưng ngôn ngữ học bởi bộ Trích chọn đặc trưng ngôn ngữ (Linguistic Features Extraction). Sau đó các đặc trưng ngôn ngữ này đi qua bộ Parameter Generation và bộ này sẽ ước lượng được đặc trưng âm học ở đầu ra. Cuối cùng Vocoder tổng hợp tín hiệu tiếng nói từ những đặc trưng âm học này,Ngoài việc sử dụng riêng rẽ các phương pháp tổng hợp, thì trên thế giới cũng có những nghiên cứu về tổng hợp lai ghép ví dụ như lai ghép giữa tổng hợp thống kê và tổng hợp ghép nối để tận dụng những hưu điểm của hai phương pháp này. Tổng hợp End to EndTổng hợp End to end là phương pháp mới được phát triển trong những năm gần đây. Mục tiêu của phương pháp này là tạo ra hệ thống tổng hợp có chất lượng cao nhất mà không cần dùng đến các kiến thức chuyên gia dựa trên các mạng nơ ron học sâu. Một kiến trúc nổi bật của phương pháp này có thể kể đến Tacotron2 của Google hay FastSpeech của Microsoft. Kiến trúc chung hay được sử dụng của một hệ thống End to End gồm có hai phần chính là: Phần tạo Mel spectrogram từ chuỗi ký tự đầu vào và phần chuyển hóa Mel spectrogram thành tín hiệu tiếng nói. Hình 5 mô tả kiến trúc một hệ thống tổng hợp End to End, trong đó phần tạo Mel spectrogram gồm hai mô đun là Embedder để chuyển hóa chuỗi ký tự thành chuỗi các véc tơ biểu diễn, sau đó mô đun Sequence to Sequence sẽ ước lượng Mel spectrogram từ chuỗi véc tơ này. Cuối cùng từ Mel spectrogram được chuyển hóa thành tín hiệu tiếng nói nhờ Neural Vocoder. ![]() |