Text-to-Speech
Tổng hợp giọng nói — AI biết nói
Khi TTS đọc câu 'Hà Nội 36°C', AI xử lý '36°C' như thế nào?
TTS hiện đại không chỉ đọc văn bản mà còn diễn đạt cảm xúc. Cùng một câu "Hà Nội hôm nay thật đẹp" nhưng mỗi phong cách giọng mang lại cảm nhận hoàn toàn khác.
Hình minh họa
Chọn phong cách giọng nói:
Trung tính: Giọng đọc tin tức VnExpress — rõ ràng, không cảm xúc quá mức.
Câu 'Tôi ở số 10/3 Nguyễn Huệ' — TTS cần xử lý '10/3' như thế nào?
Giải thích
Text-to-Speech (TTS) là công nghệ chuyển đổi văn bản thành giọng nói tự nhiên — ngược lại với bài toán nhận dạng giọng nói (ASR) chuyển âm thanh thành chữ. TTS hiện đại không chỉ phát âm chính xác mà còn thể hiện ngữ điệu, cảm xúc, và phong cách nói.
1. Text Normalization: Chuyển số, viết tắt, ký hiệu thành dạng đọc. Ví dụ: "TP.HCM" thành "Thành phố Hồ Chí Minh", "50.000đ" thành "năm mươi nghìn đồng".
2. Prosody Prediction: Dự đoán nhịp điệu, trọng âm, ngắt nghỉ. Câu hỏi có ngữ điệu lên, câu trần thuật có ngữ điệu xuống.
3. Acoustic Model: Tạo Mel-spectrogram — biểu diễn trung gian tần số-thời gian. Các mô hình: VITS, FastSpeech2, Tacotron2.
4. Vocoder: Chuyển Mel-spectrogram thành sóng âm thực. HiFi-GAN là vocoder phổ biến nhất, tạo âm thanh 22kHz chất lượng cao.
Mô hình F0 (fundamental frequency) cho thanh điệu tiếng Việt:
là tần số cơ bản của giọng (nam ~120Hz, nữ ~220Hz). là biến thiên do thanh điệu từ (6 thanh). là biến thiên ngữ điệu câu (hỏi, trần thuật, cảm thán).
# TTS tiếng Việt với VITS (end-to-end)
from TTS.api import TTS
# Tải mô hình TTS tiếng Việt
tts = TTS(model_name="tts_models/vi/vits/vivos")
# Đọc tin VnExpress bằng giọng tự nhiên
text = "Hà Nội hôm nay nhiệt độ 36 độ C, "
text += "người dân được khuyến cáo hạn chế ra ngoài "
text += "từ 11 giờ đến 15 giờ chiều."
tts.tts_to_file(
text=text,
file_path="tin-thoi-tiet.wav",
speed=1.0, # Tốc độ đọc (1.0 = bình thường)
)
# Voice cloning — nhân bản giọng nói từ 10 giây mẫu
tts_clone = TTS(model_name="tts_models/multilingual/multi-dataset/xtts_v2")
tts_clone.tts_to_file(
text="Xin chào, tôi là trợ lý ảo tiếng Việt",
speaker_wav="giong-mau-10s.wav", # File giọng mẫu
language="vi",
file_path="giong-nhan-ban.wav",
)Đọc tin tức tự động: Các báo điện tử (VnExpress, Tuổi Trẻ) đang thử nghiệm đọc bài báo bằng TTS, giúp người dùng nghe tin khi lái xe.
Trợ lý ảo: Viettel Cyberbot, FPT.AI cung cấp TTS tiếng Việt cho tổng đài tự động ngân hàng, bệnh viện.
Audiobook: Chuyển sách/truyện tiếng Việt thành sách nói — phục vụ người khiếm thị và người bận rộn.
Giáo dục: TTS đọc đề thi, bài giảng cho học sinh khuyết tật thị giác theo Thông tư 32 Bộ Giáo dục.
- TTS pipeline: Text Normalization → Prosody → Acoustic Model (Mel-spectrogram) → Vocoder (sóng âm).
- Text normalization là bước phức tạp nhất cho tiếng Việt: số, viết tắt, địa chỉ cần hiểu ngữ cảnh.
- 6 thanh điệu tiếng Việt quyết định F0 contour — nhầm thanh = nhầm nghĩa hoàn toàn.
- TTS neural (VITS, XTTS) sinh sóng âm mới, khác hẳn TTS ghép nối cũ.
- Voice cloning cần chỉ 3-10 giây mẫu — mạnh mẽ nhưng cũng nguy hiểm cho lừa đảo.
Kiểm tra hiểu biết
Câu '109 Trần Hưng Đạo, Q.1, TP.HCM' cần bước xử lý nào trước khi TTS đọc?