Chuyển văn bản thành âm thanh

Liên hệ QC

batman1

Thành viên gạo cội
Tham gia
8/9/14
Bài viết
5,774
Được thích
9,763
Tôi muốn chuyển một đoạn văn bản thành nội dung audio MP3. Yêu cầu: miễn phí, phục vụ văn bản lớn vd. 5000 ký tự Việt, giọng đọc nữ.

Nếu là trả phí thì có rất nhiều lựa chọn. Nếu chỉ là đọc văn bản ngắn thì có thể dùng vd.:



Có thể tải về và cài đặt Convert Text to Speech hoặc Any Text to Voice. Cả 2 cho phép nhập thậm chí 5000 ký tự Việt. Chỉ có điều, nếu tôi không lầm, thì cả 2 dùng giọng đọc trong system Windows 10. Mà chỉ có 1 giọng nam duy nhất là Microsoft An. Tôi muốn giọng đọc nữ dễ thương.

Khi dùng Google Translate thì có thể nhấn biểu tượng cái loa để nghe audio. Câu hỏi: làm sao để tải audio này về máy và ghi lại vd. ở dạng MP3? Tôi đã thử nhiều hướng dẫn trên mạng, có cả cách dùng Video DownloadHelper, nhưng không thành công. Những cách này trước đó dùng được nhưng bây giờ thì không còn tác dụng nữa.

Có ai biết cách chuyển MIỄN PHÍ trong Windows 10 văn bản DÀI cỡ 5000 ký tự Việt thành MP3 với giọng đọc nữ không?
 
Giọng nam khàn cũng dễ thương nè anh
 
Vẫn dùng cách cũ của bác khi sử dụng Google Translate nhưng mà chia nhỏ đoạn văn bản ra. Sửa lại hàm ghi file cho nó ghi nối vào cuối file
Mã:
Put #1, LOF(1) + 1, Data
 

File đính kèm

  • msgooglemp3.rar
    203.2 KB · Đọc: 41
Vẫn dùng cách cũ của bác khi sử dụng Google Translate nhưng mà chia nhỏ đoạn văn bản ra. Sửa lại hàm ghi file cho nó ghi nối vào cuối file
Mã:
Put #1, LOF(1) + 1, Data
Cám ơn bạn đã quan tâm. Tôi cũng biết là đã làm "chương trình phục vụ cho covid-19". Tôi cũng đã thử hôm thứ Sáu thì được quãng 200 ký tự. Tôi muốn làm một lúc 5000 ký tự chứ chia nhỏ thành 25 đoạn rồi ghép thì không hay lắm. Cái cách này và cả cách tự viết code từ A đến Z chỉ là những cách cuối cùng, khi không còn cách nào khác.
Bài đã được tự động gộp:

Cám ơn bạn đã chỉ dẫn, tôi sẽ không mất công tìm kiếm. Tuy nhiên đây chỉ là việc cần làm, nếu đã có cách hoặc phần mềm có sẵn thì dùng thôi. Chỉ khi không tìm được cách hoặc phần mềm có sẵn thì tôi mới thử nghiên cứu tự viết code.
 
Lần chỉnh sửa cuối:
À, trước khi bỏ công nghiên cứu thì tôi có câu hỏi. Pyttsx3 dùng giọng đọc nào? Nếu là giọng đọc từ Windows 10 thì tôi đã viết rõ rồi. Giọng đọc hiện có là Microsoft An, là giọng nam. Tôi cần giọng đọc nữ. Nếu giọng nam thì tôi chỉ cần cài Convert Text to Speech hoặc Any Text to Voice là được, khỏi phải mất công gì thêm.
 
Sử dụng api text-to-speech của google cloud có miễn phí 4 triệu kí tự mỗi tháng, có giọng nữ miền nam.
Ngoài ra có trang https://ttsfree.com/vn cũng có giọng nữ tiếng Việt, giới hạn 2000 kí tự/1 request, nhưng nó dùng google captcha để chống robot spam, nếu anh vượt qua được thì tốt.
Viettel với fpt giọng nữ 3 miền có cảm xúc tuyệt vời, bán giá trên trời, đừng mơ đụng vào, nghịch dại là nó ban IP ngay.
 
Sử dụng api text-to-speech của google cloud có miễn phí 4 triệu kí tự mỗi tháng, có giọng nữ miền nam.
Ngoài ra có trang https://ttsfree.com/vn cũng có giọng nữ tiếng Việt, giới hạn 2000 kí tự/1 request, nhưng nó dùng google captcha để chống robot spam, nếu anh vượt qua được thì tốt.
Viettel với fpt giọng nữ 3 miền có cảm xúc tuyệt vời, bán giá trên trời, đừng mơ đụng vào, nghịch dại là nó ban IP ngay.
Cám ơn bạn, đề xuất google cloud cũng rất hấp dẫn.

