Nutqni aniqlashni amalga oshirish juda qiyin vazifadek tuyuladi, ammo annyang deb nomlangan kutubxona tufayli siz 5 daqiqada asosiy sozlashni amalga oshirishingiz mumkin. "Ularning demosini" ko'rib chiqing. Bu sizni ko'proq o'rganish istagini uyg'otishi mumkin.
Keling, sizga qanday ishlashini ko'rsataman. Biz ikkita ovozli buyruqni qabul qiladigan misol keltiramiz: "Salom" va "Xayr". Keyin shunga mos ravishda javob beradi.
Xizmat sizga oddiy index.html fayli yordamida localhost-dan qo'ng'iroq qilishga ruxsat bermasligi sababli, uni amalda ko'rish uchun juda oddiy tugun ilovasini yarataylik. "Kodni tekshiring" yoki quyidagi amallarni bajaring:
Tugun ilovasini sozlash
Terminaldan foydalanib, annyang nomli loyiha papkasini yarating va uning ichida index.js faylini yarating.
mkdir annyang // make the folder cd annyang // go to the folder touch index.js // create the file
Tugun ilovamizni tezda ishga tushirish uchun express va ejsni oʻrnating.
npm install express ejs
app.js nomli fayl yarating
touch app.js
Buni app.js-ga joylashtiring:
const express = require('express'); const app = express(); app.set('view engine', 'ejs'); app.get('/', function(req, res) { res.render('index', { title: 'The index page!' }) }); app.listen(3000, () => console.log('Example app listening on port 3000!'))
Bu juda oddiy tugun ilovasi. Asosan, kimdir ilovani ishga tushirganda, u bizning indeks faylimizni nutqni aniqlash kodimiz bilan chaqirishini ko'rishimiz mumkin. Keling, bu faylni yarataylik.
Terminalingizga qaytib, views deb nomlangan papkani yarating va uning ichida index.ejs faylini yarating.
mkdir views // make the folder cd views // go to the folder touch index.ejs // make the file
Nutqni aniqlash kodi
Ushbu kodni index.ejs-ga joylashtiring:
<!DOCTYPE html> <html> <head> <title>Annyang</title> <script src="https://cdnjs.cloudflare.com/ajax/libs/annyang/2.6.0/annyang.min.js"></script> <script> if (annyang) { // Let's define a command. var commands = { 'hello': function() { alert('Hey! How are you?'); }, 'goodbye': function() { alert('See you later!'); } }; // This should be true console.log(annyang.isListening()) // Add our commands to annyang annyang.addCommands(commands); // Start listening. annyang.start(); annyang.addCallback('soundstart', function() { console.log('sound detected'); }); } </script> </head> <body> <h1>Say hello or goodbye</h1> </body> </html>
Keling, kodni ajratamiz. Avval biz annyangni CDN yordamida import qilamiz:
<script src="https://cdnjs.cloudflare.com/ajax/libs/annyang/2.6.0/annyang.min.js"></script>
Eslatma: biz ekspress va ejs-larni tugun paketlari sifatida import qilganimiz uchun men annyang-ni npm orqali oʻrnatishga harakat qildim, lekin u yaxshi ishlamadi, shuning uchun CDN usuliga oʻtdim.
Keyingi skript tegida nutqni aniqlash kodimiz mavjud. Biz annyang kutubxonasi yopilganligini tekshiramiz va agar shunday bo'lsa:
- Biz buyruqlar yaratamiz (Salom va xayr)
- Buyruqlarni qo'shing
- Tinglashni boshlang
- Ovoz aniqlanganligini bildiradigan qayta qo'ng'iroqni qo'shing
Sinab ko'ring
Buni terminalingizga kiritish orqali ilovani ishga tushiring:
node app.js
- Brauzerni oching va localhost:3000-ga o'ting
- Brauzer sizdan mikrofondan foydalanishga ruxsat so'rashi kerak. Qabul qiling.
- "Salom" deb ayting. Sizni kutib olish uchun ogohlantirish paydo bo'ladi!
Endi siz buyruqlar va javoblaringizni sozlashingiz mumkin. Nazariy jihatdan, bu nutqni aniqlashni boshqa texnologiyalar bilan osongina integratsiya qilish imkonini beradi. Amalda, bu biz xohlagan darajada ishonchli emas. Ba'zi buyruqlar ishlamaydi va ilova bir muncha vaqt o'tgach birgalikda ishlashni to'xtatishi mumkin. Qanday bo'lmasin, nutqni aniqlashning kelajagi porloq va bu JavaScript uning yonida porlashini isbotlaydi.
Baxtli kodlash,
Ivan