Công cụ đọc văn bản thành giọng nói TTS là gì?
Công cụ đọc văn bản thành giọng nói TTS là công cụ chuyển nội dung chữ thành lời đọc để người dùng nghe trực tiếp. Bạn cung cấp văn bản đang có, chẳng hạn bản nháp, ghi chú hoặc nội dung học tập; bộ tổng hợp giọng nói của trình duyệt tạo âm thanh từ nội dung đó. Đây là quá trình chuyển chữ thành tiếng nói, không phải ghi âm giọng của bạn hay chuyển lời nói thành chữ.
Công cụ nhận văn bản nhập hoặc dán trực tiếp, cho chọn giọng do trình duyệt cung cấp và điều chỉnh tốc độ, cao độ. Nội dung được nhận diện thành các đoạn theo một số dấu câu rồi gửi để đọc lần lượt. Người dùng có thể dừng và hủy lượt đọc hiện tại.
Kết quả chính là âm thanh phát trực tiếp, không phải tệp âm thanh tải về. Mã hiện có không triển khai tạo MP3, lưu bản thu hay xuất tệp. Vì vậy, công cụ phù hợp với nhu cầu nghe nội dung đang có hơn là tạo một bản âm thanh để lưu trữ hoặc gửi cho người khác.
Danh sách giọng và cách phát âm phụ thuộc trình duyệt, hệ điều hành cùng môi trường sử dụng. Công cụ ưu tiên một giọng tiếng Việt nếu tìm thấy trong danh sách, nhưng không bảo đảm thiết bị nào cũng có giọng đó. Hai người mở cùng trang có thể nhận được những lựa chọn giọng khác nhau.

Đầu vào cần chuẩn bị và kết quả người dùng nhận được
Văn bản và các thông số đọc
Đầu vào là nội dung chữ trong ô văn bản. Trước khi xử lý, công cụ bỏ khoảng trắng ở đầu và cuối. Nếu phần còn lại rỗng, kể cả trường hợp chỉ có dấu cách hoặc xuống dòng, công cụ yêu cầu nhập văn bản và không bắt đầu lượt đọc mới.
Ô nhập đặt giới hạn 50.000 đơn vị mã UTF-16. Đây là cách trình duyệt đo độ dài nội dung, không phải số từ hay số ký tự nhìn thấy trong mọi trường hợp; một số emoji chiếm nhiều đơn vị mã. Dòng giới thiệu khoảng 10.000 từ không tương đương một giới hạn được kiểm tra bằng số từ.
| Thông số | Phạm vi và mặc định | Ý nghĩa |
|---|---|---|
| Giọng đọc | Theo danh sách trình duyệt; ưu tiên giọng đầu tiên có mã ngôn ngữ chứa “vi” nếu có | Quyết định giọng được dùng; không có chức năng tải giọng riêng lên |
| Tốc độ | 0,5x–2,0x; mặc định 1,0x; bước 0,1 | Điều chỉnh nhịp đọc tương đối, không quy định số từ mỗi phút |
| Cao độ | 0,0–2,0; mặc định 1,0; bước 0,1 | Điều chỉnh cảm giác giọng cao hoặc thấp, không phải âm lượng |
Âm thanh, trạng thái và tiến độ
Đầu ra gồm lời đọc cùng thông tin trạng thái trên giao diện. Danh sách giọng hiển thị tên, mã ngôn ngữ và dấu hiệu mặc định nếu trình duyệt cung cấp. Giá trị tốc độ và cao độ được hiển thị với một chữ số thập phân.
Bộ đếm có dạng số nhóm từ đã đọc trên tổng số nhóm từ, nhưng chỉ cập nhật sau các đoạn trung gian. Nó không theo dõi từng từ đang phát. Khi đoạn cuối kết thúc, bộ đếm bị xóa. Hiệu ứng sóng là dấu hiệu trạng thái, không phải đồ thị âm thanh hay thước đo âm lượng.
Thông báo “Đã dừng.” được dùng khi hoàn tất, khi người dùng hủy và khi xảy ra lỗi. Do đó, riêng thông báo này không chứng minh toàn bộ văn bản đã được đọc đầy đủ.

