MODULE NHẬN DẠNG GIỌNG NÓI

I. CHUẨN BỊ

Hầu hết các module micro đều thao tác làm việc miễn là được cắm vào cổng analog của fanbangparty.com của bạn. 

II. TRƯỚC khi BẮT ĐẦU

Để fanbangparty.com rất có thể nhận dạng được giọng nói bọn họ cần sử dụng thư viện μSpeech (mirror)

Thư viện μSpeech hỗ trợ một công dụng nhận dạng giọng nói bằng cách sử dụng fanbangparty.com. Nó xác định âm thanh bằng phương pháp phân tính tần số âm vị. Và bởi vậy nó không có cách nào nhằm phân loại những giọng đọc không giống nhau của 1 trường đoản cú . Và việc đó cần đến người tiêu dùng thiết lập, dẫn đến trở ngại cho nhiều người trong việc mong mỏi tiếp cận mang đến thư viện

Thực sự nhưng nói thì tủ sách này hỗ trợ tốt nhất trong việc khẳng định các tự s,z,f (Phát âm theo tiếng anh) bởi vì nó được tạo bởi người tiêu dùng tiếng anh, nó ứng dụng trong những câu lệnh như Stop, right, left, tuy nhiên các bạn cũng có thể thử với ngôn ngữ tiếng việt.

Bạn đang xem: Module nhận dạng giọng nói

III. CODE

Sau khi các bạn đã down tủ sách về, copy vào folder library của fanbangparty.com cùng tiến hành thiết lập lại âm vị mang đến thư viện bằng cách sử dụng đoạn code sau

#include signal voice(A0);char option = 0;uint32_t power(uint32_t base, uint32_t exp);void setup(){#if 0 int minVolume; /*! 0) option = Serial.read(); switch (option) { case "f": uint16_t micPower = voice.micPower;if (micPower != lastMicPower) Serial.print(F("micPower: ")); Serial.println(micPower); lastMicPower = micPower;break; case "p": {if (phoneme != lastPhoneme || phoneme != " ") { if (col == 0) startUsec = micros(); lastPhoneme = phoneme; buf = phoneme; history.phoneme = phoneme; history.f_phoneme = voice.phoneme; history.coeff = voice.testCoeff; history.micPower = voice.micPower; history.usecs = micros() - startUsec; startUsec = micros(); if (++col >= sizeof(buf)-1) { buf = 0;Serial.println(F("phonemes"));for (uint8_t ind=0; ind 50)) { buf = 0; Serial.println(F("phonemes")); for (uint8_t ind=0; ind 

Đoạn code trên bạn cũng có thể tìm thấy vào mục example của library vừa down về.

Sau khi nạp code xong, các bạn mở serial monitor lên vẫn thấy hiển thị đoạn sau:

uSpeech debug tool--------nhan "f" neu ban muon hieu chinh/kiem tra thong so fnhan "p" neu ban muon hieu chinh/kiem tra getPhonemenhan "v" neu ban muon hieu chinh/kiem tra volume of your microphonenhan "c" neu ban muon hieu chinh/kiem tra coeffBạn hãy nhận từng lựa chọn, ví dụ: nhấn f + enter, sau đó bạn hãy nói âm f vào micro(nói bởi tiếng anh nhé, âm đuôi, dạng như phừ phừ) màn hình sẽ hiển thị lên hàng loạt thông số, các bạn chọn thông số kỹ thuật chung nhất cùng ghi lại. Mình rước ví dụ thông số cho âm f là 380. Tương tự như vậy đối với các âm /ee/; /i/; /o/; /z/;/sh/.... Mà ở đoạn khai báo vào void setup() đã chú thích rõ. Sau thời điểm đã gồm đủ những thông số, họ sẽ cùng đến ví dụ đầu tiên.

Xem thêm: Siêu Thị Điện Máy Giặt Sấy Lg Inverter 9Kg Fc1409D4E, Inverter, Có Sấy 5 Kg

Bật tắt led

#include #define led 13signal voice(A0);String collvoice;char prev;boolean newline=false;int sum = 0;void setup() voice.f_enabled = true; voice.minVolume = 1500; voice.fconstant = 380; voice.econstant = 1; voice.aconstant = 2; voice.vconstant = 3; voice.shconstant = 4; voice.calibrate(); Serial.begin(9600); pinMode(led, OUTPUT); void loop() voice.sample(); char p = voice.getPhoneme(); if(p!=" ") // giả dụ có âm thanh if((p=="f")) // nếu âm nhạc nhận được là f newline = true; else newline = false; else if(newline) digitalWrite(led, LOW); else digitalWrite(led, HIGH); Như các bạn thấy, thông số 380 được gửi vào khai báo ban đầu cho âm vị f. Những âm vị khác cũng làm tương tự. Lúc nạp code. Như chúng ta biết, giờ anh tắt nghĩa là OFF với đọc là "óp phừ" 

*
và khi các bạn đọc off, đèn đang tắt.

Tuy nhiên các bạn có thể sử dụng giờ việt.nó sẽ không còn thể phần biệt được từ có và cỏ. Tuy nhiên nó rất có thể phân biệt được giữa có và không, bật và tắt, trái với phải. Hãy thuộc thử coi nhé.