Читање текст на кинески



Си поставив задача да го напишам гласовното дејствување на текстот на кинески.Ова е прилично едноставна работа ако веќе имате искуство, но кога ќе почнете да го правите тоа од нула, ќе соберете толку многу проблеми што желбата може да исчезне многу порано.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 - вака е означен кинескиот јазик во утробата на прелистувачот.Во нашата програма, го пребаруваме прелистувачот за гласот на кинескиот јазик и се обидуваме да ја репродуцираме нашата фраза.Практично не се разликува од изразувањето на кој било друг јазик.Но, тука има неколку нијанси.Филтрирајќи ја низата достапни јазици, наидуваме на 2 кинески 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];

Покрај тоа, гласовното дејствување ќе се разликува од прелистувач до прелистувач и од уред до уред.Прелистувачот Chrome има свои гласови, прелистувачот Edge има сосема други, попријатни, патем, а прелистувачот Opera воопшто нема гласови, така што нема да има гласовно дејствување.

Овој код може да се закачи на копчето и да изрази нешто ваше.

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