Talaan ng mga Nilalaman:

Voice Driven Camera Gamit ang Raspberry Pi: 6 Hakbang
Voice Driven Camera Gamit ang Raspberry Pi: 6 Hakbang

Video: Voice Driven Camera Gamit ang Raspberry Pi: 6 Hakbang

Video: Voice Driven Camera Gamit ang Raspberry Pi: 6 Hakbang
Video: Create your own Canon Printer server with Raspberry Pi 2024, Nobyembre
Anonim
Voice Driven Camera Gamit ang Raspberry Pi
Voice Driven Camera Gamit ang Raspberry Pi

Bumuo ng isang camera na maaaring tumakbo sa boses sa paglipas ng mga utos, higit sa lahat ito ay dinisenyo para sa mga tao ng lahat ng uri, lalo na sa mga taong naghahanap ng kasiyahan sa potograpiya ng oras.

Hakbang 1: Patnubay sa Hardware

Patnubay sa Hardware
Patnubay sa Hardware

Ang VDC ay dinisenyo sa Raspberry Pi (Model B) at nangangailangan ng ilang karagdagang hardware tulad ng isang wifi-adapter (opsyonal) at USB microphone. Ang iminungkahing hardware ay ipinahiwatig sa ibaba na may mga link para sa karagdagang mga detalye. Maaari mong subukan ang bahagyang magkakaibang mga tatak / pagtutukoy ng hardware. Ang VDC ay hindi kaakibat sa alinman sa mga naka-link na vendor ng hardware.

Ang Kumpletong Listahan

  1. Modelong Raspberry Pi B
  2. Picamera
  3. USB mini Mikropono
  4. SD Card
  5. Ethernet cable
  6. Mini-USB Adapter (opsyonal)
  7. Micro USB - wall charger
  8. Mga nagsasalita na gumagana sa pamamagitan ng audio jack ng Raspberry Pi (malamang na kailangan ng sariling lakas)

Ang Listahan ng Mga Peripheral na Peripikadong Raspberry Pi ay maaaring maging kapaki-pakinabang para sa paghahanap ng mga pamalit para sa mga produktong inirekomenda sa itaas.

Assembly

Ang pagpupulong ng mga kinakailangang sangkap ay prangka. Ipasok ang mikropono, SD card, wireless adapter (kung mayroon kang isa), micro-USB cable, ethernet cable, at mga speaker sa Raspberry Pi. Inirerekomenda ang USB wall singil na adapter na i-power, bilang isang standalone na aparato.

Gagamitin ang ethernet cable upang mag-log in sa pi mula sa isang computer habang nasa hakbang ng pag-install ng software. Pagkatapos ng pag-install, kung nais mong gumamit ng isang wireless na koneksyon, ang cable na ito ay maaaring alisin.

Internet connection

Tulad ng nabanggit sa itaas, ang wireless adapter ay opsyonal. Nagpapatakbo ito ng maayos sa isang wired na koneksyon (sa pamamagitan ng ethernet), upang maaari kang pumili sa pagitan ng dalawang pag-setup depende sa kung ano ang pinakamahusay na gumagana para sa iyo.

Hakbang 2: Pag-install ng OS sa Raspberry Pi

Pag-install ng OS sa Raspberry Pi
Pag-install ng OS sa Raspberry Pi

Panimula

Ang Raspberry Pi ay isang credit card na laki ng micro processor na magagamit sa iba't ibang mga modelo na may iba't ibang bilis ng pagproseso na nagsisimula sa 700 MHz. Kung mayroon kang isang modelo B o modelo B +, o ang napakatandang bersyon, ang proseso ng pag-install ay mananatiling pareho. Ang mga taong tumingin sa opisyal na website ng Raspberry Pi, maaaring nakita silang inirekomenda ng "NOOBS" o "NOOBS LITE" Operating System (aka "OS") para sa mga nagsisimula. Ngunit ang paggamit ng Pi ay napakadali at mula sa pagiging isang nagsisimula, ang isa ay magiging pro nang walang oras. Kaya, mas mahusay na sumama sa mas malakas at mas mahusay na OS, ang Raspbian. Ang pangunahing dahilan kung bakit ang tanyag na Raspbian ay mayroon itong libu-libong mga pre built na aklatan upang maisagawa ang maraming mga gawain at i-optimize ang OS. Bumubuo ito ng isang malaking kalamangan habang nagtatayo ng mga application.

