Läser text på kinesiska



Jag satte mig i uppgift att skriva textens röstspel på kinesiska.Detta är en ganska enkel sak om du redan har erfarenhet, men när du börjar göra det från grunden kommer du att samla på dig så många problem att lusten kan försvinna mycket tidigare.JavaScript är ett mycket funktionellt språk, det verkar ha allt ditt hjärta önskar.

Låt oss ta en titt på den slutliga versionen som du kan klistra in i DevTools och kolla in den.

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 - det är så det kinesiska språket betecknas i webbläsarens tarmar.I vårt program söker vi i webbläsaren efter rösten för det kinesiska språket och försöker återskapa vår fras.Det skiljer sig praktiskt taget inte från att uttrycka något annat språk.Men det finns ett par nyanser här.Genom att filtrera mängden tillgängliga språk stöter vi på 2 kinesiska zh-CN-röster.Noll kommer att vara en kvinnlig röst, och den första är en mansröst.

Kvinna

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

Manlig

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

Dessutom kommer röstspelet att skilja sig från webbläsare till webbläsare och från enhet till enhet.Chrome-webbläsaren har sina egna röster, Edge-webbläsaren har förresten helt andra, trevligare sådana, och Opera-webbläsaren har inga röster alls, så det blir ingen röstskådespeleri.

Den här koden kan hängas på knappen och rösta något eget.

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

och knappkod:

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

Det finns inga andra problem med röstskådespeleri.Åh ja, hur allt fungerar på smartphones.Ja, bra, särskilt i den mobila Edge-webbläsaren.Förresten, baserat på den här tekniken försöker jag göra en mikrotjänst för att lära mig kinesiska, här är den:

http://jkeks.ru/china .Allt är implementerat precis som jag beskrev här.





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