Satura rādītājs:

Runas atpazīšanas ierīce: 12 soļi
Runas atpazīšanas ierīce: 12 soļi

Video: Runas atpazīšanas ierīce: 12 soļi

Video: Runas atpazīšanas ierīce: 12 soļi
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Novembris
Anonim
Runas atpazīšanas ierīce
Runas atpazīšanas ierīce

Sveiki visiem………

Šī ir mana otrā pamācība, ko es ievietoju

Tāpēc laipni gaidīti visi …

Šajā pamācībā es jums iemācīšu, kā izveidot balss atpazīšanas ierīci, izmantojot arduino dēli.

Tāpēc es domāju, ka jums jau ir pieredze ar arduino dēļiem. Ja nē, šeit tā nav liela problēma. Bet es iesaku jums pierast, jo ir ļoti interesanti ar to spēlēties un izveidot foršus projektus no jūsu radošuma un zināšanām par to.

Tātad cilvēkiem, kuriem nav iepriekšējas pieredzes arduino lietošanā:

Arduino ir atvērtā koda datoru aparatūra, ko ražo uzņēmums, kuram ir liela dizaineru un ražotāju kopiena. To var uzskatīt par mazu datoru, ko var izmantot citu elektronisko shēmu kontrolei

Arduino ir ieprogrammēts vidē, kuru viņi paši ir izstrādājuši un kuru var viegli lejupielādēt no viņu vietnes

1. darbība. Kā iestatīt vidi?

Kā sakārtot vidi?
Kā sakārtot vidi?
Kā sakārtot vidi?
Kā sakārtot vidi?
Kā sakārtot vidi?
Kā sakārtot vidi?
Kā sakārtot vidi?
Kā sakārtot vidi?

Vienkārši meklējiet google "lejupielādēt arduino"

Noklikšķiniet uz "Arduino - programmatūra"

Jūs varēsit redzēt "Lejupielādēt Arduino IDE"

Izvēlieties atkarībā no operētājsistēmas

Lejupielādējiet un instalējiet to

Tātad jūs esat veiksmīgi instalējis programmatūru un varat uzrakstīt savu kodu arduino, un ar kabeļa palīdzību jūs varat savienot arduino plāksni ar datoru un ievietot kodu.

2. solis: Kāpēc pieaug pieprasījums pēc Arduino?

Lēti

Arduino plates ir lētas salīdzinājumā ar citām mikrokontrolleru platformām. Tas maksās tikai aptuveni 50 USD.

Vairāku platformu

Arduino programmatūra darbojas operētājsistēmās Windows, Macintosh OS un Linux. Ja mēs domājam par citām mikrokontrolleru sistēmām, tas darbosies tikai sistēmā Windows vai, citiem vārdiem sakot, tikai Windows.

Atvērta pirmkoda un paplašināma programmatūra

Programmatūra ir atvērtā koda, tāpēc cilvēki sāka par to padziļināti pētīt un iekļaut citu programmēšanas valodu bibliotēkas (kas ietver funkciju kopumu).

Vienkārša un ērta programmēšanas vide

Cilvēkiem, tostarp iesācējiem, ir viegli izmantot Arduino IDE (programmatūru, par kuru mēs jau esam apsprieduši…), jo lielu resursu daudzumu nodrošina pats Arduino, kas ir pieejams internetā bez maksas. Tāpēc nekautrējieties uzzināt vairāk par to.

Atvērta pirmkoda un paplašināma aparatūra

Arduino dēļu plāni tiek publicēti saskaņā ar Creative Commons licenci, tāpēc cilvēki, kuriem ir pieredze shēmu projektēšanā, var izveidot savu moduļa versiju, viņiem ir arī tiesības paplašināt tehnoloģiju un uzlabot, pievienojot tai funkcijas.

3. solis: sāksim !!!!

Tāpēc es jau teicu, ka šis projekts galvenokārt ir vērsts uz balss atpazīšanu, izmantojot Arduino, un ļauj tam veikt dažus uzdevumus.

