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:

  1. Biz buyruqlar yaratamiz (Salom va xayr)
  2. Buyruqlarni qo'shing
  3. Tinglashni boshlang
  4. 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