Viettel đọc qua là tôi loại ngay.

Google cloud thì chắc chắn tốt rồi. Nếu không có đồ sẵn thì cuối cùng cũng phải nghĩ tới nó.

Ttsfree tôi cũng xem qua. Chỉ hơi tiếc là 2000 hơi ít. Tôi muốn chuyển nhiều chuyện chữ sang audio, nhiều truyện rất dài nên thậm chí 5000 ký tự vẫn ít. Nhưng tôi đặt mục tiêu thế vì google cũng chỉ cho phép 5000. Tất nhiên nếu không có cái tốt hơn thì cũng phải gật đầu thôi.

Nói chung đồ của tập đoàn lớn như google thì chắc chắn là tốt. Nhưng python cũng hứa hẹn nhiều. Nếu không tìm được đồ có sẵn thì có lẽ cũng phải tham khảo google cloud hoặc python. Chỉ có điều ở tuổi tôi thì có những đam mê khác, thú vui khác. Lập trình là quá khứ, thỉnh thoảng chơi tí, không ham học nữa.
 
Tôi đã thử qua pyttsx3 cho python thì đúng như dự đoán. Nó dùng giọng đọc được chọn từ những giọng trong system. Trong Windows 10 chỉ có giọng đọc nam là Microsoft An. Tôi không biết liệu có thể tự thêm giọng nói Việt được không. Nếu có thêm được thì cũng không biết lấy giọng từ đâu để tải về. Phải biết ở đâu có giọng nói chuẩn để tải về.
Ngoài ra tôi thấy pttsx3 không phục vụ unicode tổ hợp. Khi chạy code đính kèm ở dưới (phải sửa lại vi_voice_id trong code để phù hợp với thực trạng trên máy) thì âm thanh nghe rất kỳ. Khi chuyển 2 text thành unicode dựng sẵn thì phát âm mới chuẩn.
Tôi chưa kiểm tra xem pttsx3 có phục vụ văn bản dài không. Riêng giọng nam là chưa đạt yêu cầu, và chỉ chấp nhận unicode dựng sẵn là một phiền toái.

Nhưng tôi đã thử với gTTS cho python thì thấy đã có giọng nói nữ dễ thương, và có thể nhập unicode tổ hợp. Chỉ còn việc kiểm tra xem độ dài văn bản cho phép là bao nhiêu. Tập tin vd. test.py có nội dung như sau:

from gtts import gTTS
tts = gTTS('Xin chào các bạn. Tôi là cô nàng rất dễ thương, với giọng nói ngọt ngào', tld='com.vn', lang='vi')
tts.save('d:\cô bé.mp3')
 

File đính kèm

  • test.rar
    343 bytes · Đọc: 52
Lần chỉnh sửa cuối:
Thôi xong.

Cuối cùng tôi dùng gTTS cho python. Giọng đọc nữ dễ thương. Tôi đã thử lấy chuỗi 5000 ký tự từ tập tin TXT và ghi thành công vào MP3. Như vậy 3 yêu cầu: miễn phí, đọc 5000 ký tự và giọng nữ, đã được thỏa mãn.

Sau khi cài đặt mô đun gTTS, giả sử tập tin d:\truyen.txt được lưu ở dạng UTF-8 thì code ví dụ như sau:

from gtts import gTTS
f = open("d:/truyen.txt", encoding='UTF-8')
vb = f.read(5000)
f.close()
tts = gTTS(vb, tld='com.vn', lang='vi')
tts.save('d:\cô bé.mp3')


Một lần nữa cám ơn tất cả những người đã tham gia chủ đề này.
 
Thôi xong.

Cuối cùng tôi dùng gTTS cho python. Giọng đọc nữ dễ thương. Tôi đã thử lấy chuỗi 5000 ký tự từ tập tin TXT và ghi thành công vào MP3. Như vậy 3 yêu cầu: miễn phí, đọc 5000 ký tự và giọng nữ, đã được thỏa mãn.

Sau khi cài đặt mô đun gTTS, giả sử tập tin d:\truyen.txt được lưu ở dạng UTF-8 thì code ví dụ như sau:

from gtts import gTTS
f = open("d:/truyen.txt", encoding='UTF-8')
vb = f.read(5000)
f.close()
tts = gTTS(vb, tld='com.vn', lang='vi')
tts.save('d:\cô bé.mp3')


Một lần nữa cám ơn tất cả những người đã tham gia chủ đề này.
Giọng đọc hay quá bác ạ, có điều đôi lúc ngắt từ không đúng chỗ
 
Web KT
Back
Top Bottom