Ανάγνωση κειμένου στα κινέζικα



Έθεσα στον εαυτό μου καθήκον να γράψω τη φωνητική δράση του κειμένου στα κινέζικα.Αυτό είναι ένα αρκετά απλό θέμα αν έχετε ήδη εμπειρία, αλλά όταν ξεκινήσετε να το κάνετε από την αρχή, θα συγκεντρώσετε τόσα πολλά προβλήματα που η επιθυμία μπορεί να εξαφανιστεί πολύ νωρίτερα.Η JavaScript είναι μια πολύ λειτουργική γλώσσα, φαίνεται να έχει όλα όσα επιθυμεί η καρδιά σας.

Ας ρίξουμε μια ματιά στην τελική έκδοση που μπορείτε να επικολλήσετε στα DevTools και να την ελέγξετε.

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 - έτσι ορίζεται η κινεζική γλώσσα στα έγκατα του προγράμματος περιήγησης.Στο πρόγραμμά μας, αναζητούμε στο πρόγραμμα περιήγησης τη φωνή της κινεζικής γλώσσας και προσπαθούμε να αναπαράγουμε τη φράση μας.Πρακτικά δεν διαφέρει από την έκφραση οποιασδήποτε άλλης γλώσσας.Αλλά υπάρχουν μερικές αποχρώσεις εδώ.Φιλτράροντας τη σειρά των διαθέσιμων γλωσσών συναντάμε 2 κινέζικες φωνές zh-CN.Το Zero θα είναι μια γυναικεία φωνή και η πρώτη είναι μια ανδρική φωνή.

Θηλυκός

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

Αρσενικός

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

Επιπλέον, η φωνητική δράση θα διαφέρει από πρόγραμμα περιήγησης σε πρόγραμμα περιήγησης και από συσκευή σε συσκευή.Το πρόγραμμα περιήγησης Chrome έχει τις δικές του φωνές, το πρόγραμμα περιήγησης Edge έχει εντελώς διαφορετικές, πιο ευχάριστες, παρεμπιπτόντως, και το πρόγραμμα περιήγησης Opera δεν έχει καθόλου φωνές, επομένως δεν θα υπάρχει φωνητική δράση.

Αυτός ο κωδικός μπορεί να κρεμαστεί στο κουμπί και να εκφράσει κάτι δικό σας.

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>

Δεν υπάρχουν άλλα προβλήματα με τη φωνή.Ω ναι, πώς λειτουργούν όλα σε smartphone.Ναι, υπέροχο, ειδικά στο πρόγραμμα περιήγησης Edge για κινητά.Παρεμπιπτόντως, με βάση αυτήν την τεχνολογία, προσπαθώ να δημιουργήσω μια μικρουπηρεσία για την εκμάθηση κινέζικων, εδώ είναι:

http://jkeks.ru/china .Όλα υλοποιούνται ακριβώς όπως περιέγραψα εδώ.





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