Các thuật ngữ cần hiểu khi điều chỉnh giọng đọc
Tổng hợp giọng nói (TTS)
Tổng hợp giọng nói, viết tắt là TTS, là quá trình tạo lời nói từ văn bản. Trong công cụ này, chữ là đầu vào và âm thanh lời đọc là đầu ra. TTS khác với nhận dạng giọng nói: nhận dạng lấy tiếng nói để tạo chữ, còn TTS đi theo chiều ngược lại. Nó cũng không tự kiểm tra nội dung đúng hay sai. Một câu có lỗi diễn đạt vẫn có thể được đưa vào bộ tổng hợp để đọc.
Giọng đọc và mã ngôn ngữ
Giọng đọc là lựa chọn giọng hoặc bộ tổng hợp do môi trường sử dụng cung cấp. Mã ngôn ngữ mô tả ngôn ngữ hoặc biến thể gắn với giọng đó. Chọn giọng phù hợp có thể giúp lời đọc dễ nghe hơn, nhưng mã ngôn ngữ không bảo đảm mọi tên riêng, từ mượn hay chữ viết tắt đều được phát âm chuẩn. Đặc biệt, chọn giọng tiếng Anh không biến một đoạn tiếng Việt thành bản dịch tiếng Anh.
Tốc độ đọc
Tốc độ đọc là tham số tương đối điều chỉnh nhịp phát lời nói. Mức 1,0x là mức cơ sở của giọng đang dùng, không phải một số từ mỗi phút cố định. Mức thấp hơn hướng đến đọc chậm hơn, mức cao hơn hướng đến đọc nhanh hơn; mức đáp ứng thực tế phụ thuộc bộ tổng hợp. Không nên hiểu 2,0x là cam kết mọi đoạn sẽ có thời lượng chính xác bằng một nửa, vì nhịp nghỉ và xử lý giọng chưa được xác minh.
Cao độ (pitch)
Cao độ, còn được gọi là pitch hoặc cung bậc trên giao diện, là tham số điều chỉnh cảm giác giọng cao hay thấp. Nó khác tốc độ, vốn liên quan đến nhịp đọc, và khác âm lượng, vốn liên quan đến độ lớn tiếng. Các mức 0,0–2,0 ở đây không phải tần số tính bằng Hz. Công cụ không có điều khiển âm lượng riêng trong công cụ; nếu nghe quá nhỏ, thay đổi cao độ không phải cách tăng âm lượng tương đương.
Phân đoạn văn bản
Phân đoạn văn bản là chia nội dung thành những phần để xử lý nối tiếp. Công cụ dùng một số dấu câu làm căn cứ nhận diện đoạn, không phân tích cấu trúc ngôn ngữ đầy đủ như người đọc. Cách gọi “băm nhỏ” trong phần giới thiệu chỉ mô tả việc chia nội dung, không phải băm mật mã. Phân đoạn ảnh hưởng cả phần chữ được gửi để đọc lẫn thời điểm cập nhật bộ đếm, nên dấu câu và khoảng trắng có ý nghĩa thực tế.

Công cụ chia văn bản và đọc nối tiếp như thế nào?
Điểm ngắt câu và thứ tự đọc
Luồng xử lý bắt đầu bằng việc bỏ khoảng trắng ngoài cùng và kiểm tra nội dung. Sau đó, công cụ lấy giọng, tốc độ, cao độ hiện tại rồi nhận diện các đoạn để đọc. Dấu chấm, chấm hỏi và chấm than có thể tạo điểm ngắt khi chuỗi dấu kết thúc được theo sau bởi khoảng trắng hoặc nằm ở cuối toàn bộ nội dung.
Phần cuối không có dấu kết câu vẫn có thể được nhận thành một đoạn. Vì vậy, một đoạn chữ thông thường không chứa các dấu trên sẽ được gửi nguyên đoạn. Không có cơ chế cắt thành những khối có số ký tự cố định. Một nội dung rất dài nhưng thiếu điểm ngắt phù hợp vẫn có thể là một đoạn dài.
Đoạn sau chỉ được gửi khi đoạn trước báo kết thúc. Nếu không nhận diện được đoạn phù hợp nào, công cụ gửi toàn bộ nội dung để đọc một lần. Tuy nhiên, quy tắc nhận diện không bảo đảm giữ đủ chữ với mọi kiểu trình bày; dấu kết câu sát chữ tiếp theo có thể làm bỏ sót một phần nội dung.
Cách tính tiến độ
Công cụ đếm số nhóm ký tự được ngăn cách bởi một hoặc nhiều ký tự khoảng trắng. Có thể hiểu quy tắc là: tổng hiển thị = số nhóm nội dung phân cách bằng khoảng trắng. Đây không phải phân tích từ vựng tiếng Việt; một từ nhiều tiếng có thể đóng góp nhiều nhóm vào bộ đếm.
Sau mỗi đoạn không phải đoạn cuối, số nhóm của đoạn đó được cộng vào tiến độ. Trong lúc một đoạn đang phát, bộ đếm không tăng theo từng từ. Khi đoạn cuối báo kết thúc, giao diện trở về trạng thái dừng và xóa tiến độ thay vì giữ lại số hoàn thành.
Điều gì xảy ra khi dừng hoặc đổi thiết lập?
Giọng, tốc độ và cao độ được lấy lúc bắt đầu rồi giữ cho cả lượt đọc. Thay đổi thanh điều chỉnh khi đang nghe không được áp dụng lại cho các đoạn còn lại. Dừng có nghĩa là hủy, không phải tạm dừng; phát lại xử lý nội dung hiện có từ đầu. Xóa văn bản cũng hủy đọc. Nếu bộ tổng hợp báo lỗi, công cụ hủy lượt đọc và không có bước tự thử lại.