Pagda-download ng manunulat ng Raspbian at Imahe

I-download ang pinakabagong bersyon ng Raspbian mula rito. Maaari mong i-download ito nang direkta o sa pamamagitan ng mga agos.

Pahina ng Raspbian

Link ng Pag-download ng Raspbian OS

Kakailanganin mo ang isang manunulat ng imahe upang isulat ang na-download na OS sa SD card (micro SD card sa kaso ng modelo ng Raspberry Pi B +). Kaya i-download ang "win32 disk imager" mula dito.

Sumusulat ng imahe

Ipasok ang SD card sa laptop / pc at patakbuhin ang manunulat ng imahe. Sa sandaling bukas, mag-browse at piliin ang na-download na file ng imahe ng Raspbian. Piliin ang tamang aparato, iyon ang drive na kumakatawan sa SD card. Kung ang drive (o aparato) na napili ay naiiba mula sa SD card kung gayon ang iba pang napiling drive ay magiging masama. KAYA mag-ingat.

Pagkatapos nito, mag-click sa pindutang "Isulat" sa ibaba. Bilang isang halimbawa, tingnan ang imahe sa ibaba, kung saan ang SD card (o micro SD) drive ay kinakatawan ng titik na "G: \"

Kapag nakumpleto na ang pagsusulat, palabasin ang SD card at ipasok ito sa Raspberry Pi at i-on ito. Dapat itong magsimulang mag-boot up.

Pagse-set up ng Pi

Mangyaring tandaan na pagkatapos ng pag-boot sa Pi, maaaring may mga sitwasyon kung kailan tatanungin ang mga kredensyal ng gumagamit tulad ng "username" at password. Ang Raspberry Pi ay may kasamang isang default na pangalan ng gumagamit at password at sa gayon palaging gamitin ito tuwing ito ay tinatanong. Ang mga kredensyal ay:

pag-login: pi

password: raspberry

Kapag na-boot ang Pi sa kauna-unahang pagkakataon, ang isang screen ng pagsasaayos na tinatawag na "Mga Pagpipilian sa Pag-setup" ay dapat na lumitaw at magmukhang ang imahe sa ibaba.

Kung napalampas mo ang screen na "Mga Pagpipilian sa Pag-setup", hindi ito isang problema, maaari mo itong palaging makuha sa pamamagitan ng pag-type ng sumusunod na utos sa terminal.

sudo raspi-config

Sa sandaling maipatupad mo ang utos na ito, ang screen na "Mga Pagpipilian sa Pag-setup" ay lilitaw tulad ng ipinakita sa imahe sa itaas.

Ngayon na nakabukas ang window ng Mga Pagpipilian sa Pag-setup, magtatakda kami ng ilang mga bagay. Matapos makumpleto ang bawat isa sa mga hakbang sa ibaba, kung hihilingin nitong i-reboot ang Pi, mangyaring gawin ito. Matapos ang pag-reboot, kung hindi mo makuha ang screen na "Mga Pagpipilian sa Pag-setup", pagkatapos ay sundin ang utos na ibinigay sa itaas upang makuha ang screen / window.

Ang unang bagay na dapat gawin:

piliin ang unang pagpipilian sa listahan ng window ng mga pagpipilian sa pag-setup, iyon ang piliin ang

Palawakin ang Filesystem

pagpipilian at pindutin ang enter key. Ginagawa namin ito upang magamit ang lahat ng puwang na naroroon sa SD card bilang isang buong pagkahati. Ang lahat ng ito ay, palawakin ang OS upang magkasya ang buong puwang sa SD card na maaaring magamit bilang storage memory para sa Pi. Ang pangalawang bagay na dapat gawin:

piliin ang pangatlong pagpipilian sa listahan ng window ng mga pagpipilian sa pag-setup, iyon ay piliin ang pagpipiliang "Paganahin ang Boot To Desktop / Scratch" at pindutin ang enter key. Dadalhin ka nito sa isa pang window na tinawag na "pumili ng pagpipilian ng boot" na window na mukhang imahe sa ibaba.

