Text-to-Speech
Chuyển văn bản thành giọng nói (TTS) biến văn bản viết thành giọng nói tự nhiên bằng model âm học neural, vocoder và model token âm thanh dành cho trợ lý và công nghệ hỗ trợ tiếp cận.
Chuyển văn bản thành giọng nói (TTS), còn gọi là tổng hợp tiếng nói, chuyển văn bản viết thành âm thanh lời nói. Hệ thống TTS xác định cách phát âm từng từ, thời lượng của từng âm và sự thay đổi cao độ cùng trọng âm trong câu, sau đó tạo dạng sóng âm thanh. Các hệ thống cũ ghép các đoạn ghi âm lời nói hoặc tạo âm thanh từ model thống kê, nên giọng nói nghe tổng hợp rõ rệt. Deep learning đã thay đổi điều đó: WaveNet của DeepMind tạo âm thanh thô từng mẫu một vào năm 2016; đến năm 2017, Tacotron 2 của Google đạt điểm đánh giá chủ quan trung bình 4.53 trên 5, so với 4.58 của bản ghi âm chuyên nghiệp. Các hệ thống hiện nay có thể nói nhiều ngôn ngữ bằng nhiều giọng, sao chép giọng nói từ vài giây âm thanh và làm theo chỉ dẫn về sắc thái giọng nói, hỗ trợ trình đọc màn hình, trợ lý giọng nói, sách nói và AI hội thoại. TTS là chiều ngược lại của chuyển giọng nói thành văn bản.
Cách thức hoạt động của chuyển văn bản thành giọng nói#
Mọi hệ thống đều bắt đầu bằng bước xử lý văn bản đầu vào. Chuẩn hóa văn bản chuyển số, ngày tháng, đơn vị tiền tệ và chữ viết tắt thành từ ngữ. Vì vậy, câu “Dr. Lee paid $3.50” trở thành “Doctor Lee paid three dollars and fifty cents”; quá trình chuyển tự vị thành âm vị sẽ chọn cách phát âm, kể cả với những từ như “read” có cách đọc phụ thuộc vào thì. Nhiều model còn dự đoán ngữ điệu, bao gồm thời lượng, cao độ và năng lượng của từng âm. Sau đó, hai nhóm phương pháp chính tạo ra âm thanh:
- Model âm học kết hợp vocoder: Model âm học dự đoán phổ mel, một biểu diễn cô đọng về cách năng lượng phân bố theo tần số và thời gian; vocoder nơ-ron chuyển phổ này thành dạng sóng âm thanh. Tacotron 2 dự đoán phổ theo cơ chế tự hồi quy, từng khung hình một. FastSpeech dự đoán phổ song song dựa trên thời lượng từng âm vị, và tạo phổ mel nhanh hơn transformer tự hồi quy 270 lần. Vocoder HiFi-GAN tổng hợp âm thanh 22.05 kHz nhanh gấp 167.9 lần thời gian thực trên một GPU V100. Voicebox và F5-TTS cũng dự đoán phổ mel theo cơ chế không tự hồi quy, sử dụng flow matching, rồi đưa phổ vào vocoder.
- Model ngôn ngữ token âm thanh: VALL-E của Microsoft biểu diễn lời nói dưới dạng token rời rạc từ codec âm thanh nơ-ron và tạo ra chúng bằng model ngôn ngữ transformer, tương tự cách LLM tạo văn bản. Khi được gợi ý bằng bản ghi âm 3 giây của một người nói chưa từng gặp, model tiếp tục bằng chính giọng nói đó.
Các model end-to-end như VITS gộp model âm học và vocoder thành một mạng được huấn luyện trong một giai đoạn duy nhất; còn các model đa phương thức như GPT-4o tạo lời nói trực tiếp trong câu trả lời mà không cần bước TTS riêng.
Chuyển văn bản thành giọng nói và các thuật ngữ liên quan#
- Chuyển giọng nói thành văn bản: Chiều ngược lại, chuyển lời nói thành văn bản. Trợ lý giọng nói kết hợp hai quy trình: chuyển giọng nói của người dùng thành văn bản, dùng model ngôn ngữ lớn soạn câu trả lời rồi dùng TTS đọc câu trả lời đó.
- Sao chép giọng nói: TTS tạo giọng của một người cụ thể từ đoạn ghi âm tham chiếu ngắn hoặc bằng cách tinh chỉnh trên bản ghi âm của người đó. Nếu được sử dụng khi chưa có sự đồng ý, công nghệ này có thể tạo ra deepfake âm thanh.
- Chuyển đổi giọng nói: Nhận lời nói đã ghi âm làm đầu vào và thay đổi danh tính người nói trong khi vẫn giữ nguyên từ ngữ và cách thể hiện. TTS bắt đầu từ văn bản.
Ứng dụng thực tế#
- Khả năng tiếp cận: Trình đọc màn hình đọc to các thành phần giao diện và tài liệu cho người mù hoặc thị lực kém; người bị mất giọng có thể nhập tin nhắn để giọng nói tổng hợp đọc thay.
- Trợ lý giọng nói và agent: Agent dịch vụ khách hàng, trợ lý trên xe và loa thông minh đọc câu trả lời được tạo ra, thường phát trực tuyến câu đầu tiên trong khi phần còn lại của câu trả lời vẫn đang được soạn.
- Sách nói, lồng tiếng và học trực tuyến: Nhà xuất bản và đơn vị tạo khóa học thuyết minh văn bản dài bằng giọng nói nhất quán qua nhiều ngôn ngữ.
- Điều hướng: Chỉ đường theo từng chặng giúp tài xế tập trung nhìn đường.
Kết hợp với thị giác máy tính, TTS mô tả thế giới vật lý bằng lời, chẳng hạn trên các thiết bị hỗ trợ cho người mù biết những gì đang ở phía trước. Đoạn mã này chạy phát hiện đối tượng bằng Ultralytics YOLO26 trên ảnh đường phố và đọc kết quả bằng gTTS, thư viện Python dành cho dịch vụ chuyển văn bản thành giọng nói của Google Translate:
from collections import Counter
from gtts import gTTS
from ultralytics import YOLO
# Detect objects in a street photo with YOLO26
model = YOLO("yolo26n.pt")
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]
# Count detections per class and turn them into a sentence
counts = Counter(result.names[int(c)] for c in result.boxes.cls)
sentence = "I can see " + ", ".join(f"{n} {name}" for name, n in counts.items())
# Synthesize the sentence and save it as an MP3 file
gTTS(text=sentence, lang="en").save("detections.mp3")Tệp detections.mp3 đã lưu sẽ đọc một câu liệt kê từng lớp được phát hiện cùng số lượng tương ứng. gTTS gửi văn bản đến máy chủ của Google, vì vậy script cần kết nối Internet.
Đánh giá chất lượng giọng nói#
- Điểm đánh giá chủ quan trung bình (MOS): Người nghe đánh giá độ tự nhiên theo thang điểm từ 1 đến 5; bản ghi âm người thật là mức cao nhất.
- Độ dễ hiểu: Model nhận dạng giọng nói phiên âm âm thanh tổng hợp; tỷ lệ lỗi từ so với văn bản đầu vào cho biết tần suất từ bị sai, bị bỏ qua hoặc bị lặp. Voicebox đạt tỷ lệ lỗi từ 1,9% trong TTS zero-shot, so với 5,9% của VALL-E.
- Độ tương đồng người nói: Với giọng nói được sao chép, độ tương đồng cosine giữa các embedding người nói của âm thanh được tạo và âm thanh tham chiếu cho biết mức độ tương đồng của giọng nói.
- Hệ số thời gian thực (RTF): Thời gian tổng hợp chia cho thời lượng âm thanh. F5-TTS công bố RTF 0.15, tức tạo 10 giây lời nói trong 1.5 giây.










