Asked Nov 14th, 1:57 AM 43 0 1
  • 43 0 1
0

Cách cài đặt ngôn ngữ tiếng Việt cho Speech Synthesis?

Share
  • 43 0 1

Mình dùng đoạn mã sau để đọc chữ

<div id="text-to-speech">Xin chào mọi người.</div>
<br/>
<button type="button" onclick="textToAudio()">Speak</button>
<script>

            function textToAudio() {
                let msg = document.getElementById("text-to-speech").value;
                
                let speech = new SpeechSynthesisUtterance();
                speech.lang = "vi-VN"; //code gốc là en-US
                
                speech.text = msg;
                speech.volume = 1;
                speech.rate = 1;
                speech.pitch = 1;
                
                window.speechSynthesis.speak(speech);
            }
</script>

Mình muốn hỏi cách cài đặt ngôn ngữ tiếng Việt Như thế nào. Vì dù mình cài speech.lang = "vi-VN"; nhưng FireFox (Desktop) thì luôn đọc tiếng Anh, còn nếu có cài speech.lang = "en-US"; thì Google Chrome (Android) vẫn đọc tiếng Việt giọng chị Gu gồ.

Những cài đặt khác như speech.rate bên trên thì ok, mình chọn giá trị 0.5 thì tốc độ chậm lại.

Vậy là sao ta?

Dr Dokkan @dokkan7
Nov 14th, 7:21 AM

Qua tìm hiểu thêm thì mỗi browser và hệ điều hành có cách xử lý khác nhau. Firefox + Windows thì chỉ có 3 giọng nói (2 tiếng Anh và 1 tiếng Nhật) nên hiện thời nó sẽ chỉ nói tiếng Anh thôi. Firefox app +Android nói tiếng Việt, Firefox Lite app + Android không nói gì... Với Google Chrome thì rộng rãi hơn...Dường như trên Android nó bỏ qua property lang của SpeechSynthesisUtterance mà ưu tiên chọn ngôn ngữ trong Android Settings. MacOS và iOS thì chắc cũng có cách xử lý riêng nhưng có lẽ mỗi thằng một kiểu giống như "tao thích thì tao làm".

0
| Reply
Share

1 ANSWERS


Answered Nov 15th, 9:17 AM
+2

Trc mình có làm chức năng đọc này, ban đầu cũng dùng Speech Synthesis.
Sau đó cảm giác nó ko ổn định lắm.
Do mỗi trình duyệt sẽ khác nhau, và nhiều trình duyệt nó không hoạt động nữa.
Trên chrome cũng k ổn định lắm, nhiều khi nó bị cached nên nó bị hiểu là chunk sai lớn, nên đang đọc nó tự dừng lại nữa.
Bạn thử dùng qua dịch vụ của FPT AI xem. Mình dùng thấy khá ổn.

Share
Dr Dokkan @dokkan7
Nov 15th, 1:00 PM

Cảm ơn bạn.

0
| Reply
Share