Sa "pumili ng window ng pagpipilian ng boot", piliin ang pangalawang pagpipilian, iyon ay, "Desktop Mag-log in bilang 'pi' ng gumagamit sa grapikong desktop" at pindutin ang enter button. Kapag tapos ka na ay ibabalik ka sa pahina ng "Mga Pagpipilian sa Pag-setup", kung hindi piliin ang pindutang "OK" sa ilalim ng window na ito at ibabalik ka sa nakaraang window. Ginagawa namin ito dahil nais naming mag-boot sa desktop environment na pamilyar sa amin. Kung hindi namin gagawin ang hakbang na ito pagkatapos ay ang mga botas ng Raspberry Pi sa isang terminal sa bawat oras na walang mga pagpipilian sa GUI. Kapag, tapos na ang parehong mga hakbang, piliin ang pindutang "tapusin" sa ilalim ng pahina at dapat itong awtomatikong mag-reboot. Kung hindi, pagkatapos ay gamitin ang sumusunod na utos sa terminal upang mag-reboot.

sudo reboot

Ina-update ang firmware

Matapos ang pag-reboot mula sa nakaraang hakbang, kung ang lahat ay tama, pagkatapos ay magtatapos ka sa desktop na mukhang ang imahe sa ibaba.

Kapag nasa desktop ka na, buksan ang isang terminal at ipasok ang sumusunod na utos upang i-update ang firmware ng Pi.

sudo rpi-update

Ang pag-update ng firmware ay kinakailangan dahil ang ilang mga modelo ng Pi ay maaaring walang lahat ng kinakailangang mga dependency upang maayos na tumakbo o maaaring mayroon itong ilang bug. Ang pinakabagong firmware ay maaaring magkaroon ng pag-aayos sa mga bug na iyon, kung gayon napakahalaga na i-update ito sa simula pa mismo.

narito ang magagamit na link sa video:

Pag-install at Pag-configure ng Raspbian Jessie Operating System sa Raspberry Pi (i-click ang link)

Hakbang 3: I-set up ang VNC sa Raspberry Pi upang Malayo Makontrol

I-setup ang VNC sa Raspberry Pi upang Malayo Makontrol
I-setup ang VNC sa Raspberry Pi upang Malayo Makontrol

VNC (Virtual Network Computing)

Minsan ito ay hindi maginhawa upang gumana nang direkta sa Raspberry Pi. Marahil ay nais mong gumana dito mula sa ibang aparato sa pamamagitan ng remote control.

Ang VNC ay isang graphic na sistema ng pagbabahagi ng desktop na nagbibigay-daan sa iyo upang malayuang makontrol ang interface ng desktop ng isang computer (pagpapatakbo ng VNC Server) mula sa isa pang computer o mobile device (pagpapatakbo ng VNC Viewer). Ipinapadala ng VNC Viewer ang keyboard at alinman sa mouse o pindutin ang mga kaganapan sa VNC Server, at tumatanggap ng mga pag-update sa screen bilang kapalit.

Makikita mo ang desktop ng Raspberry Pi sa loob ng isang window sa iyong computer o mobile device. Makakontrol mo ito na parang nagtatrabaho ka sa Raspberry Pi mismo.

Ang VNC Connect mula sa RealVNC ay kasama sa Raspbian. Binubuo ito ng parehong VNC Server, na nagbibigay-daan sa iyo upang makontrol ang iyong Raspberry Pi mula sa malayo, at VNC Viewer, na nagbibigay-daan sa iyo upang makontrol ang mga desktop computer mula sa malayo mula sa iyong Raspberry Pi kung nais mo.

Dapat mong paganahin ang VNC Server bago mo ito magamit: ang mga tagubilin para dito ay ibinibigay sa ibaba. Bilang default, binibigyan ka ng VNC Server ng malayuang pag-access sa graphic na desktop na tumatakbo sa iyong Raspberry Pi, na parang nakaupo ka sa harap nito.

Pagpapagana sa VNC Server

Sa iyong Raspberry Pi, patakbuhin ang mga sumusunod na utos upang matiyak na mayroon kang pinakabagong bersyon ng VNC Connect:

sudo apt-get update

sudo apt-get install realvnc-vnc-server realvnc-vnc-viewer

Paganahin ngayon ang VNC Server. Maaari mong gawin ito nang grapiko o sa linya ng utos.

Pagpapagana sa VNC Server nang grapiko

Sa iyong Raspberry Pi, mag-boot sa graphic na desktop.

Piliin ang Menu> Mga Kagustuhan> Pag-configure ng Raspberry Pi> Mga Interface.

Tiyaking Pinagana ang VNC. Pagpapagana sa VNC Server sa linya ng utos