Những tình huống phù hợp để dùng trình đọc văn bản
Nghe lại bản nháp và ghi chú
Nghe lại bản nháp là một cách tham khảo nhịp diễn đạt. Khi một câu nghe khó theo dõi hoặc một ý kéo dài, bạn có thể đối chiếu với bản chữ để cân nhắc cách viết. Công cụ chỉ đọc nội dung đã nhập, không tự tìm lỗi ngữ pháp, đánh dấu câu dài hay đề xuất chỉnh sửa.
Ghi chú học tập cũng phù hợp nếu đã có dưới dạng văn bản. Với nội dung nhiều ý, việc chuẩn bị dấu câu rõ ràng giúp tạo các đoạn đọc dễ theo dõi hơn. Bạn có thể nghe từng phần để đối chiếu thuật ngữ và con số, thay vì mặc định một lượt đọc dài sẽ thể hiện chính xác mọi chi tiết.
Nếu có giọng ngoại ngữ phù hợp, lời đọc có thể dùng để tham khảo cách nghe một đoạn chữ. Đây không phải đánh giá phát âm của người học hoặc bản dịch. Công cụ cũng không nên được xem là giải pháp bảo đảm khả năng tiếp cận cho mọi người hay thay thế hoàn toàn công cụ hỗ trợ chuyên dụng.
Chuẩn bị nội dung sao chép trước khi nghe
Văn bản sao chép có thể chứa ngắt dòng, khoảng trắng hoặc phần chữ không cần nghe. Rà soát trước giúp nội dung rõ ràng hơn, nhất là khoảng trắng sau dấu kết câu. Nếu cần một công đoạn chuẩn bị riêng, bạn có thể cân nhắc trình làm sạch và định dạng văn bản thô. Không có căn cứ trong mã TTS cho thấy hai công cụ tích hợp trực tiếp hoặc tự chuyển dữ liệu cho nhau; nội dung sau khi chuẩn bị vẫn cần được đưa vào ô đọc.

Ví dụ đọc văn bản và cách hiểu tiến độ
Các ví dụ dưới đây được tính theo công cụ. Giả định trình duyệt có giọng khả dụng, bộ tổng hợp báo kết thúc bình thường và không phát sinh lỗi. Những con số là số nhóm theo khoảng trắng, không phải thời lượng âm thanh.
Hai câu có dấu kết thúc rõ ràng
Giả sử nội dung là Xin chào. Hẹn gặp lại!, tốc độ 1,0x và cao độ 1,0. Có tổng cộng 5 nhóm: “Xin”, “chào.”, “Hẹn”, “gặp”, “lại!”. Dấu chấm có khoảng trắng phía sau tạo đoạn đầu; dấu chấm than ở cuối tạo đoạn thứ hai.
- Ban đầu, bộ đếm hiển thị 0 / 5 từ.
- Sau khi đoạn “Xin chào.” kết thúc, bộ đếm thành 2 / 5 từ.
- Đoạn “Hẹn gặp lại!” được gửi tiếp với cùng thiết lập.
- Khi đoạn cuối kết thúc, tiến độ bị xóa và trạng thái chuyển sang “Đã dừng.”.
Không nên chờ bộ đếm giữ lại 5 / 5 sau khi đọc xong. Ví dụ chỉ xác định cách chia và cập nhật giao diện, không xác định giọng sẽ phát âm ra sao hoặc mất bao nhiêu giây.
Một đoạn không có dấu câu
Với Hôm nay trời đẹp, tốc độ 0,8x và cao độ 1,0, tổng là 4 nhóm theo khoảng trắng. Dù không có dấu kết câu, phần cuối vẫn được nhận diện thành một đoạn. Đoạn này cũng là đoạn cuối, nên không có lần cộng tiến độ sau đoạn trung gian.
Theo luồng xử lý, bộ đếm là 0 / 4 từ khi bắt đầu, giữ như vậy trong lúc đọc rồi bị xóa lúc kết thúc. Mức 0,8x là tham số gửi cho bộ tổng hợp; mã không cung cấp công thức tính thời lượng bằng giây.
Thiếu khoảng trắng sau dấu chấm
Với Một.Hai., toàn chuỗi được đếm là một nhóm vì không có khoảng trắng. Dấu chấm sau “Một” không đáp ứng điều kiện điểm ngắt. Theo quy tắc nhận diện trong mã, chỉ phần Hai. được gửi để đọc. Đây là nguy cơ bỏ sót nội dung, không phải xác nhận âm thanh đã phát trên thiết bị.
Một trường hợp khác là ô nhập chỉ chứa dấu cách và xuống dòng. Sau khi bỏ khoảng trắng ngoài cùng, nội dung trở thành rỗng. Công cụ hiện thông báo yêu cầu nhập văn bản và không bắt đầu lượt đọc mới.

