Talaan ng mga Nilalaman:

Kilalanin sa pagsasalita: 12 Hakbang
Kilalanin sa pagsasalita: 12 Hakbang

Video: Kilalanin sa pagsasalita: 12 Hakbang

Video: Kilalanin sa pagsasalita: 12 Hakbang
Video: Marungko I Unang Hakbang sa Pagbasa I Aralin 12 I Letrang ng 2024, Hulyo
Anonim
Nakikilala sa pagsasalita
Nakikilala sa pagsasalita

Kumusta lahat ………

Ito ang aking pangalawang itinuro sa pag-post

Kaya maligayang pagdating sa lahat ….

Sa Instructable na ito ay magtuturo ako sa iyo tungkol sa kung paano bumuo ng isang nakakilala ng boses gamit ang isang arduino board.

Kaya sa palagay ko mayroon kang isang karanasan sa mga board ng arduino dati. Kung hindi, hindi naman ito isang malaking malaking problema dito. Ngunit inirerekumenda ko sa iyo na masanay ka rito sapagkat nakakainteres na makipaglaro dito at lumikha ng ilang mga cool na proyekto sa labas nito ayon sa iyong pagkamalikhain at kaalaman dito.

Kaya para sa mga tao na walang dating karanasan sa paggamit ng arduino:

Ang Arduino ay isang bukas na mapagkukunan ng computer hardware na kung saan ay gawa ng isang kumpanya na mayroong isang malaking komunidad ng mga tagadisenyo at tagagawa. Maaari itong maituring na tulad ng isang maliit na computer na maaaring magamit upang makontrol ang iba pang mga elektronikong circuit

Ang Arduino ay nai-program sa isang kapaligiran na binuo ng kanilang mga sarili na maaaring madaling mai-download mula sa kanilang website

Hakbang 1: Paano Ma-set-up ang Kapaligiran?

Paano i-set-up ang Kapaligiran?
Paano i-set-up ang Kapaligiran?
Paano i-set-up ang Kapaligiran?
Paano i-set-up ang Kapaligiran?
Paano i-set-up ang Kapaligiran?
Paano i-set-up ang Kapaligiran?
Paano i-set-up ang Kapaligiran?
Paano i-set-up ang Kapaligiran?

Maghanap lang sa google na "download arduino"

Mag-click sa "Arduino - Software"

Makikita mo ang "I-download ang Arduino IDE"

Piliin depende sa operating system mo

I-download at i-install ito

Kaya't matagumpay mong na-install ang software at maaari mong isulat ang iyong code para sa arduino at sa tulong ng isang cable maaari mong ikonekta ang arduino board sa computer at maipasok ang code.

Hakbang 2: Bakit Tumataas ang Kahilingan para sa Arduino?

Hindi magastos

Ang mga board ng Arduino ay mura sa paghahambing sa iba pang mga platform ng micro-controller. Ang gastos ay halos $ 50.

Cross-platform

Gumagana ang Software para sa Arduino sa mga operating system ng Windows, Macintosh OS, at Linux. Kung sa tingin namin ng iba pang mga system ng micro-controller gagana lamang ito sa Windows o sa madaling salita ay limitado lamang sa windows.

Buksan ang mapagkukunan at extensible software

Ang software ay bukas na mapagkukunan, sa gayon ang mga tao ay nagsimulang pag-aralan ang tungkol dito nang malalim at isama ang mga aklatan (na kasama ang isang hanay ng mga pagpapaandar para sa pagpapatakbo nito) ng iba pang mga wika sa pagprograma.

Simple at madaling programa sa kapaligiran

Madaling gamitin ang Arduino IDE (software na tinalakay na tungkol sa….) Para sa mga taong kabilang ang mga nagsisimula, dahil ang isang malaking halaga ng mga mapagkukunan ay ibinigay ng Arduino mismo na magagamit sa internet nang libre. Kaya't huwag mag-atubiling matuto nang higit pa tungkol doon.

Buksan ang mapagkukunan at extensible hardware

Ang mga plano ng Arduino boards ay nai-publish sa ilalim ng isang lisensya ng Creative Commons, kaya ang mga taong may karanasan sa pagdidisenyo ng circuit ay maaaring gumawa ng kanilang sariling bersyon ng modyul, mayroon din silang karapatang pahabain ang teknolohiya at maaaring mapabuti sa pamamagitan ng pagdaragdag ng mga tampok dito.

Hakbang 3: Magsimula Tayo !!!!!

