Chuyển văn bản sang giọng nói Tiếng Việt trong Android Studio

TextToSpeech Engine (TTS) là một built-in feature (tính năng được cài đặt sẵn) trên các điện thoại Android, cho phép chuyển đổi từ văn bản sang giọng nói.

Khá đáng tiếc cho chúng ta, trên các dòng sản phẩm Android phổ biến chỉ hỗ trợ một vài ngôn ngữ, và Tiếng Việt là một trong những ngôn ngữ không được hỗ trợ.

Vậy làm cách nào để giải quyết vấn đề này?
Hiện tại có vô số API trên mạng hỗ trợ rất nhiều giọng nói, điển hình là Google Cloud TTS, một dịch vụ rất "bá đạo" đến từ Google, sử dụng công nghệ ML để làm giọng nói ngày càng giống con người hơn (human-like).
Kết quả hình ảnh cho google cloud text to speech
Google Cloud TTS hỗ trợ kho giọng nói khổng lồ và giọng nói giống con người đến đáng kinh ngạc
Ngoài Google Cloud TTS, bạn có thể tham khảo một vài API khác như:
Đây là những API hỗ trợ những giọng rất thực, rất đáng để đầu tư và sử dụng, song chi phí để sử dụng những API này thường được tính theo từng kí tự mà bạn chuyển đổi và khá đắt đỏ. Vậy có giải pháp nào tốt hơn không, hay nói đúng hơn là có API nào "Phờ Ri" hay không 😜? Câu trả lời là Có! Ở đây mình sẽ đề cập 2 giải pháp mà mình biết!

Giải pháp 1: Sử dụng Google Translate

Một trong những giải pháp được rất nhiều Developer sử dụng đó chính là "lợi dụng" tính năng chuyển đổi giọng nói Google Translate để thực hiện "ý đồ".

Bạn có thể mở tab Network trong Inspect (Ctrl + Shift + I) để kiểm tra quá trình Get/Request khi ấn vào biểu tượng loa. Khi đó, bạn sẽ thấy Google Translate sẽ truyền đi một request có dạng:
https://translate.google.com/translate_tts?ie=UTF-8&q=...&tl=...&client=tw-ob&ttsspeed=...
Bạn chú ý các phần sau:
Ví dụ: 
https://translate.google.com/translate_tts?ie=UTF-8&q=Chào mừng bạn đến với DuongTech Blog&tl=vi&client=tw-ob&ttsspeed=1.5
Phương pháp này theo mình đánh giá chỉ là yếu tố tạm thời, có thể trong tương lai Google sẽ có những thay đổi và nâng cấp để tăng tính bảo mật cho hệ thống, khi đó phương pháp này sẽ trở nên vô hiệu. Nhưng hiện tại thì vẫn sử dụng tốt nên bạn hãy cứ vô tư 😎.

Phương pháp 2: Sử dụng SoundOfText API

SoundOfText API hiện tại cho phép sử dụng miễn phí và không giới hạn, do đó bạn có thể áp dụng API này vào project của bạn. Nhược điểm của API này là request mất nhiều thời gian, đối với những văn bản dài thì phải mất đến 3-5s để request hoàn tất.
Mình đã viết sẵn library tích hợp SoundOfText API, bạn có thể tham khảo tại đây: https://github.com/stephentran1909/vsot-android.

Kết

Tổng kết lại, hai phương pháp trên tuy có ưu điểm là sử dụng miễn phí nhưng giọng nói còn khá robotic. Tuy nhiên, đây cũng là điều chấp nhận được cho một giải pháp không tốn tiền :).
Nếu bạn có một giải pháp nào khác tốt hơn, bạn có thể chia sẻ trong phần comment để mọi người cùng biết!
Github repo: https://github.com/stephentran1909/vsot-android
Thanh Dương

Chuyển văn bản sang giọng nói Tiếng Việt trong Android Studio Chuyển văn bản sang giọng nói Tiếng Việt trong Android Studio Reviewed by Duong-Tran Thanh on 1/04/2020 12:50:00 SA Rating: 5

Không có bình luận nào!

Được tạo bởi Blogger.
BACK TO TOP