קריאת טקסט בסינית



הצבתי לעצמי את המשימה לכתוב את הקול של הטקסט בסינית.זה עניין די פשוט אם כבר יש לכם ניסיון, אבל כשתתחילו לעשות את זה מאפס, תאסוף כל כך הרבה בעיות שהרצון עלול להיעלם הרבה קודם.JavaScript היא שפה מאוד פונקציונלית, נראה שיש בה כל מה שהלב שלך חפץ בו.

בואו נסתכל על הגרסה הסופית שתוכל להדביק לתוך DevTools ולבדוק אותה.

var utterance = new SpeechSynthesisUtterance('菜');
var voices = window.speechSynthesis.getVoices();
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[0];
window.speechSynthesis.speak(utterance);

zh-CN - כך מסומנת השפה הסינית במעיים של הדפדפן.בתוכנית שלנו, אנחנו מחפשים בדפדפן את הקול של השפה הסינית, ומנסים לשחזר את הביטוי שלנו.זה כמעט לא שונה מלהשמיע כל שפה אחרת.אבל יש כאן כמה ניואנסים.בסינון מערך השפות הזמינות אנו נתקלים בשני קולות zh-CN סיניים.אפס יהיה קול נשי, והראשון הוא קול גברי.

נְקֵבָה

utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[0];

זָכָר

utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[1];

בנוסף, המשחק הקולי יהיה שונה מדפדפן לדפדפן וממכשיר למכשיר.לדפדפן כרום יש קולות משלו, לדפדפן Edge יש קולות אחרים לגמרי, יותר נעימים, אגב, ולדפדפן האופרה אין בכלל קולות, כך שלא יהיו קולות.

ניתן לתלות את הקוד הזה על הכפתור ולהשמיע משהו משלך.

function say(voiceId){
    let text = document.getElementById("pole").innerHTML
    console.log (text)
    var utterance = new SpeechSynthesisUtterance(text);
    var voices = window.speechSynthesis.getVoices();
    utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[voiceId];
    window.speechSynthesis.speak(utterance);
}

וקוד כפתור:

<button onclick="say(1)">👨🔉</button>

אין בעיות אחרות עם משחק קול.אה כן, איך הכל עובד בסמארטפונים.כן, נהדר, במיוחד בדפדפן Edge הנייד.אגב, בהתבסס על הטכנולוגיה הזו, אני מנסה ליצור שירות מיקרו ללימוד סינית, הנה הוא:

http://jkeks.ru/china .הכל מיושם בדיוק כפי שתיארתי כאן.





bg bs ca ceb co cs cy da de el en eo es et fa fi fr fy ga gd gl gu ha haw hi hmn hr ht hu id ig is it iw ja jw ka kk km kn ko ku ky la lb lo lt lv mg mi mk ml mn mr ms mt my ne nl no ny or pa pl ps pt ro ru rw sd si sk sl sm sn so sr st su sv sw ta te tg th tk tl tr tt ug uk ur uz vi xh yi yo zh zu
Text to speech
QR-Code generator
Parsedown cheatsheet. Markdown
Filter data by column with regular expressions
Engines for creating games on LUA ?
JavaScript: draw a point
JavaScript: Speaking text in Chinese