Skaidrāk runājot ……

Tas uztver lietotāja sniegtos skaņas signālus, kurus var noteikt, mirgojot gaismas diodei pēc tam, kad tas tiek pārveidots par sintezētu runu.

4. darbība. Nepieciešamās sastāvdaļas

Nepieciešamas sastāvdaļas
Nepieciešamas sastāvdaļas
Nepieciešamas sastāvdaļas
Nepieciešamas sastāvdaļas
Nepieciešamas sastāvdaļas
Nepieciešamas sastāvdaļas

Šim projektam nepieciešamās galvenās sastāvdaļas ir:

Arduino termiņš x 1

Spark Fun Electret mikrofona sadalījums x 1

Spark Fun Mono audio pastiprinātāja pārtraukums x 1

Skaļrunis: 0,25 W, 8 omi x 1

Maizes dēlis x 1

5 mm LED: sarkans x 3

Rezistors 330 omi x 3

Jumper vadi x 1

Lodāmurs x 1

BitVoicer serveris

Tas ir runas atpazīšanas un sintēzes serveris runas automatizācijai.

5. darbība. Kā tas faktiski darbojas?

1. Tiek noskaidroti audio viļņi, tad tie uztver šos viļņus, un tos pastiprina Sparkfun Electret Breakout dēlis.

2. Pastiprinātais signāls, kas iegūts no iepriekšminētā procesa, tiks digitalizēts un buferizēts/saglabāts Arduino kartē, izmantojot tajā esošo analogo ciparu pārveidotāju (ADC).

3. Audio paraugi tiks piegādāti BitVoicer serverim, izmantojot esošo Arduino seriālo portu.

4. BitVoicer Server apstrādās audio straumi un pēc tam atpazīs tajā ietverto runu.

5. Atzītā runa tiks kartēta ar komandām, kas jau iepriekš ir definētas, pēc tam tā tiks nosūtīta atpakaļ uz Arduino. Ja viena no komandām sastāv no runas sintezēšanas, BitVoicer Server sagatavos audio straumi un nosūtīs to Arduino.

6. Arduino identificēs sniegtās komandas un veiks noteiktu atbilstošu darbību. Ja tiek saņemta audio straume, tā tiks ierindota BVS skaļruņu klasē un atskaņota, izmantojot DUE DAC un DMA.

7. SparkFun mono audio pastiprinātājs pastiprinās DAC signālu, lai tas varētu vadīt 8 omu skaļruni un to varētu dzirdēt.

6. darbība: komponentu savienošana

Sastāvdaļu savienošana
Sastāvdaļu savienošana
Sastāvdaļu savienošana
Sastāvdaļu savienošana

Pirmais solis ir savienot dažādus komponentus maizes dēļā un arī ar arino plāksni, kā parādīts attēlā

Atcerieties, ka šeit izmantotā arduino plāksne ir DUE, ir dažādi citi modeļi, kurus ir ražojis Arduino, un katrs darbojas dažādos sprieguma līmeņos

Lielākā daļa Arduino dēļu darbojas pie 5 V sprieguma, bet DUE darbojas ar 3,3 V

DUE jau izmanto 3,3 V analogo atsauci, tāpēc jums nav nepieciešams džemperis AREF tapai

Atvainojiet, es aizmirsu pateikt, ka AREF tapa ir “ANALOG REFERENCE PIN”, kas atrodas arduino panelī, kā parādīts nākamajā attēlā (tas ir arduino UNO, bet līdzīgā vietā līdzīgā vietā DUE gadījumā)

AREF tapa uz DUE ir savienota ar mikrokontrolleri, izmantojot pretestības tiltu

Lai izmantotu AREF tapu, rezistoram R1 jābūt atlocītam no PCB [iespiedshēmas plates]

7. darbība: koda nodrošināšana Arduino padomei

Koda nodrošināšana Arduino padomei
Koda nodrošināšana Arduino padomei

Tāpēc mums ir jāaugšupielādē kods Arduino panelī, lai tas varētu darboties atkarībā no kodā sniegtajiem norādījumiem.

To ir ļoti viegli izdarīt. Es detalizēti paskaidrošu katru no tiem, par to, ko viņi dara un kā viņi strādā.

Kā instalēt bibliotēku?

Tāpēc pirms tam mums jāzina, kā instalēt BitVoicer Server bibliotēkas Arduino IDE,.that arduino programmatūrā.

Tāpēc atveriet Arduino IDE

Augšējā panelī noklikšķiniet uz "Skice"

Pēc tam noklikšķiniet uz "Iekļaut bibliotēku"

Pēc tam noklikšķiniet uz "Pārvaldīt bibliotēku"

Pēc tam tiks atvērts bibliotēkas pārvaldnieks, un mēs redzēsim to bibliotēku sarakstu, kuras ir gatavas instalēšanai, vai tās, kuras jau ir instalētas

Atrodiet instalējamo bibliotēku un pēc tam atlasiet versijas numuru

Šeit mēs instalējam BitVoicer Server bibliotēkas, kas ir nepieciešamas šim projektam

Kā importēt.zip bibliotēku?

Bibliotēkas var izplatīt arī kā ZIP failu vai mapi

Mapes nosaukums ir bibliotēkas nosaukums

Mapes iekšpusē būs.cpp fails,.h fails un bieži vien atslēgvārdu.txt fails, piemēru mape un citi bibliotēkai vajadzīgie faili

No Arduino IDE versijas 1.0.5 jūs varat tajā instalēt trešo pušu bibliotēkas

Neizpakojiet lejupielādēto bibliotēku, atstājiet to tādu, kāda tā ir

Lai to izdarītu, dodieties uz skici> Iekļaut bibliotēku> Pievienot.zip bibliotēku

Atlasiet.zip faila atrašanās vietu un atveriet to.

Atgriezieties izvēlnē Skice> Importēt bibliotēku.

Ja tā ir pareizi importēta, navigācijas laikā šī bibliotēka ir redzama nolaižamās izvēlnes apakšā.

8. solis: programma/skice

Šī ir programma, kas jāaugšupielādē Arduino.

To var izdarīt, vienkārši pievienojot Arduino dēli datoram un augšupielādējot to panelī.

9. darbība: kā ir ar rakstītajiem kodiem?

Tagad apskatīsim, ko katra no kodā ierakstītajām funkcijām patiesībā veic ………..

Bibliotēkas atsauces un mainīgā deklarācija

Pirms runāt par to, mums ir jāzina un jāsaprot dažas pamata terminoloģijas. Tie ietver:

  • BVSP

    Tā ir bibliotēka, kas sniedz mums gandrīz visus resursus, kas nepieciešami informācijas apmaiņai ar BitVoicer serveri

    Pastāv protokols, kas pazīstams kā BitVoicer servera protokols, kas tiek ieviests, izmantojot BVSP klasi. Tas ir nepieciešams, lai mijiedarbotos ar serveri

  • BVSMic

    Tā ir bibliotēka, kas ievieš visas lietas, kas nepieciešamas audio ierakstīšanai, izmantojot Arduino analogo-ciparu pārveidotāju (ADC)

    Šis audio tiek saglabāts klases iekšējā buferī, un tos var izgūt un pēc tam nosūtīt uz runas atpazīšanas dzinējiem, kas ir pieejami BitVoicer serverī

  • BVSSkaļrunis

    Tā ir bibliotēka, kurā ir visi nepieciešamie resursi, kas nepieciešami, lai reproducētu no BitVoicer servera izsūtītās audio straumes

    Lai to izdarītu, Arduino plāksnei jābūt iebūvētam digitālā-analogā pārveidotājam (DAC)

    Arduino DUE ir vienīgā Arduino plate, kurai ir integrēts DAC

BVSP, BVSMic, BVSSpeaker un DAC bibliotēkas, atsauce uz tām ir uzrakstīta pirmajās četrās rindās, kas veido programmas skatīšanos

