Čitanje teksta na kineskom



Postavio sam sebi zadatak da napišem glasovnu glumu teksta na kineskom.Ovo je prilično jednostavna stvar ako već imate iskustva, ali kada počnete to raditi od nule, skupit ćete toliko problema da želja može nestati mnogo ranije.JavaScript je veoma funkcionalan jezik, čini se da ima sve što vam srce poželi.

Hajde da pogledamo konačnu verziju koju možete zalijepiti u DevTools i provjeriti je.

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 - tako se kineski jezik označava u utrobi pretraživača.U našem programu tražimo u pretraživaču glas kineskog jezika i pokušavamo da reproduciramo našu frazu.To se praktično ne razlikuje od izgovaranja na bilo kojem drugom jeziku.Ali ovdje postoji nekoliko nijansi.Filtrirajući niz dostupnih jezika nailazimo na 2 kineska zh-CN glasa.Nula će biti ženski glas, a prvi je muški glas.

Žensko

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

Muško

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

Osim toga, glasovna gluma će se razlikovati od pretraživača do pretraživača i od uređaja do uređaja.Chrome pretraživač ima svoje glasove, Edge pretraživač ima potpuno drugačije, prijatnije, inače, a pretraživač Opera uopšte nema glasove, tako da neće biti glasovne glume.

Ovaj kod se može okačiti na dugme i izgovoriti nešto svoje.

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 kod dugmeta:

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

Nema drugih problema sa glasovnom glumom.O da, kako sve to funkcionira na pametnim telefonima.Da, odlično, posebno u mobilnom Edge pretraživaču.Inače, na osnovu ove tehnologije pokušavam da napravim mikroservis za učenje kineskog, evo ga:

http://jkeks.ru/china .Sve je implementirano tačno onako kako sam ovdje opisao.





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