Citirea textului în chineză



Mi-am propus sarcina de a scrie actoria vocală a textului în chineză.Aceasta este o chestiune destul de simplă dacă ai deja experiență, dar când vei începe să o faci de la zero, vei aduna atât de multe probleme încât dorința poate dispărea mult mai devreme.JavaScript este un limbaj foarte funcțional, pare să aibă tot ce-ți dorește inima.

Să aruncăm o privire la versiunea finală pe care o puteți lipi în DevTools și o puteți verifica.

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 - așa este desemnată limba chineză în măruntaiele browserului.În programul nostru, căutăm în browser vocea limbii chineze și încercăm să reproducem fraza noastră.Practic, nu este diferit de exprimarea oricărei alte limbi.Dar există câteva nuanțe aici.Filtrând gama de limbi disponibile, întâlnim 2 voci chinezești zh-CN.Zero va fi o voce feminină, iar prima este o voce masculină.

Femeie

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

Masculin

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

În plus, vocea va diferi de la browser la browser și de la dispozitiv la dispozitiv.Browserul Chrome are propriile voci, browserul Edge are altele complet diferite, mai plăcute, apropo, iar browserul Opera nu are deloc voci, așa că nu va exista voce.

Acest cod poate fi agățat pe buton și poate exprima ceva propriu.

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

și codul butonului:

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

Nu există alte probleme cu actoria vocală.Da, cum funcționează totul pe smartphone-uri.Da, grozav, mai ales în browserul Edge mobil.Apropo, pe baza acestei tehnologii, încerc să fac un microserviciu pentru învățarea chinezei, iată-l:

http://jkeks.ru/china .Totul este implementat exact așa cum am descris aici.





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