Đọc trực tiếp khác gì tạo tệp âm thanh và dịch văn bản?
Nghe trực tiếp và lưu tệp âm thanh
Nghe trực tiếp và tạo tệp âm thanh có thể cùng bắt đầu từ chữ, nhưng đầu ra phục vụ những mục đích khác nhau. Nghe trực tiếp giúp tiếp nhận nội dung trong phiên sử dụng hiện tại. Tạo tệp còn cần một đầu ra có thể lưu, phát lại độc lập hoặc chuyển sang thiết bị khác.
Mã của công cụ này xác nhận việc gửi văn bản tới bộ tổng hợp giọng nói để phát, không có bước xuất tệp. Vì vậy, không nên coi lời đọc đã nghe là một bản MP3 có sẵn để tải. Nhu cầu lưu âm thanh là nhu cầu khác với chức năng phát hiện có.
Chọn ngôn ngữ giọng đọc và dịch nội dung
Chọn giọng tiếng Anh hoặc tiếng Trung là chọn cách bộ tổng hợp đọc chuỗi chữ bạn nhập. Dịch văn bản là chuyển ý nghĩa sang một ngôn ngữ khác, cần tạo nội dung chữ mới. Công cụ hiện không triển khai bước dịch hoặc tự nhận diện ngôn ngữ của văn bản.
Tương tự, đọc chữ đã nhập khác với lấy chữ ra khỏi PDF hay ảnh. Mã không có chức năng nhận tệp, trích xuất PDF hoặc nhận dạng chữ trong ảnh. Nếu nội dung nằm trong tài liệu, việc có bản chữ để đưa vào ô nhập là công đoạn chuẩn bị riêng; không thể mặc định trình đọc sẽ tự xử lý tài liệu gốc.

Giới hạn thực tế và những điều không nên mặc định
Giọng đọc và văn bản dài phụ thuộc môi trường
Công cụ không bảo đảm luôn có giọng tiếng Việt, giọng Google hoặc cùng chất lượng trên mọi thiết bị. Tên giọng phải dựa vào danh sách thực tế mà trình duyệt cung cấp. Chất lượng phát âm và mức đáp ứng tốc độ, cao độ cũng chưa được xác minh cho từng môi trường.
Giới thiệu khoảng 10.000 từ không phải chứng nhận đọc thành công mọi nội dung dài. Đoạn thiếu dấu câu phù hợp có thể không được chia nhỏ, và không có bảo đảm mọi lượt đọc đều liền mạch. Với số thập phân, chữ viết tắt, tên riêng hoặc dấu câu thiếu khoảng trắng, nên đối chiếu lời đọc với bản chữ; không mặc định âm thanh luôn tái hiện đủ nội dung.
Dữ liệu riêng tư và khả năng dùng ngoại tuyến
Mã dùng chức năng tổng hợp giọng nói của trình duyệt, nhưng điều đó chưa chứng minh mọi giọng đều hoạt động trên thiết bị. Chưa xác minh giọng cụ thể dùng bộ máy tại chỗ hay dịch vụ từ xa, khả năng đọc khi mất mạng hoặc hành vi dữ liệu của toàn trang.
Với nội dung riêng tư hoặc nhạy cảm, không nên dựa vào nhãn xử lý phía trình duyệt để kết luận văn bản không bao giờ được truyền đi hay lưu lại. Cần xem chính sách dữ liệu của dịch vụ và môi trường sử dụng trước khi cung cấp nội dung. Công cụ không đủ căn cứ cho bảo đảm bảo mật tuyệt đối.

Câu hỏi thường gặp
Vì sao tôi không thấy giọng tiếng Việt hoặc giọng Google?
Vì công cụ lấy danh sách giọng từ trình duyệt, không cung cấp sẵn một bộ giọng cố định hoặc cam kết tích hợp riêng Google. Danh sách có thể khác theo hệ điều hành và thiết bị, đồng thời có thể được tải sau khi trang mở. Công cụ cập nhật danh sách khi trình duyệt thông báo thay đổi và ưu tiên giọng có mã chứa “vi” nếu tìm thấy. Nếu môi trường không cung cấp giọng đó, mã không có bước tự bổ sung giọng tiếng Việt.
Công cụ có tải lời đọc xuống thành tệp MP3 không?
Không có chức năng tải MP3 trong công cụ. Công cụ tạo yêu cầu đọc và phát lời nói qua bộ tổng hợp của trình duyệt, nhưng không triển khai ghi lại, mã hóa hay xuất âm thanh thành tệp. Việc nghe được lời đọc không đồng nghĩa có một bản âm thanh đang được lưu để tải xuống. Nếu mục tiêu là tạo tài liệu âm thanh dùng lại hoặc gửi đi, chức năng phát trực tiếp hiện tại chưa đáp ứng phần xuất tệp đó.
Tôi có thể đưa trực tiếp tệp PDF vào để đọc không?
Không, phần mã hiện có chỉ nhận chữ qua ô văn bản, không có chức năng đưa tệp PDF vào. Để nghe nội dung của tài liệu, trước hết cần có phần chữ muốn đọc rồi nhập hoặc dán vào ô nội dung. Việc trích xuất chữ không thuộc chức năng được xác nhận của công cụ này. Với PDF dạng ảnh, nhu cầu nhận dạng chữ còn là một công đoạn khác; không nên hiểu tên “đọc văn bản” là khả năng tự mở mọi loại tài liệu.
Sau khi dừng, công cụ có tiếp tục từ vị trí cũ không?
Không. Dừng sẽ hủy lượt đọc hiện tại, còn phát lại xử lý nội dung đang có từ đầu. Công cụ không triển khai tạm dừng, lưu vị trí đang đọc hoặc tiếp tục tại đoạn vừa ngắt. Nếu bạn sửa văn bản sau khi hủy, lượt mới dùng nội dung đã sửa chứ không khôi phục lượt trước. Đây là khác biệt quan trọng giữa hủy và tạm dừng: trạng thái “Đã dừng.” không thể hiện một điểm đọc được giữ lại để tiếp tục.
Đổi tốc độ hoặc cao độ trong lúc đang đọc có tác dụng ngay không?
Không theo luồng xử lý hiện có. Các thiết lập được lấy một lần lúc bắt đầu và dùng cho toàn bộ đoạn trong lượt đó. Giá trị trên giao diện có thể thay đổi khi bạn điều chỉnh thanh trượt, nhưng các đoạn còn lại không lấy lại giá trị mới. Muốn lượt đọc dùng thiết lập vừa chọn, cần bắt đầu lượt mới; nếu hủy lượt hiện tại rồi phát lại, nội dung được đọc từ đầu chứ không nối tiếp vị trí cũ.
Vì sao bộ đếm biến mất mà không hiện đủ tổng số từ?
Vì khi đoạn cuối kết thúc, công cụ xóa tiến độ thay vì giữ lại số hoàn thành. Bộ đếm chỉ được cộng sau các đoạn trung gian, không tăng theo từng từ và không cộng đoạn cuối trước khi chuyển về trạng thái dừng. Với văn bản chỉ có một đoạn, nó có thể giữ mức 0 trên tổng số nhóm rồi biến mất. Tuy nhiên, tiến độ cũng bị xóa khi hủy hoặc có lỗi, nên hiện tượng này riêng lẻ không chứng minh đã đọc đủ chữ.
Công cụ có đọc được khi mất mạng không?
Chưa thể bảo đảm từ công cụ. Khả năng ngoại tuyến phụ thuộc giọng cụ thể và cách môi trường triển khai bộ tổng hợp, trong khi mã không xác minh giọng dùng dịch vụ từ xa hay xử lý trên thiết bị. Việc trang đã mở và danh sách có tên giọng chưa đủ chứng minh lời đọc vẫn hoạt động khi mất mạng. Ngoài ra, khả năng tải trang và khả năng giọng phát âm thanh là hai điều khác nhau; không nên mặc định cả hai đều dùng được ngoại tuyến.