Instalējot BitVoicer Server, jūs varat atrast BitSophia, kas nodrošina visas šīs četras bibliotēkas

Kad lietotājs pievieno atsauci BVSSpeaker bibliotēkai, tiks automātiski izsaukta iepriekš minētā DAC bibliotēka

BVSP klase tiek izmantota, lai sazinātos ar BitVoicer Server

BVSMic klase tiek izmantota audio ierakstīšanai un saglabāšanai

BVSSpeaker klase tiek izmantota audio reproducēšanai, izmantojot Arduino DUE DAC

2. iestatīšanas funkcija

Iestatīšanas funkcija tiek izmantota, lai veiktu noteiktas darbības, piemēram:

Lai iestatītu tapas režīmus un to sākotnējos stāvokļus

Lai inicializētu seriālo komunikāciju

Lai inicializētu BVSP klasi

Lai inicializētu BVSMic klasi

Lai inicializētu BVSSpeaker klasi

Tas arī nosaka “notikumu apstrādātājus” (funkciju norādes) kadramReceived, modeChanged un streamReceived BVSP klases notikumiem

10. solis: cilpas funkcija

Tā veic piecas galvenās operācijas:

1. keepAlive () funkcija

Šī funkcija ir pieprasīt serverim informāciju par statusu.

2. saņemšanas () funkcija

Šī funkcija ir pārbaudīt, vai serveris ir izsūtījis datus vai nē. Ja serveris nosūtīja datus, tas tos apstrādās.

3. isSREAvailable (), startRecording (), stopRecording () un sendStream () funkcijas

Šīs funkcijas tiek izmantotas, lai kontrolētu dažādus audio ierakstīšanas iestatījumus, un pēc tam, kad tas būs sasniedzis audio, tas nosūtīs šo audio uz BitVoicer serveri.

4. play () funkcija

Šī funkcija tiek izmantota, lai atskaņotu audio, kas ierindots BVSSpeaker klasē.

5. playNextLEDNote ()

Šo funkciju izmanto, lai kontrolētu LED mirgošanu.

6. BVSP_frameReceived funkcija

Šī funkcija tiek izsaukta katru reizi, kad saņemšanas () funkcija sāk noteikt, ka ir saņemts viens pilnīgs kadrs. Šeit mēs izpildām komandas, kas iegūtas no BitVoicer Server. Komandas, kas kontrolē gaismas diožu mirgošanu, ir 2 baiti. Šajā pirmajā baitā norādiet tapu, bet otro baitu - tapas vērtību. Šeit mēs izmantojam funkciju analogWrite (), lai iestatītu atbilstošo tapu vērtību. Tajā laikā mums arī jāpārbauda, vai ir saņemta baitu tipa playLEDNotes komanda. Ja tas ir saņemts, es iestatīju playLEDNotes uz true, un tas uzraudzīs un atzīmēs pašreizējo laiku. Šo laiku izmantos funkcija playNextLEDNote, lai sinhronizētu gaismas diodes ar dziesmu.

7. BVSP_modeChanged funkcija

Šī funkcija tiek izsaukta katru reizi, kad saņemšanas () funkcija identificē režīma izmaiņas izejošā virzienā (Server Arduino). BitVoicer serveris var nosūtīt ierāmētus datus vai audio uz Arduino. Pirms saziņa pāriet no viena režīma uz citu, BitVoicer Server nosūta signālu. BVSP klase identificē šo signālu un paaugstina vai atzīmē notikumu modeChanged. Funkcijā BVSP_modeChanged, ja lietotājs konstatē, ka komunikācija notiek no straumes režīma uz ierāmētu režīmu, viņš/viņa zinās, ka audio ir beidzies, lai lietotājs varētu pateikt BVSSpeaker klasei pārtraukt audio atskaņošanu.

8. BVSP_streamReceived funkcija

Šī funkcija tiek izsaukta katru reizi, kad saņemšanas () funkcija nosaka, ka ir saņemti audio paraugi. Tas vienkārši izgūst audio un ierindo tos BVSSpeaker klasē, lai atskaņošanas () funkcija varētu tos reproducēt.

