Поставио сам себи задатак да напишем гласовну глуму текста на кинеском.Ово је прилично једноставна ствар ако већ имате искуства, али када то почнете да радите од нуле, сакупићете толико проблема да жеља може нестати много раније.ЈаваСцрипт је веома функционалан језик, чини се да има све што вам срце пожели.
Хајде да погледамо коначну верзију коју можете да налепите у ДевТоолс и проверите је.
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);
зх-ЦН - тако је кинески језик означен у утроби претраживача.У нашем програму тражимо у претраживачу глас кинеског језика и покушавамо да репродукујемо нашу фразу.То се практично не разликује од изговарања на било ком другом језику.Али овде постоји неколико нијанси.Филтрирајући низ доступних језика, наилазимо на 2 кинеска зх-ЦН гласа.Нула ће бити женски глас, а први је мушки глас.
Женско
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[0];
Мушки
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[1];
Поред тога, гласовна глума ће се разликовати од претраживача до претраживача и од уређаја до уређаја.Цхроме претраживач има своје гласове, Едге претраживач има сасвим другачије, пријатније, иначе, а претраживач Опера уопште нема гласове, тако да неће бити гласовне глуме.
Овај код се може окачити на дугме и изговорити нешто своје.
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>
Нема других проблема са гласовном глумом.О да, како све то функционише на паметним телефонима.Да, одлично, посебно у мобилном Едге претраживачу.Иначе, на основу ове технологије покушавам да направим микросервис за учење кинеског, ево га:
http://jkeks.ru/china .Све је имплементирано тачно онако како сам овде описао.