Maaari mong paganahin ang VNC Server sa linya ng utos gamit ang raspi-config:

sudo raspi-config

Ngayon, paganahin ang VNC Server sa pamamagitan ng paggawa ng mga sumusunod:

Mag-navigate sa Mga Pagpipilian sa Interfacing

Mag-scroll pababa at piliin ang VNC> Oo. Kumokonekta sa iyong Raspberry Pi sa VNC Viewer

Mayroong dalawang paraan upang kumonekta sa iyong Raspberry Pi. Maaari mong gamitin ang alinman o pareho, depende sa kung ano ang pinakamahusay na gumagana para sa iyo.

Ang pagtaguyod ng isang direktang koneksyon

Ang mga direktang koneksyon ay mabilis at simpleng nagbibigay ng sumali ka sa parehong pribadong lokal na network tulad ng iyong Raspberry Pi. Halimbawa, maaaring ito ay isang wired o wireless network sa bahay, sa paaralan, o sa opisina).

Sa iyong Raspberry Pi (gumagamit ng isang window ng terminal o sa pamamagitan ng SSH) gamitin ang mga tagubiling ito o magpatakbo ng ifconfig upang matuklasan ang iyong pribadong IP address.

ifconfig

Sa aparato na gagamitin mo upang makontrol, i-download ang VNC Viewer. Para sa pinakamahusay na mga resulta, gamitin ang katugmang app mula sa RealVNC.

Ipasok ang pribadong IP address ng iyong Raspberry Pi sa VNC Viewer:

Ang pagtaguyod ng isang koneksyon sa cloud

Karapat-dapat kang gumamit ng cloud service ng RealVNC nang libre, sa kondisyon na ang malayuang pag-access ay para sa pang-edukasyon o hindi pang-komersyal na layunin lamang.

Ang mga koneksyon sa cloud ay maginhawa at naka-encrypt na end-to-end. Masidhing inirerekomenda ang mga ito para sa pagkonekta sa iyong Raspberry Pi sa internet. Walang pag-configure muli ng firewall o router, at hindi mo kailangang malaman ang IP address ng iyong Raspberry Pi, o magbigay ng isang static.

Mag-sign up para sa isang RealVNC account dito: libre ito at tumatagal lamang ng ilang segundo.

Sa iyong Raspberry Pi, mag-sign in sa VNC Server gamit ang iyong bagong mga kredensyal ng RealVNC account:

Sa aparato na gagamitin mo upang makontrol, i-download ang VNC Viewer. Dapat mong gamitin ang katugmang app mula sa RealVNC

Mag-sign in sa VNC Viewer gamit ang parehong mga kredensyal ng RealVNC account, at pagkatapos ay mag-tap o mag-click upang kumonekta sa iyong Raspberry Pi:

Pagpapatotoo sa VNC Server

Upang makumpleto ang alinman sa isang direkta o ulap na koneksyon, dapat mong patunayan sa VNC Server.

Kung kumokonekta ka mula sa katugmang VNC Viewer app mula sa RealVNC, ipasok ang pangalan ng gumagamit at password na karaniwang ginagamit mo upang mag-log in sa iyong account ng gumagamit sa Raspberry Pi. Bilang default, ang mga kredensyal na ito ay pi at raspberry.

Kung kumokonekta ka mula sa isang hindi RealVNC Viewer app, kakailanganin mo munang i-downgrade ang scheme ng pagpapatotoo ng VNC Server, tukuyin ang isang password na natatangi sa VNC Server, at pagkatapos ay ipasok iyon. Upang magawa ito, buksan ang dialog ng VNC Server sa iyong Raspberry Pi, piliin ang Menu> Opsyon> Seguridad, at piliin ang VNC password mula sa Pagpapatotoo.

Upang buksan ang tampok na ito:

Sa iyong Raspberry Pi, buksan ang dialog ng VNC Server.

Mag-navigate sa Menu> Mga Opsyon> Pag-troubleshoot at piliin ang Paganahin ang pang-eksperimentong mode ng direktang pagkuha.

Sa aparato na gagamitin mo upang makontrol, patakbuhin ang VNC Viewer at kumonekta.

Tandaan: ang mga umiiral na koneksyon ay dapat na muling simulang upang magkabisa ang mga pagbabagong ito.