9. playNextLEDNote funkcija

Šī funkcija darbojas tikai tad, ja funkcija BVSP_frameReceived identificē komandu playLEDNotes. Tas kontrolē un sinhronizē gaismas diodes ar skaņu, kas nosūtīta no BitVoicer servera. Lai sinhronizētu gaismas diodes ar audio un zinātu pareizo laiku, var izmantot bezmaksas programmatūru Sonic Visualizer. Tas ļauj mums skatīties audio viļņus, lai persona varētu noteikt, kad tika nospiesta klavieru taustiņš.

11. darbība. Kā importēt BitVoicer servera risinājuma objektus?

Tagad mēs esam iestatījuši paaugstināto BitVoicer serveri darbam ar Arduino.

BitVoicer serverim ir četri galvenie risinājuma objekti: atrašanās vietas, ierīces, binārie dati un balss shēmas.

Apskatīsim tos sīkāk:

Atrašanās vietas

Tas attēlo fizisko atrašanās vietu, kurā ierīce tiek instalēta.

Mēs varam izveidot atrašanās vietu ar nosaukumu Mājas.

Ierīces

Tie tiek uzskatīti par BitVoicer Server klientiem.

Tāpat kā atrašanās vietas izveide, mēs varam izveidot jauktu ierīci, ērtības labad nosauksim to kā ArduinoDUE.

Dažreiz var notikt bufera pārpilde, tāpēc, lai to novērstu, man bija jāierobežo datu pārraides ātrums sakaru iestatījumos līdz 8000 paraugiem sekundē.

BinaryData ir komandas veids, ko BitVoicer Server var nosūtīt uz klientu ierīcēm. Tie faktiski ir baitu masīvi, kurus varat saistīt ar komandām.

Kad BitVoicer Server atpazīst runu, kas saistīta ar šo komandu, tā nosūta baitu masīvu mērķa ierīcei.

Tāpēc šī iemesla dēļ katrai pin vērtībai esmu izveidojis vienu BinaryData objektu un nosaucis tos par ArduinoDUEGreenLedOn, ArduinoDUEGreenLedOff un tā tālāk.

Tāpēc man bija jāizveido 18 BinaryData objekti, tāpēc es iesaku jums lejupielādēt un importēt objektus no faila VoiceSchema.sof, kas ir sniegts zemāk.

Tātad, kas ir balss shēma?

Balss shēmas ir visas lietas. to galvenā loma ir noteikt, kā teikumi jāatpazīst un kādas komandas jāizpilda.

Katram teikumam varat definēt tik daudz komandu, cik nepieciešams, un to izpildes secību.

Varat arī definēt aizkavēšanos starp katru sniegto komandu.

BitVoicer Server atbalsta tikai 8 bitu mono PCM audio (8000 paraugi sekundē), tāpēc būs jāpārveido audio fails šajā formātā, šodien ir tik daudz tiešsaistes reklāmguvumu nodevu, un es iesaku https://audio.online -convert.com/convert-to-wav.

Jūs varat importēt (risinājuma objektu importēšana) visus risinājuma objektus, kurus izmantoju šajā projektā, no tālāk norādītajiem failiem.

Vienā no tām ir DUE ierīce, bet otrā - balss shēma un tās komandas.

12. solis. Secinājums

Lūdzu !!!

Jūs esat izveidojis lielisku projektu un varat ar to sarunāties

Tāpēc sāc runāt ……………………

Jūs varat mirgot gaismas diodes un vienlaikus teikt, ka dzied dziesmu, ja tas ir nepieciešams, tās kods jau ir sniegts

Tātad esmu pabeidzis savu otro pamācību !!!!!!!!

Jā ……

Domāju, ka visi to saprata …

Ja kādam ir kādi jautājumi, lūdzu, jautājiet man

Nākamreiz es nākšu klajā ar lielisku pamācību …

Čau…

Uz drīzu redzēšanos……………

Ieteicams: