Čítanie textu v čínštine

Dal som si za úlohu napísať hlasový prejav textu v čínštine.Toto je pomerne jednoduchá záležitosť, ak už máte skúsenosti, ale keď to začnete robiť od nuly, nazbierate toľko problémov, že túžba môže zmiznúť oveľa skôr.JavaScript je veľmi funkčný jazyk, zdá sa, že má všetko, po čom vaše srdce túži.

Poďme sa pozrieť na konečnú verziu, ktorú môžete vložiť do DevTools, a pozrieť sa na ňu.

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 - takto je označený čínsky jazyk v útrobách prehliadača.V našom programe hľadáme v prehliadači hlas čínskeho jazyka a snažíme sa reprodukovať našu frázu.Prakticky sa nelíši od vyjadrovania akéhokoľvek iného jazyka.Ale je tu pár nuancií.Filtrovaním poľa dostupných jazykov narazíme na 2 čínske hlasy zh-CN.Nula bude ženský hlas a prvý bude mužský.

Žena

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

Muž

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

Okrem toho sa hlasové ovládanie bude líšiť od prehliadača k prehliadaču a od zariadenia k zariadeniu.Prehliadač Chrome má svoje hlasy, prehliadač Edge má mimochodom úplne iné, príjemnejšie a prehliadač Opera nemá žiadne hlasy, takže hlasové ovládanie nebude.

Tento kód možno zavesiť na tlačidlo a vysloviť niečo vlastné.

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);
}

a kód tlačidla:

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

S hlasovým prejavom nie sú žiadne iné problémy.Ach áno, ako to všetko funguje na smartfónoch.Áno, skvelé, najmä v mobilnom prehliadači Edge.Mimochodom, na základe tejto technológie sa snažím vytvoriť mikroslužbu na učenie sa čínštiny, tu je:

http://jkeks.ru/china .Všetko je implementované presne tak, ako som tu popísal.





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