Kung tila may kapansanan sa pagganap, subukan ang mga hakbang sa pag-troubleshoot na ito, o ipaalam sa RealVNC.

Lumilikha ng isang virtual desktop

Kung ang iyong Raspberry Pi ay walang ulo (hal. Hindi naka-plug sa isang monitor) o pagkontrol ng isang robot, malamang na hindi ito magpatakbo ng isang graphic na desktop.

Ang VNC Server ay maaaring lumikha ng isang virtual desktop para sa iyo, na nagbibigay sa iyo ng graphic na malayuang pag-access ayon sa hinihiling. Ang virtual desktop na ito ay mayroon lamang sa memorya ng iyong Raspberry Pi:

Upang lumikha at kumonekta sa isang virtual desktop:

Sa iyong Raspberry Pi (gumagamit ng Terminal o sa pamamagitan ng SSH), patakbuhin ang vnc server. Itala ang IP address / display number na i-print ng VNC Server sa iyong Terminal (hal. 192.167. **. **).

Sa aparato na gagamitin mo upang makontrol, ipasok ang impormasyong ito sa VNC Viewer. Upang sirain ang isang virtual desktop, patakbuhin ang sumusunod na utos:

vncserver -patay:

Ihihinto din nito ang anumang umiiral na mga koneksyon sa virtual na desktop.

Hakbang 4: Pag-configure ng Camera

Pag-configure ng Camera
Pag-configure ng Camera

Pagse-set up ng hardware ng camera

Babala: Ang mga camera ay sensitibo sa static. Lupa ang iyong sarili bago ang paghawak ng PCB. Ang isang tap tap o katulad na dapat ay sapat na kung wala kang isang earthing strap.

Ang board ng camera ay nakakabit sa Raspberry Pi sa pamamagitan ng isang 15-way ribbon cable. Mayroong dalawang koneksyon lamang upang magawa: ang ribbon cable ay kailangang mai-attach sa camera ng PCB, at sa Raspberry Pi mismo. Kailangan mong makuha ang cable sa tamang paraan, o hindi gagana ang camera. Sa camera PCB, ang asul na pag-back sa cable ay dapat harapin ang layo mula sa PCB, at sa Raspberry Pi dapat itong harapin patungo sa koneksyon ng Ethernet (o kung saan ang konektor ng Ethernet kung gumagamit ka ng isang modelo A).

Bagaman magkakaiba ang mga konektor sa PCB at Pi, gumagana ang mga ito sa katulad na paraan. Sa mismong Raspberry Pi, hilahin ang mga tab sa bawat dulo ng konektor. Dapat itong madaling dumulas, at makapag-pivot sa paligid nang bahagya. Ganap na ipasok ang laso cable sa puwang, tinitiyak na ito ay nakatakda nang tuwid, pagkatapos ay dahan-dahang pindutin ang mga tab upang mai-clip ito sa lugar. Kinakailangan ka rin ng konektor ng PCB ng camera na hilahin ang mga tab mula sa board, dahan-dahang ipasok ang cable, pagkatapos ay itulak pabalik ang mga tab. Ang konektor ng PCB ay maaaring maging medyo mas mahirap kaysa sa isa sa Pi mismo.

Pagse-set up ng software ng camera

Isagawa ang mga sumusunod na tagubilin sa linya ng utos upang i-download at mai-install ang pinakabagong kernel, GPU firmware, at mga application. Kakailanganin mo ang isang koneksyon sa internet upang ito ay gumana nang tama.

sudo apt-get update

sudo apt-get upgrade

Ngayon kailangan mong paganahin ang suporta ng camera gamit ang

raspi-config

programa na gagamitin mo noong una mong na-set up ang iyong Raspberry Pi.

sudo raspi-config

Gamitin ang mga cursor key upang lumipat sa pagpipilian ng camera, at piliin ang 'paganahin'. Sa paglabas ng raspi-config, hihilingin nitong i-reboot. Titiyakin ng pagpipiliang paganahin na sa pag-reboot ang tamang GPU firmware ay tatakbo kasama ang driver ng camera at pag-tune, at ang paghati sa memorya ng GPU ay sapat upang payagan ang camera na makakuha ng sapat na memorya upang tumakbo nang tama.

Kung hindi ito pinagana, paganahin ito at i-reboot ang iyong Pi upang magsimula

Upang masubukan na naka-install at gumagana ang system, subukan ang sumusunod na utos:

