برای خودم وظیفه گذاشتم که صداگذاری متن را به زبان چینی بنویسم.اگر قبلاً تجربه داشته باشید، این یک موضوع نسبتاً ساده است، اما وقتی شروع به انجام آن از ابتدا می کنید، مشکلات زیادی را جمع آوری می کنید که ممکن است خیلی زودتر از این میل ناپدید شود.جاوا اسکریپت یک زبان بسیار کاربردی است، به نظر می رسد هر چیزی که دل شما می خواهد را دارد.
بیایید نگاهی به نسخه نهایی بیندازیم که می توانید آن را در 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 مواجه می شویم.صفر یک صدای زن خواهد بود و اولین صدای مرد است.
مونث
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[0];
نر
utterance.voice = voices.filter(function(voice) { return voice.lang == 'zh-CN'; })[1];
علاوه بر این، عملکرد صوتی از مرورگر به مرورگر و از دستگاهی به دستگاه دیگر متفاوت خواهد بود.مرورگر کروم صداهای خاص خود را دارد، مرورگر Edge صداهای کاملا متفاوت و دلپذیرتری دارد، و مرورگر اپرا اصلا صدا ندارد، بنابراین صداگذاری وجود نخواهد داشت.
این کد را می توان بر روی دکمه آویزان کرد و چیزی از خود شما را صدا کرد.
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 .همه چیز دقیقاً همانطور که در اینجا توضیح دادم اجرا می شود.