Kaya't nasabi ko na ang proyektong ito ay pangunahing nakatuon sa pagkilala sa boses gamit ang Arduino at payagan itong magsagawa ng ilang mga gawain.

Mas malinaw na nakikipag-usap …….

Kinukuha nito ang mga signal ng tunog na ibinigay ng gumagamit, na maaaring makita sa pamamagitan ng pagkurap ng LED pagkatapos nito ay nai-convert sa synthesized na pagsasalita.

Hakbang 4: Kinakailangan ang Mga Bahagi

Kinakailangan ang Mga Bahagi
Kinakailangan ang Mga Bahagi
Kinakailangan ang Mga Bahagi
Kinakailangan ang Mga Bahagi
Kinakailangan ang Mga Bahagi
Kinakailangan ang Mga Bahagi

Ang mga pangunahing sangkap na kinakailangan para sa proyektong ito ay:

Arduino Dahil sa x 1

Spark Fun Electret Microphone Breakout x 1

Spark Fun Mono Audio Amp Breakout x 1

Tagapagsalita: 0.25W, 8 ohms x 1

Breadboard x 1

5 mm LED: Pula x 3

Resistor 330 ohm x 3

Jumper wires x 1

Panghinang na bakal x 1

BitVoicer Server

Ito ay isang pagkilala sa pagsasalita at pagbubuo ng server para sa pag-aautomat ng pagsasalita.

Hakbang 5: Paano Ito Totoong Gumagawa?

1. Ang mga alon ng audio ay nahanap pagkatapos kinukuha ang mga alon na ito at at pinalakas ng Sparkfun Electret Breakout board.

2. Ang pinalakas na signal na nakamit mula sa proseso sa itaas ay mai-digital at naka-buffer / nakaimbak sa Arduino board gamit ang analog-to-digital converter (ADC) na naroroon.

3. Ang mga sample ng audio ay ibibigay sa BitVoicer Server gamit ang Arduino serial port na naroroon.

4. Iproseso ng BitVoicer Server ang audio stream at pagkatapos ay makikilala nito ang pagsasalita na naglalaman nito.

5. Ang kinikilalang pagsasalita ay maima-map sa mga utos na naitala na mismo, at pagkatapos ay ibabalik ito sa Arduino. Kung ang isa sa mga utos ay binubuo sa pagbubuo ng pagsasalita, ihahanda ng BitVoicer Server ang audio stream at ipadala ito sa Arduino.

6. Makikilala ng Arduino ang mga ibinigay na utos at isasagawa ang tiyak na naaangkop na aksyon. Kung natanggap ang isang audio stream, pipilahan ito sa klase ng BVS Speaker at ipe-play gamit ang DUE DAC at DMA.

7. Ang SparkFun Mono Audio Amplifier ay magpapalakas ng signal ng DAC upang maaari itong magmaneho ng isang 8 Ohm speaker at maririnig sa pamamagitan nito.

Hakbang 6: Pag-kable ng Mga Bahagi

Pag-kable ng Mga Bahagi
Pag-kable ng Mga Bahagi
Pag-kable ng Mga Bahagi
Pag-kable ng Mga Bahagi

Ang pinakaunang hakbang ay ang pag-wire ng iba't ibang mga bahagi sa breadboard at kasama din ang arduino board tulad ng ipinakita sa larawan

Tandaan na ang arduino board na ginamit dito ay DUE, may iba`t ibang mga modelo na ginawa ng Arduino bawat isa ay gumagana sa iba't ibang mga antas ng boltahe

Karamihan sa mga board ng Arduino ay gumagana sa 5 V, ngunit ang DUE ay tumatakbo sa 3.3 V

Gumagamit na ang DUE ng isang sanggunian na 3.3 V analog kaya hindi mo kailangan ng isang lumulukso sa mga pin ng AREF

Oh sorry, nakalimutan kong sabihin na ang isang pin ng AREF ay isang "ANALOG REFERENCE PIN" na naroroon sa isang arduino board tulad ng ipinakita sa susunod na pigura (Ito ay isang arduino UNO ngunit pareho ito sa katulad na site sa kaso ng DUE)

Ang mga pin ng AREF sa DUE ay konektado sa micro-controller sa pamamagitan ng isang tulay ng risistor

Upang magamit ang AREF pin, ang risistor R1 ay dapat na de-solder mula sa PCB [Printed Circuit Board]

Hakbang 7: Pagbibigay ng Code sa Arduino Board

Pagbibigay ng Code sa Arduino Board
Pagbibigay ng Code sa Arduino Board

Kaya kailangan nating i-upload ang code sa Arduino Board, upang maaari itong gumana depende sa mga tagubiling ibinigay sa code.

Napakadaling gawin ito. Ipapaliwanag ko ang bawat isa sa kanila nang detalyado, tungkol sa kung ano ang ginagawa nila at kung paano sila gumagana.

Paano Mag-install ng isang Library?

Kaya bago ito kailangan nating malaman kung paano i-install ang mga library ng BitVoicer Server sa Arduino IDE,.na papunta sa arduino software.

Kaya't para sa buksan ang Arduino IDE

Sa tuktok na panel mag-click sa "Sketch"

Pagkatapos Mag-click sa "Isama ang Library"

Sa pag-click na iyon sa "Pamahalaan ang Library"

Pagkatapos ay magbubukas ang tagapamahala ng library at maaari naming makita ang isang listahan ng mga aklatan na handa na para sa pag-install o mga na-install na

Maghanap para mai-install ang library at pagkatapos ay piliin ang numero ng bersyon

Dito ay nag-i-install kami ng mga library ng BitVoicer Server, na kinakailangan para sa proyektong ito

Paano Mag-import ng isang.zip library?

Maaari ding ipamahagi ang mga aklatan bilang isang ZIP file o folder

Ang pangalan ng folder ay ang pangalan ng library

Sa loob ng folder ay magkakaroon ng isang.cpp file, isang.h file at madalas isang keywords.txt file, mga halimbawa ng folder, at iba pang mga file na kinakailangan ng library

Mula sa bersyon 1.0.5 ng Arduino IDE, maaari kang mag-install ng mga 3rd party na aklatan sa loob nito

Huwag alisan ng zip ang na-download na library, iwanan ito tulad ng dati

Para doon pumunta sa sketch> Isama ang Library> Magdagdag ng.zip Library

Piliin ang lokasyon ng.zip file at buksan ito.

Bumalik sa menu ng Sketch> Import Library.

Kung maayos itong na-import pagkatapos ang library na iyon ay makikita sa ilalim ng drop-down na menu kapag nag-navigate ka.

Hakbang 8: Program / Sketch

Ito ang programa na kailangang mai-upload sa Arduino.

Maaari itong magawa sa pamamagitan lamang ng pagkonekta sa Arduino Board sa computer at i-upload ito sa board.

Hakbang 9: Paano Tungkol sa Mga Nakasulat na Mga Code?

Tingnan natin ngayon kung ano ang aktwal na ginagawa ng bawat isa sa mga pagpapaandar na nakasulat sa code ………..

Mga sanggunian sa library at variable na deklarasyon

Bago pag-usapan ito kailangan nating malaman at maunawaan ang ilang pangunahing mga terminolohiya. Kabilang dito ang:

  • Ang BVSP

    Ito ay isang silid-aklatan na nagbibigay sa amin ng halos lahat ng mga mapagkukunan na kinakailangan upang makipagpalitan ng impormasyon sa BitVoicer Server

    Mayroong isang kasalukuyang protokol na kilala bilang BitVoicer Server Protocol na ipinatupad sa pamamagitan ng klase ng BVSP. Kinakailangan ito upang makipag-ugnay sa server

  • BVSMic

    Ito ay isang silid-aklatan na nagpapatupad ng lahat ng mga bagay na kinakailangan upang maitala ang audio gamit ang Analog-to-Digital Converter (ADC) ng Arduino

    Ang audio na ito ay nakaimbak sa klase ng panloob na buffer at maaari silang makuha at pagkatapos ay maipadala ito sa mga makina ng pagkilala sa pagsasalita na magagamit sa BitVoicer Server

  • BVSSpeaker

    Ito ay isang silid-aklatan na naglalaman ng lahat ng mahahalagang mapagkukunan na kinakailangan upang kopyahin ang mga audio stream na ipinadala mula sa BitVoicer Server

    Para doon ang Arduino board ay dapat magkaroon ng isang built-in na Digital-to-Analog Converter (DAC)

    Ang Arduino DUE ay ang tanging Arduino board na mayroong isang integrated DAC

Ang mga aklatan ng BVSP, BVSMic, BVSSpeaker at DAC, ang sanggunian sa mga ito ay nakasulat sa unang apat na linya na bumubuo sa pagtitig ng programa

Kapag na-install mo ang BitVoicer Server maaari kang makahanap ng BitSophia na nagbibigay ng lahat ng mga apat na aklatan na ito

Kapag nagdagdag ang gumagamit ng isang sanggunian sa BVSSpeaker library ang library ng DAC na naunang nabanggit ay awtomatikong tatawagin

Ang klase ng BVSP ay ginagamit upang makipag-usap sa BitVoicer Server

Ginagamit ang klase ng BVSMic upang makuha at maiimbak ang audio

Ang klase ng BVSSpeaker ay ginagamit upang kopyahin ang audio gamit ang Arduino DUE DAC

2. pag-andar ng pag-setup

Ginagamit ang pagpapaandar sa pag-setup upang magsagawa ng ilang mga pagkilos tulad ng:

Upang itakda ang mga mode ng pin at ang kanilang mga paunang estado

Upang mapasimulan ang serial komunikasyon

Upang gawing simula ang klase ng BVSP

Upang gawing simula ang klase ng BVSMic

Upang gawing simula ang klase ng BVSSpeaker

Nagtatakda din ito ng mga "handler ng kaganapan" (mga function pointer) para sa frameReceived, modeChanged at streamReceived na mga kaganapan ng klase ng BVSP

Hakbang 10: Pag-andar ng Loop

Nagsasagawa ito ng limang pangunahing operasyon:

1. function na keepAlive ()

Ang pagpapaandar na ito ay upang humiling sa server tungkol sa impormasyon sa katayuan.

2. makatanggap ng () pagpapaandar

Ang pagpapaandar na ito ay upang suriin kung ang server ay nagpadala ng anumang data o hindi. Kung ang Server ay nagpadala ng anumang data ay iproseso ito.

3. ay Magagamit ang (), startRecording (), stopRecording () at sendStream () na mga pagpapaandar

Ang mga pagpapaandar na ito ay ginagamit upang makontrol ang iba't ibang mga setting sa pagrekord ng audio at pagkatapos na makuha nito ang audio ay ipadala nito ang audio na ito sa BitVoicer Server.

4. pag-play () pag-andar

Ang pagpapaandar na ito ay ginagamit upang i-play ang audio na nakapila sa klase ng BVSSpeaker.

5. playNextLEDNote ()

Ginagamit ang pagpapaandar na ito upang makontrol kung paano dapat magpikit ang Led.

6. BVSP_frameReceived function

Ang pagpapaandar na ito ay tinatawag na sa tuwing magsisimula ang pagtanggap () na pag-andar upang kilalanin na ang isang kumpletong frame ay natanggap. Dito namin pinapatakbo ang mga utos na nakamit mula sa BitVoicer Server. Ang mga utos na kumokontrol sa pagpikit ng mga LED ay nasa 2 Bytes. Sa unang byte na iyon ipahiwatig ang pin at pangalawang byte ay nagpapahiwatig ng halaga ng pin. Narito ginagamit namin ang pagpapaandar ng analogWrite () upang itakda ang naaangkop na halaga sa pin. Sa oras na iyon kailangan din nating suriin kung ang utos ng playLEDNotes, na may uri ng Byte, ay natanggap. Kung natanggap ito, itinakda ko ang playLEDNotes sa totoo at susubaybayan at markahan nito ang kasalukuyang oras. Ang oras na ito ay gagamitin ng pag-andar ng playNextLEDNote upang mai-synchronize ang mga LED sa kanta.

7. Pag-andar ng BVSP_modeChanged

Ang pagpapaandar na ito ay tinatawag na sa tuwing ang function na tumanggap () ay tumutukoy sa isang pagbabago sa mode sa papasok na direksyon (Server Arduino). Maaaring magpadala ang BitVoicer Server ng naka-frame na data o audio sa Arduino. Bago magpunta ang komunikasyon mula sa isang mode patungo sa isa pa, ang BitVoicer Server ay nagpapadala ng isang senyas. Kinikilala ng klase ng BVSP ang signal na ito at itataas o i-flag ang kaganapan na modeChanged. Sa pagpapaandar ng BVSP_modeChanged, kung nakita ng gumagamit ang komunikasyon ay pupunta mula sa mode na stream patungo sa naka-frame na mode, malalaman niya na natapos na ang audio upang masabi ng gumagamit sa klase ng BVSSpeaker na ihinto ang pag-play ng audio.

8. BVSP_streamReceived function

Ang pagpapaandar na ito ay tinatawag tuwing oras kapag ang function na tumatanggap () ay kinikilala na ang mga sample ng audio ay natanggap. Kinukuha lamang nito ang audio at pinila ang mga ito sa klase ng BVSSpeaker upang ang kopya ng pag-play () ay maaaring kopyahin ang mga ito.

9. playNextLEDNote function

Tumatakbo lamang ang pagpapaandar na ito kung kinikilala ng pagpapaandar ng BVSP_frameReceived ang utos ng playLEDNotes. Kinokontrol at sinasabay nito ang mga LED sa audio na ipinadala mula sa BitVoicer Server. Upang maisabay ang mga LED sa audio at malaman ang tamang tiyempo, maaaring magamit ang isang libreng software na Sonic Visualizer. Pinapayagan kaming panoorin ang mga audio alon upang masabi ng tao kung kailan pinindot ang isang key ng piano.

Hakbang 11: Paano Mag-import ng Mga Bagay sa Solusyon ng BitVoicer Server?

Na-set up na namin ngayon ang BitVoicer Server upang gumana sa Arduino.

Mayroong apat na pangunahing mga bagay ng solusyon para sa isang BitVoicer Server: Mga Lokasyon, Device, BinaryData at Voice Schemas.

Tingnan natin ito nang detalyado:

Mga lokasyon

Kinakatawan nito ang pisikal na lokasyon kung saan naka-install ang aparato.

Maaari kaming lumikha ng isang lokasyon na tinatawag na Home.

Mga aparato

Ang mga ito ay itinuturing na bilang mga kliyente ng BitVoicer Server.

Tulad ng paglikha ng isang lokasyon maaari kaming lumikha ng isang Mixed aparato, para sa kadalian sa amin ipangalanan ito bilang ArduinoDUE.

Minsan ang ilang mga buffer overflow ay maaaring mangyari upang maalis ito kailangan kong limitahan ang Data Rate sa mga setting ng komunikasyon sa 8000 mga sample bawat segundo.

Ang BinaryData ay isang uri ng utos na maaaring ipadala ng BitVoicer Server sa mga client device. Ang mga ito ay talagang byte arrays maaari kang mag-link sa mga utos.

Kapag kinikilala ng BitVoicer Server ang pagsasalita na nauugnay sa utos na iyon, ipinapadala nito ang byte array sa target na aparato.

Kaya't sa kadahilanang iyon lumikha ako ng isang bagay na BinaryData sa bawat halaga ng pin at pinangalanan silang ArduinoDUEGreenLedOn, ArduinoDUEGreenLedOff at iba pa.

Kaya't kailangan kong lumikha ng 18 mga bagay na BinaryData, kaya iminumungkahi ko na i-download mo at i-import ang mga bagay mula sa file ng VoiceSchema.sof na ibinigay sa ibaba.

Kaya ano ang isang Voice Schema?

Ang Mga Voice Schemas ay kung saan magkakasama ang lahat. ang pangunahing papel ng mga ito ay upang tukuyin kung paano dapat makilala ang mga pangungusap at kung ano ang kailangang patakbuhin ng lahat ng mga utos.

Para sa bawat pangungusap, maaari mong tukuyin ang bilang ng maraming mga utos na kailangan mo at ang pagkakasunud-sunod ng mga ito ay naisakatuparan.

Maaari mo ring tukuyin ang mga pagkaantala sa pagitan ng bawat ibinigay na mga utos.

Sinusuportahan lamang ng BitVoicer Server ang 8-bit mono PCM audio (8000 mga sample bawat segundo) kaya kakailanganin na i-convert ang audio file sa format na ito, maraming mga online na toll ng conversion sa kasalukuyan at inirerekumenda ko ang https://audio.online -convert.com/convert-to-wav.

Maaari mong i-import (Pag-import ng Mga Object ng Solusyon) lahat ng mga object ng solusyon na ginamit ko sa proyektong ito mula sa mga file sa ibaba.

Ang isa sa mga ito ay naglalaman ng DUE Device at ang isa ay naglalaman ng Voice Schema at mga Command nito.

Hakbang 12: Konklusyon

Ayan na !!!!

Gumawa ka ng isang kahanga-hangang proyekto at maaari mo itong kausapin

Kaya't simulang magsalita ……………….

Maaari mong blink up ang LEDs at sa parehong oras maaari mong sabihin ito upang kumanta ng isang kanta kung kailangan nito, ang code nito ay naibigay na

Kaya nakumpleto ko ang aking Pangalawang Maituturo !!!!!!!!!

Yeah ……

Sa palagay ko naiintindihan ito ng lahat….

Kung ang sinuman ay may anumang mga katanungan mangyaring huwag mag-atubiling magtanong sa akin

Makakaisip ako ng isang mahusay na Maituturo sa susunod ….

Paalam…

Hanggang sa muli……………

Inirerekumendang: