hoang_le11
Thành viên mới

- Tham gia
- 21/8/18
- Bài viết
- 6
- Được thích
- 1
Tôi đã tìm rồi bạn. Trong windows 10 SL tôi đang sử dụng thì có anh An đọc tiếng Việt. Nhưng bên Office chưa tích hợp anh An vào nên không thể đọc. Tôi đã dò ra được là trong excel chỉ có 2 giọng đọc là 1 nam, 1 nữ và đều là tiếng Anh. Tôi cũng liên hệ bên Microsoft nhưng lâu quá không thấy trả lời. Tôi lên hỏi xem có ai biết addIn hoặc gì đó đại loại thế.Thế trong công ty bạn muốn người phát ngôn tiếng Anh, tiếng Việt, tiếng Hàn thì phải thế nào? Muốn văn bản được đọc (người phát ngôn?) bằng tiếng Việt thì bạn phải có người đọc biết tiếng Việt. Nếu trong công ty chỉ có người biết đọc tiếng Anh thì bó tay. Nếu trong công ty có 3 người biết đọc tiếng Anh, tiếng Việt, tiếng Hàn mà bạn muốn văn bản được đọc bằng tiếng Việt thì thế nào? Thì chọn cô biết tiếng Việt là người đọc văn bản MẶC ĐỊNH. Thế thôi.
Trong Windows cũng thế. Muốn có cô đọc tiếng Việt thì phải "tuyển" 1 cô đọc tiếng Việt và chọn cô đó là người đọc mặc định.
Khi tôi cài Windows thì tôi chỉ có 1 anh biết đọc tiếng Anh (XP Home), hoặc 3 vị (Windows 8 của tôi) biết tiếng Anh. Một vị đã được chọn mặc định. Tôi có thể chọn vị khác vì vị được chọn mặc định có giọng hơi the thé, tôi thích giọng ấm áp của cô thứ 2.
View attachment 233814
Nếu muốn đọc tiếng Việt thì phải tự viết, nhờ viết, hoặc tải từ mạng về một anh hoặc cô nào đấy đọc tiếng Việt, rồi thêm vào system, và chọn cô đó, anh đó làm mặc định.
Mọi thông tin thêm tự đọc trên mạng.
Anh làm thử vào file của bạn í được không ạCó thể sử dụng Google translate_tts hoặc có thể sử dụng FPT API có hỗ trợ giọng nam nữ.
Dưới đây là hướng dẫn sử dụng Google translate_tts:
Hãy click vào link dưới để thử:
http://translate.google.com/translate_tts?ie=utf-8&client=tw-ob&tl=vi&q=bạn và giải pháp excel
http://translate.google.com/translate_tts?ie=utf-8&client=tw-ob&tl=zh-CN&q=你好,世界
translate_tts chỉ hỗ trợ tối đa gần 200 ký tự
Cách 1:
Sử dụng lệnh Shell mở Chrome, chrome mở đường dẫn:
Shell "chrome.exe ""http://translate.google.com/translate_tts?ie=utf-8&client=tw-ob&tl=vi&q=bạn và giải pháp excel""", vbHide
hoặc:
Shell "c:\...\chrome.exe ""http://translate.google.com/translate_tts?ie=utf-8&client=tw-ob&tl=vi&q=bạn và giải pháp excel""", vbHide
----------------------------
Mở Chrome ở chế độ debugging để tạo tiến trình Chrome mới và cài đặt Chrome và tìm Process để đóng:
chrome.exe --remote-debugging-port=9333 --window-position=-100,0 --window-size=50,50 --user-data-dir=" & VBA.IIf(VBA.Environ("tmp") <> "", VBA.Environ("tmp"), VBA.Environ("temp")) & "\gspeech"
----------------------------
Tắt các cài đặt của Chrome để tránh hao tổn RAM, cài đặt toàn bộ Arguments của chrome bằng cách:
chrome.exe --disable-accelerated-2d-canvas
chrome.exe --disable-accelerated-2d-canvas --disable-auto-reload ..................
(Có cả trăm Argument như vậy)
Toàn bộ Argument Tại đây
----------------------------
Chờ cho đến khi Google đọc xong, đóng Process của chrome trên bằng cách sử dụng WMI. Nếu không đóng thì RAM sẽ bị chiếm dụng liên tục.
'--------------------------------
Cách 2:
Mã hóa chuỗi cần đọc thành Link với hàm Application.EncodeURL
Thực hiện download đường dẫn lưu vào thư mục TEMP (Có trên diễn đàn)
File download về có tên translate_tts.mp3
Mở file Mp3 và kiểm soát quá trình phát với các Hàm API trong VBA. (Có trên diễn đàn)
**************************
Và một cách khác là lập trình sử dụng Google Text to speech API (Hỗ trợ đầy đủ nhất) vận dụng thư viện VBA Web trên github. (Rất khó và phức tạp)
(Không hỗ trợ thêm)
Cảm ơn bạn đã hướng dẫn. Nhưng còn thấy khó quá. Tôi sẽ dần tìm hiểu và thử xemCó thể sử dụng Google translate_tts hoặc có thể sử dụng FPT API có hỗ trợ giọng nam nữ.
Dưới đây là hướng dẫn sử dụng Google translate_tts:
Hãy click vào link dưới để thử:
http://translate.google.com/translate_tts?ie=utf-8&client=tw-ob&tl=vi&q=bạn và giải pháp excel
http://translate.google.com/translate_tts?ie=utf-8&client=tw-ob&tl=zh-CN&q=你好,世界
translate_tts chỉ hỗ trợ tối đa gần 200 ký tự
Cách 1:
Sử dụng lệnh Shell mở Chrome, chrome mở đường dẫn:
Shell "chrome.exe ""http://translate.google.com/translate_tts?ie=utf-8&client=tw-ob&tl=vi&q=bạn và giải pháp excel""", vbHide
hoặc:
Shell "c:\...\chrome.exe ""http://translate.google.com/translate_tts?ie=utf-8&client=tw-ob&tl=vi&q=bạn và giải pháp excel""", vbHide
----------------------------
Mở Chrome ở chế độ debugging để tạo tiến trình Chrome mới và cài đặt Chrome và tìm Process để đóng:
chrome.exe --remote-debugging-port=9333 --window-position=-100,0 --window-size=50,50 --user-data-dir=" & VBA.IIf(VBA.Environ("tmp") <> "", VBA.Environ("tmp"), VBA.Environ("temp")) & "\gspeech"
----------------------------
Tắt các cài đặt của Chrome để tránh hao tổn RAM, cài đặt toàn bộ Arguments của chrome bằng cách:
chrome.exe --disable-accelerated-2d-canvas
chrome.exe --disable-accelerated-2d-canvas --disable-auto-reload ..................
(Có cả trăm Argument như vậy)
Toàn bộ Argument Tại đây
----------------------------
Chờ cho đến khi Google đọc xong, đóng Process của chrome trên bằng cách sử dụng WMI. Nếu không đóng thì RAM sẽ bị chiếm dụng liên tục.
'--------------------------------
Cách 2:
Mã hóa chuỗi cần đọc thành Link với hàm Application.EncodeURL
Thực hiện download đường dẫn lưu vào thư mục TEMP (Có trên diễn đàn)
File download về có tên translate_tts.mp3
Mở file Mp3 và kiểm soát quá trình phát với các Hàm API trong VBA. (Có trên diễn đàn)
**************************
Và một cách khác là lập trình sử dụng Google Text to speech API (Hỗ trợ đầy đủ nhất) vận dụng thư viện VBA Web trên github. (Rất khó và phức tạp)
(Không hỗ trợ thêm)
Cảm ơn bạn nhiều nhé. Có lẽ hiện tại dùng cái này sẽ ổn (ko phức tạp vì code, chỉ khó vấn đề phiên âm)Năm 2003 tôi từng bỏ ra nửa ngày để thử giúp em Excel 2000 nói tiếng Việt. Kết quả là đã khiến mẹ tôi phải lò dò đi quanh đàn máy tính để tìm xem đứa nào vừa kêu "Bác Nhân ơi sang đây chơi". Nguyên lý của tôi có chút ít tương đồng với cách phiên âm tiếng Việt kỳ lạ của tụi Tây trong cái hình sau:
View attachment 233849
Có nhiều người sẽ bĩu môichê bai cái tiếng Việt lơ lớ này nhưng tôi dám cá là với nhiều anh chị sinh ở miền Nam nó còn dễ hiểu hơn tiếng Việt do các anh chị đồng hương nào đó giao tiếp với nhau. Ngay cả tôi dù nói được giọng địa phương cuả quê ngoại nhưng cũng chả dám tự tin "hiểu được trên 70%" nội dung giữa 2 người quê tôi nói với nhau.
Tiếc là tôi ngu tiếng Anh nên phải bỏ dở ý tưởng năm 2003.Cảm ơn bạn nhiều nhé. Có lẽ hiện tại dùng cái này sẽ ổn (ko phức tạp vì code, chỉ khó vấn đề phiên âm)
Và các vị này sẽ tiếp tục chống chế tiếng Indô hổng có thanh điệu, luyến láy như tiếng Việt ta thế thì mời các vị nghe thử tiếng Inđô có thanh điệu gì trong đoạn clip này không nhé?Tiếng Inđô đã viết:Bisakah Vietnam diungkapkan dengan hanya dua puluh lima karakter dasar?
Tiếc là tôi ngu tiếng Anh nên phải bỏ dở ý tưởng năm 2003.
Để giải vấn đề của bạn tương đối trọn vẹn, đơn giản nhất là kiếm một người nắm vững ký âm tiếng Anh ký âm lại từng từ đơn (tiếng). Tiếng Việt có mấy trăm ngàn từ nhưng được lắp ghép bởi khoảng 4000 từ đơn và chừng tầm 1000 từ đơn là phổ biến (tôi ước đoán).
Nếu thành công, bạn không chỉ giúp bọn Tây dễ dàng đọc tiếng Việt, mà còn giúp người Việt dễ học tiếng Anh nếu cách ký âm này được dùng tương đương chữ quốc ngữ hiện tại. (có khi thành công tới mức bị các anh yêu nước với tôn sùng truyền thống chửi cho mướt mặt)
Có nhiều vị rành chữ sẽ lý lẽ "chữ quốc ngữ ra đời bởi người Bồ Đào Nha nên hiển nhiên phải dùng dấu". Nhưng buồn cười thay Indonesia là thuộc địa của Bồ Đào Nha cả trăm năm thì họ chả cần thêm dấu nào mà vẫn diễn tả đầy đủ tiếng nói của họ bằng chữ latin. Tôi ví dụ :
Và các vị này sẽ tiếp tục chống chế tiếng Indô hổng có thanh điệu, luyến láy như tiếng Việt ta thế thì mời các vị nghe thử tiếng Inđô có thanh điệu gì trong đoạn clip này không nhé?