raspistill -v -o test.jpg

Ang display ay dapat magpakita ng isang limang segundong preview mula sa camera at pagkatapos ay kumuha ng larawan, nai-save sa file test.jpg, habang nagpapakita ng iba't ibang mga mensahe ng impormasyon.

RASPIVID

Ang Raspivid ay ang tool ng command line para sa pagkuha ng video gamit ang module ng camera.

Gamit ang module ng camera na konektado at pinagana, mag-record ng isang video gamit ang sumusunod na utos:

raspivid -o vid.h264

Tandaan na gamitin

-hf

at

-vf

upang i-flip ang imahe kung kinakailangan, tulad ng sa

raspistill

Magse-save ito ng isang 5 segundo na file ng video sa landas na ibinigay dito bilang vid.h264 (default na haba ng oras).

Tukuyin ang haba ng video

Upang tukuyin ang haba ng video na kinunan, ipasa sa flag ng -t na may bilang ng mga milliseconds. Halimbawa:

raspivid -o video.h264 -t 10000

Itatala nito ang 10 segundo ng video.

Format ng Video ng MP4

Kinukuha ng Pi ang video bilang isang hilaw na H264 video stream. Maraming mga manlalaro ng media ang tatanggi na i-play ito, o i-play ito sa isang maling bilis, maliban kung ito ay "nakabalot" sa isang naaangkop na format ng lalagyan tulad ng MP4. Ang pinakamadaling paraan upang makakuha ng isang MP4 file mula sa

mabangis

ang utos ay gumagamit ng MP4Box.

I-install ang MP4Box sa utos na ito:

sudo apt-get install -y gpac

Kunan ang iyong hilaw na video gamit ang raspivid at balutin ito sa isang lalagyan na MP4 tulad nito:

# Makunan ang 30 segundo ng hilaw na video sa 640x480 at 150kB / s bit rate sa isang pivideo.h264 file:

raspivid -t 30000 -w 640 -h 480 -fps 25 -b 1200000 -p 0, 0, 640, 480 -o pivideo.h264 # Balot ang hilaw na video gamit ang isang lalagyan na MP4Box -add pivideo.h264 pivideo.mp4 # Alisin ang mapagkukunang hilaw na file, iniiwan ang natitirang file na pivideo.mp4 upang i-play ang rm pivideo.h264

Bilang kahalili, balutin ang MP4 sa paligid ng iyong mayroon nang output ng raspivid, tulad nito:

MP4Box -add video.h264 video.mp4

Hakbang 5: Pag-install at Pag-configure

Sundin lamang ang mga tagubiling ito kung nais mong isulat ang iyong software mula sa simula. Ang mga hakbang sa ibaba ay kinakailangan at inirerekumenda bilang parehong proseso ng pag-install sa iyong Raspberry pi.

Pag-install ng mga dependency

Pag-install ng Sphinxbase / Pocketsphinx

Una, kailangan mong i-install ang Pocketsphinx. Kung gumagamit ka ng Debian Sid (hindi matatag) o Jessie (pagsubok), magagawa mo lamang:

sudo apt-get update

sudo apt-get install pocketsphinx

Magsimula sa pamamagitan ng pag-install ng ilang mga dependency:

sudo apt-get install subversion autoconf libtool automake gfortran g ++ --oo

Susunod, lumipat sa direktoryo ng iyong bahay (o Jasper) upang suriin at i-install ang CMUCLMTK:

svn co

cd cmuclmtk /

./autogen.sh && make && sudo make install

cd..

Pagkatapos, kapag naiwan mo ang direktoryo ng CMUCLTK, i-download ang mga sumusunod na aklatan:

Pag-install ng Phonetisaurus, m2m-aligner at MITLM

Upang magamit ang Pocketsphinx STT engine, kailangan mo ring i-install ang MIT Language Modelling Toolkit, m2m-aligner at Phonetisaurus (at sa gayon OpenFST).

Kung hindi ka gumagamit ng Debian, gawin ang mga hakbang na ito:

#-orihinal:

# wget

# -bago:

wget

wget

wget

wget

I-untar ang mga pag-download:

tar -xvf m2m-aligner-1.2.tar.gz

tar -xvf openfst-1.3.4.tar.gz

ang tar -xvf ay2013-conversion.tgz

tar -xvf mitlm-0.4.1.tar.gz

Bumuo ng OpenFST:

cd openfst-1.3.4 /

sudo./configure --enable-compact-fsts --enable-const-fsts --enable-far --enable-lookahead-fsts --enable-pdt

oras sudo gumawa ng install # bumalik pagkatapos ng talagang mahabang panahon

cd..

totoong 66m38.394s

gumagamit 64m42.620s

sys 1m2.150s

df -h /

Ginamit ang Laki ng Filesystem Magagamit na Magagamit% Naka-mount sa / dev / root 14G 4.4G 8.3G 35% /

Bumuo ng M2M:

cd m2m-aligner-1.2 /

sudo gumawa

cd..

Bumuo ng MITLMT:

cd mitlm-0.4.1 /

sudo./configure

sudo gumawa ng pag-install

cd..

Bumuo ng Phonetisaurus:

cd is2013-conversion / phonetisaurus / src

sudo gumawa

cd

Ilipat ang ilan sa mga naipong file:

sudo cp ~ / m2m-aligner-1.2 / m2m-aligner / usr / local / bin / m2m-aligner

#-orihinal:

# sudo cp ~ / phonetisaurus-0.7.8 / phonetisaurus-g2p / usr / local / bin / phonetisaurus-g2p

#-kailangan upang maging:

sudo cp ~ / is2013-conversion / bin / phonetisaurus-g2p / usr / local / bin / phonetisaurus-g2p

Tandaan ang binagong landas para sa maipapatupad.

Kunin at buuin ang modelo ng Phonetisaurus FST

wget

tar -xvf g014b2b.tgz

cd g014b2b /

./compile-fst.sh

cd..

Panghuli, palitan ang pangalan ng sumusunod na folder para sa kaginhawaan:

mv ~ / g014b2b ~ / phonetisaurus

Kapag nakumpleto na ang mga pag-install, i-restart ang iyong Pi.

Kasunod sa mga tagubilin mula sa

Idinagdag ko rin ang (bago) file `/ etc / modprobe.d / alsa-base.conf` kasama ang nilalamang ito:

# Itinatakda nito ang halaga ng index ng mga card ngunit hindi muling ayos.

mga pagpipilian snd_usb_audio index = 0

mga pagpipilian snd_bcm2835 index = 1

# Gumagawa ba ang muling pagsasaayos.

mga pagpipilian snd slots = snd_usb_audio, snd_bcm2835

upang matiyak ang wastong pag-order ng mga tunog na aparato (bagaman hindi ganap na sigurado na talagang kinakailangan ito, kahit na)

Tapos na sa mga pag-install - ang ilang pag-debug sa susunod …

Sinusubukang simulan ang jasper:

pi @ AVIV: ~ $./jasper/jasper.py

Traceback (pinakahuling tawag sa huli):

File "./jasper/jasper.py", linya 12, mula sa pag-import ng client tts, stt, jasperpath, diagnose File "/home/pi/jasper/client/tts.py", linya 41, sa pag-import ng diagnose File "/ home / pi / jasper / client / diagnose.py ", linya 9, sa pag-import ng pip.req File" /usr/lib/python2.7/dist-packages/pip/_init_.py ", linya 74, mula sa pip. vcs import git, mercurial, subversion, bazaar # noqa File "/usr/lib/python2.7/dist-packages/pip/vcs/mercurial.py", linya 9, mula sa pip.download ang import path_to_url File "/ usr / lib / python2.7 / dist-packages / pip / download.py ", linya 25, mula sa mga requests.compat import IncompleteRead ImportError: hindi ma-import ang pangalan na IncompleteRead

Naayos sa:

sudo easy_install -U pip

Susunod na isyu:

pi @ AVIV: ~ $./jasper/jasper.py

*******************************************************

* JASPER - THE TALKING KOMPUTER * * (c) 2015 Shubhro Saha, Charlie Marsh & Jan Holthuis * ***************************** ***** Traceback (pinakahuling huling tawag): File "./jasper/jasper.py", linya 143, sa app = Jasper () File "./jasper/jasper.py", linya 88, sa _init_ stt_engine_class = stt.get_engine_by_slug (stt_engine_slug) File "/home/pi/jasper/client/stt.py", line 648, in get_engine_by_slug "dependencies, etc.)")% slug)

ValueError: Ang STT engine 'sphinx' ay hindi magagamit (dahil sa nawawalang mga dependency, nawawalang mga dependency, atbp.)

sinusubukan

sudo apt-get install -y python-pocketsphinx

Ayusin ang landas sa `../ phonetisaurus / g014b2b.fst` upang maging` / home / pi / phonetisaurus / g014b2b.fst` sa halip (sa `.jasper / profile.yml`)

pi @ AVIV: ~ $./jasper/jasper.py

*******************************************************

* JASPER - THE TALKING KOMPUTER * * (c) 2015 Shubhro Saha, Charlie Marsh & Jan Holthuis * ***************************** ***** 'ay hindi mayroon! Mangyaring tiyaking naitakda mo ang tamang hmm_dir sa iyong profile.

Ayusin / buhayin ang landas para dito sa `profile.yml` din:

hmm_dir: '/ usr / share / pocketsphinx / model / hmm / en_US / hub4wsj_sc_8k' #optional

(tandaan ang kawalan ng "lokal" sa daanan)

Bahagyang tagumpay -:

pi @ AVIV: ~ $./jasper/jasper.py

*******************************************************

* JASPER - THE TALKING KOMPUTER * * (c) 2015 Shubhro Saha, Charlie Marsh & Jan Holthuis * ***************************** ***** 2239: (snd_pcm_open_noupdate) Hindi kilalang mga PCM card.pcm.center_lfe ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Hindi kilalang mga PCM card.pcm.side ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Hindi kilalang PCd pcm.c: 2239: (snd_pcm_open_noupdate) Hindi kilalang mga PCM card.pcm.hdmi ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Hindi kilalang mga PCM card.pcm.modem ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate PCnp.modem ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Hindi kilalang mga PCM card.pcm.phoneline ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Hindi kilalang mga PCM card.pcm.phoneline ALSA lib pulse.c: 243: (pulse_connect: Hindi makakonekta: Tumanggi ang koneksyon ALSA lib pulse.c: 243: (pulse_connect) PulseAudio: Hindi makakonekta: Tumanggi ang koneksyon Hindi makakonekta upang maghatid r socket err = Walang ganoong file o direktoryo Hindi maikonekta sa server na humiling ng server jack server ay hindi tumatakbo o hindi masimulan Ang pagpapahayag 'paInvalidSampleRate' ay nabigo sa 'src / hostapi / alsa / pa_linux_alsa.c', linya: 2048 Ekspresyon 'PaAlsaStreamComponent_InitialConfigure (at sarili -> capture, inParams, self-> primeBuffers, hwParamsCapture, & realSr) 'ay nabigo sa' src / hostapi / alsa / pa_linux_alsa.c ', linya: 2719 Ekspresyon na' PaAlsaStream_Configure (stream, inputParameter, outputParameter, sampleRate, framesPerBencyer, & inputLency, & hostBufferSizeMode) 'nabigo sa' src / hostapi / alsa / pa_linux_alsa.c ', linya: 2843 Traceback (pinakahuling huling tawag): File "./jasper/jasper.py", linya 148, sa app.run () File "./jasper/jasper.py", linya 118, sa pagpapatakbo ng pag-uusap.handleForever () File "/home/pi/jasper/client/conversation.py", linya 31, sa threshold ng handleForever, nai-transcribe = self.mic.passiveListen (self.persona) File "/home/pi/jasper/client/mic.py", linya 110, sa passiveListen frames_per_buffer = CHUNK) I-file ang "/usr/lib/python2.7/dist-packages/pyaudio.py", linya 747, sa bukas na stream = Stream (sarili, * args, ** kwargs) File "/usr/lib/python2.7/dist -packages / pyaudio.py ", linya 442, sa _init_ self._stream = pa.open (** mga argumento) IOError: [Errno Invalid sample rate] -9997

OK, ang pag-aayos ng RATE at CHUNK tulad nito ay tila lumalayo:

diff --git a / client / mic.py b / client / mic.py

index 401cddb..dee49fe 100644

--- a / client / mic.py

+++ b / client / mic.py

@@ -93, 8 +93, 8 @@ klase Mic:

"""

THRESHOLD_MULTIPLIER = 1.8

- RATE = 16000

- CHUNK = 1024

+ RATE = 44100 # 16000

+ CHUNK = 4096 # 1024

# bilang ng mga segundo upang payagan na magtaguyod ng threshold

THRESHOLD_TIME = 1

Hakbang 6: OUTPUT Mga Screenshot

Inirerekumendang: