Inhoudsopgave:

Spraakgestuurde camera met Raspberry Pi - Ajarnpa
Spraakgestuurde camera met Raspberry Pi - Ajarnpa

Video: Spraakgestuurde camera met Raspberry Pi - Ajarnpa

Video: Spraakgestuurde camera met Raspberry Pi - Ajarnpa
Video: HOE GEBRUIK JE de Raspberry Pi Hoge Kwaliteits Camera? 2024, November
Anonim
Spraakgestuurde camera met Raspberry Pi
Spraakgestuurde camera met Raspberry Pi

Ontwikkel een camera die op voice-over-commando's kan draaien, deze is voornamelijk ontworpen voor allerlei soorten mensen, vooral voor mensen die op zoek zijn naar fotografie voor de lol.

Stap 1: Hardwarehandleiding

Hardware gids
Hardware gids

VDC is ontworpen op de Raspberry Pi (Model B) en vereist wat extra hardware zoals een wifi-adapter (optioneel) en USB-microfoon. De voorgestelde hardware wordt hieronder aangegeven met links voor meer details. U kunt iets andere merken/specificaties van hardware proberen. VDC is niet gelieerd aan een van de gekoppelde hardwareleveranciers.

De volledige lijst

  1. Raspberry Pi Model B
  2. Picamera
  3. USB mini-microfoon
  4. SD-kaart
  5. ethernetkabel
  6. Mini-USB-adapter (optioneel)
  7. Micro USB - wandoplader
  8. Luidsprekers die werken via de Raspberry Pi-audio-aansluiting (moeten waarschijnlijk zelfaangedreven zijn)

De lijst met geverifieerde randapparatuur van Raspberry Pi kan nuttig zijn bij het vinden van vervangingen voor de hierboven aanbevolen producten.

samenkomst

De montage van de benodigde componenten is eenvoudig. Steek de microfoon, SD-kaart, draadloze adapter (als je die hebt), micro-USB-kabel, ethernetkabel en luidsprekers in de Raspberry Pi. De USB-wandoplaadadapter wordt aanbevolen om als zelfstandig apparaat van stroom te voorzien.

De ethernetkabel wordt gebruikt om in te loggen op de pi vanaf een computer tijdens de software-installatiestap. Mocht je na installatie toch liever een draadloze verbinding gebruiken, dan kan deze kabel worden verwijderd.

Internetverbinding

Zoals hierboven vermeld, is de draadloze adapter optioneel. Het werkt prima op een bekabelde verbinding (via ethernet), dus je kunt kiezen tussen de twee opstellingen, afhankelijk van wat voor jou het beste werkt.

Stap 2: OS-installatie op Raspberry Pi

OS-installatie op Raspberry Pi
OS-installatie op Raspberry Pi

Invoering

Raspberry Pi is een microprocessor ter grootte van een creditcard die verkrijgbaar is in verschillende modellen met verschillende verwerkingssnelheden vanaf 700 MHz. Of je nu een model B of model B+ hebt, of de hele oude versie, het installatieproces blijft hetzelfde. Mensen die de officiële Raspberry Pi-website hebben bekeken, hebben ze misschien het besturingssysteem "NOOBS" of "NOOBS LITE" (ook bekend als "OS") voor beginners zien aanbevelen. Maar het gebruik van de Pi is heel eenvoudig en van een beginner wordt je in een mum van tijd een professional. Het is dus beter om te gaan met het krachtigere en efficiëntere besturingssysteem, de Raspbian. De belangrijkste reden waarom Raspbian extreem populair is, is dat het duizenden vooraf gebouwde bibliotheken heeft om veel taken uit te voeren en het besturingssysteem te optimaliseren. Dit vormt een enorm voordeel bij het bouwen van applicaties.

Raspbian en Image writer downloaden

Download hier de nieuwste versie van Raspbian. Je kunt het direct downloaden of via de torrents.

Raspbische pagina

Raspbian OS-downloadlink

U hebt een beeldschrijver nodig om het gedownloade besturingssysteem naar de SD-kaart te schrijven (micro SD-kaart in het geval van het Raspberry Pi B+-model). Dus download hier de "win32 disk imager".

De afbeelding schrijven

Steek de SD-kaart in de laptop/pc en voer de imagewriter uit. Eenmaal geopend, blader en selecteer je het gedownloade Raspbian-afbeeldingsbestand. Selecteer het juiste apparaat, dat wil zeggen het station dat de SD-kaart vertegenwoordigt. Als het geselecteerde station (of apparaat) verschilt van de SD-kaart, raakt het andere geselecteerde station beschadigd. Dus wees voorzichtig.

Klik daarna op de knop "Schrijven" onderaan. Zie als voorbeeld de onderstaande afbeelding, waar de SD-kaart (of micro SD)-drive wordt weergegeven door de letter "G:\"

Zodra het schrijven is voltooid, verwijdert u de SD-kaart en plaatst u deze in de Raspberry Pi en schakelt u deze in. Het zou moeten opstarten.

De Pi. instellen

Houd er rekening mee dat er na het opstarten van de Pi situaties kunnen zijn waarin de gebruikersgegevens zoals de "gebruikersnaam" en het wachtwoord worden gevraagd. Raspberry Pi wordt geleverd met een standaard gebruikersnaam en wachtwoord en gebruik deze dus altijd wanneer daarom wordt gevraagd. De geloofsbrieven zijn:

inloggen: pi

wachtwoord: framboos

Wanneer de Pi voor de eerste keer is opgestart, zou een configuratiescherm met de naam "Setup-opties" moeten verschijnen en het zal eruitzien als de onderstaande afbeelding.

Als u het scherm "Instellingsopties" hebt gemist, is dit geen probleem, u kunt het altijd krijgen door de volgende opdracht in de terminal te typen.

sudo raspi-config

Nadat u deze opdracht hebt uitgevoerd, verschijnt het scherm "Instellingsopties" zoals weergegeven in de afbeelding hierboven.

Nu het venster Setup-opties is geopend, moeten we een paar dingen instellen. Als u na het voltooien van elk van de onderstaande stappen wordt gevraagd om de Pi opnieuw op te starten, doe dit dan. Als u na het opnieuw opstarten het scherm "Instellingsopties" niet krijgt, volg dan de bovenstaande opdracht om het scherm/venster te krijgen.

Het eerste wat u moet doen:

selecteer de eerste optie in de lijst van het venster met instellingsopties, dat wil zeggen selecteer de

Uitvouwen Bestandssysteem

optie en druk op de enter-toets. Dit doen we om alle beschikbare ruimte op de SD-kaart als volledige partitie te gebruiken. Het enige dat dit doet, is het besturingssysteem uitbreiden om in de hele ruimte op de SD-kaart te passen, die vervolgens kan worden gebruikt als opslaggeheugen voor de Pi. Het tweede wat je moet doen:

selecteer de derde optie in de lijst van het setup-optiesvenster, dat wil zeggen selecteer de optie "Enable Boot To Desktop/Scratch" en druk op de enter-toets. Het brengt je naar een ander venster genaamd het "kies opstartoptie"-venster dat eruitziet als de afbeelding hieronder.

Selecteer in het "kies opstartoptievenster" de tweede optie, dat wil zeggen "Desktop Log in als gebruiker 'pi' op het grafische bureaublad" en druk op de enter-knop. Als u klaar bent, keert u terug naar de pagina "Setup-opties", zo niet selecteert u de knop "OK" onderaan dit venster en keert u terug naar het vorige venster. We doen dit omdat we willen opstarten in de desktopomgeving die we kennen. Als we deze stap niet uitvoeren, start de Raspberry Pi elke keer op in een terminal zonder GUI-opties. Zodra beide stappen zijn voltooid, selecteert u de knop "Voltooien" onderaan de pagina en het zou automatisch opnieuw moeten opstarten. Als dit niet het geval is, gebruik dan de volgende opdracht in de terminal om opnieuw op te starten.

sudo reboot

De firmware bijwerken

Na het opnieuw opstarten van de vorige stap, als alles goed is gegaan, komt u op het bureaublad terecht dat eruitziet als de onderstaande afbeelding.

Zodra u op het bureaublad bent, opent u een terminal en voert u de volgende opdracht in om de firmware van de Pi bij te werken.

sudo rpi-update

Het bijwerken van de firmware is noodzakelijk omdat bepaalde modellen van de Pi mogelijk niet alle vereiste afhankelijkheden hebben om soepel te werken of omdat er een bug kan zijn. De nieuwste firmware heeft mogelijk de oplossing voor die bugs, dus het is erg belangrijk om deze in het begin zelf bij te werken.

hier is de videolink beschikbaar:

Raspbian Jessie-besturingssysteem installeren en configureren op Raspberry Pi (klik op de link)

Stap 3: Stel VNC op Raspberry Pi in om op afstand te bedienen

Stel VNC op Raspberry Pi in om op afstand te bedienen
Stel VNC op Raspberry Pi in om op afstand te bedienen

VNC (Virtual Network Computing)

Soms is het niet handig om direct op de Raspberry Pi te werken. Misschien wilt u er vanaf een ander apparaat op afstand mee werken.

VNC is een grafisch systeem voor het delen van desktops waarmee u de desktopinterface van een computer (met VNC Server) op afstand kunt bedienen vanaf een andere computer of mobiel apparaat (met VNC Viewer). VNC Viewer verzendt het toetsenbord en muis- of aanraakgebeurtenissen naar VNC Server en ontvangt in ruil daarvoor updates op het scherm.

U ziet het bureaublad van de Raspberry Pi in een venster op uw computer of mobiele apparaat. Je kunt het bedienen alsof je aan de Raspberry Pi zelf werkt.

VNC Connect van RealVNC wordt meegeleverd met Raspbian. Het bestaat uit zowel VNC Server, waarmee u uw Raspberry Pi op afstand kunt bedienen, en VNC Viewer, waarmee u desktopcomputers op afstand vanaf uw Raspberry Pi kunt bedienen als u dat wilt.

U moet VNC Server inschakelen voordat u het kunt gebruiken: instructies hiervoor worden hieronder gegeven. Standaard geeft VNC Server je externe toegang tot de grafische desktop die op je Raspberry Pi draait, alsof je ervoor zit.

VNC-server inschakelen

Voer op je Raspberry Pi de volgende opdrachten uit om er zeker van te zijn dat je de nieuwste versie van VNC Connect hebt:

sudo apt-get update

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

Schakel nu VNC-server in. U kunt dit grafisch of op de opdrachtregel doen.

VNC-server grafisch inschakelen

Start op je Raspberry Pi op naar het grafische bureaublad.

Selecteer Menu > Voorkeuren > Raspberry Pi-configuratie > Interfaces.

Zorg ervoor dat VNC is ingeschakeld. VNC-server inschakelen op de opdrachtregel

U kunt VNC Server op de opdrachtregel inschakelen met raspi-config:

sudo raspi-config

Schakel nu VNC Server in door het volgende te doen:

Navigeer naar interface-opties

Scroll naar beneden en selecteer VNC > Ja. Verbinding maken met uw Raspberry Pi met VNC Viewer

Er zijn twee manieren om verbinding te maken met je Raspberry Pi. U kunt een van beide of beide gebruiken, afhankelijk van wat voor u het beste werkt.

Een directe verbinding tot stand brengen

Directe verbindingen zijn snel en eenvoudig, op voorwaarde dat u bent aangesloten op hetzelfde particuliere lokale netwerk als uw Raspberry Pi. Dit kan bijvoorbeeld een bekabeld of draadloos netwerk zijn thuis, op school of op kantoor).

Gebruik op uw Raspberry Pi (met behulp van een terminalvenster of via SSH) deze instructies of voer ifconfig uit om uw privé-IP-adres te ontdekken.

ifconfig

Download VNC Viewer op het apparaat dat je gaat gebruiken om de controle over te nemen. Gebruik voor de beste resultaten de compatibele app van RealVNC.

Voer het privé-IP-adres van uw Raspberry Pi in VNC Viewer in:

Een cloudverbinding tot stand brengen

U hebt recht op gratis gebruik van de cloudservice van RealVNC, op voorwaarde dat toegang op afstand alleen voor educatieve of niet-commerciële doeleinden is.

Cloudverbindingen zijn handig en end-to-end versleuteld. Ze worden ten zeerste aanbevolen om via internet verbinding te maken met uw Raspberry Pi. Er is geen herconfiguratie van de firewall of router en u hoeft het IP-adres van uw Raspberry Pi niet te weten of een statisch adres op te geven.

Meld u hier aan voor een RealVNC-account: het is gratis en het duurt maar een paar seconden.

Meld u op uw Raspberry Pi aan bij VNC Server met uw nieuwe RealVNC-accountgegevens:

Download VNC Viewer op het apparaat dat je gaat gebruiken om de controle over te nemen. U moet de compatibele app van RealVNC gebruiken

Meld u aan bij VNC Viewer met dezelfde RealVNC-accountgegevens en tik of klik vervolgens om verbinding te maken met uw Raspberry Pi:

Verifiëren naar VNC-server

Om een directe of cloudverbinding tot stand te brengen, moet u zich verifiëren bij VNC Server.

Als u verbinding maakt vanuit de compatibele VNC Viewer-app van RealVNC, voert u de gebruikersnaam en het wachtwoord in die u normaal gebruikt om in te loggen op uw gebruikersaccount op de Raspberry Pi. Standaard zijn deze referenties pi en raspberry.

Als u verbinding maakt vanuit een niet-RealVNC Viewer-app, moet u eerst het authenticatieschema van VNC Server downgraden, een wachtwoord opgeven dat uniek is voor VNC Server en dat in plaats daarvan invoeren. Open hiervoor het VNC Server-dialoogvenster op uw Raspberry Pi, selecteer Menu > Opties > Beveiliging, en kies VNC-wachtwoord uit de verificatie.

Deze functie inschakelen:

Open op uw Raspberry Pi het dialoogvenster VNC Server.

Navigeer naar Menu > Opties > Problemen oplossen en selecteer Experimentele directe opnamemodus inschakelen.

Op het apparaat dat je gaat gebruiken om de controle over te nemen, voer je VNC Viewer uit en maak je verbinding.

Let op: bestaande verbindingen moeten opnieuw worden opgestart om deze wijzigingen door te voeren.

Als de prestaties verminderd lijken, probeer dan deze stappen voor probleemoplossing of laat het RealVNC weten.

Een virtueel bureaublad maken

Als uw Raspberry Pi headless is (d.w.z. niet aangesloten op een monitor) of een robot bestuurt, is het onwaarschijnlijk dat deze een grafische desktop heeft.

VNC Server kan een virtuele desktop voor u creëren, waardoor u op aanvraag grafische toegang op afstand krijgt. Deze virtuele desktop bestaat alleen in het geheugen van je Raspberry Pi:

Een virtuele desktop maken en er verbinding mee maken:

Voer op uw Raspberry Pi (met Terminal of via SSH) de vnc-server uit. Noteer het IP-adres/weergavenummer dat VNC Server naar uw terminal zal afdrukken (bijv. 192.167.**.**).

Op het apparaat dat u gaat gebruiken om de controle over te nemen, voert u deze informatie in VNC Viewer in. Voer de volgende opdracht uit om een virtuele desktop te vernietigen:

vncserver -kill:

Hierdoor worden ook alle bestaande verbindingen met deze virtuele desktop stopgezet.

Stap 4: Cameraconfiguratie

Cameraconfiguratie
Cameraconfiguratie

De camerahardware instellen

Waarschuwing: camera's zijn gevoelig voor statische elektriciteit. Aard uzelf voordat u de printplaat aanraakt. Een gootsteenkraan of iets dergelijks zou voldoende moeten zijn als je geen aardingsband hebt.

Het camerabord wordt via een 15-polige lintkabel aan de Raspberry Pi bevestigd. Er zijn slechts twee aansluitingen nodig: de lintkabel moet worden aangesloten op de camera-printplaat en op de Raspberry Pi zelf. Je moet de kabel er goed omheen doen, anders werkt de camera niet. Op de camera-printplaat moet de blauwe achterkant van de kabel van de print af zijn gericht en op de Raspberry Pi moet deze naar de Ethernet-verbinding wijzen (of waar de Ethernet-connector zou zijn als u een model A gebruikt).

Hoewel de connectoren op de printplaat en de Pi verschillend zijn, werken ze op dezelfde manier. Trek op de Raspberry Pi zelf de lipjes aan elk uiteinde van de connector omhoog. Het moet gemakkelijk omhoog kunnen schuiven en lichtjes kunnen draaien. Steek de lintkabel volledig in de sleuf en zorg ervoor dat deze recht is geplaatst, en druk vervolgens voorzichtig op de lipjes om hem op zijn plaats te klikken. Voor de connector van de camera-printplaat moet u ook de lipjes van het bord wegtrekken, de kabel voorzichtig insteken en vervolgens de lipjes terugduwen. De PCB-connector kan iets onhandiger zijn dan die op de Pi zelf.

De camerasoftware instellen

Voer de volgende instructies uit op de opdrachtregel om de nieuwste kernel, GPU-firmware en applicaties te downloaden en te installeren. Je hebt een internetverbinding nodig om dit correct te laten werken.

sudo apt-get update

sudo apt-get upgrade

Nu moet u camera-ondersteuning inschakelen met de

raspi-config

programma dat u hebt gebruikt toen u uw Raspberry Pi voor het eerst instelde.

sudo raspi-config

Gebruik de cursortoetsen om naar de camera-optie te gaan en selecteer 'inschakelen'. Bij het afsluiten van raspi-config zal het vragen om opnieuw op te starten. De optie inschakelen zorgt ervoor dat bij het opnieuw opstarten de juiste GPU-firmware wordt uitgevoerd met het camerastuurprogramma en de afstemming, en dat de GPU-geheugensplitsing voldoende is om de camera voldoende geheugen te laten verwerven om correct te werken.

Als het niet is ingeschakeld, schakelt u het in en start u uw Pi opnieuw op om te beginnen

Probeer de volgende opdracht om te testen of het systeem is geïnstalleerd en werkt:

raspistill -v -o test.jpg

Het scherm moet een voorbeeld van vijf seconden van de camera weergeven en vervolgens een foto maken, opgeslagen in het bestand test.jpg, terwijl verschillende informatieve berichten worden weergegeven.

RASPIVID

Raspivid is de opdrachtregeltool voor het vastleggen van video met de cameramodule.

Met de cameramodule aangesloten en ingeschakeld, neemt u een video op met de volgende opdracht:

raspivid -o vid.h264

Vergeet niet te gebruiken

-hf

en

-vf

om de afbeelding indien nodig om te draaien, zoals met

raspist

Hiermee wordt een videobestand van 5 seconden opgeslagen in het pad dat hier wordt gegeven als vid.h264 (standaard tijdsduur).

Specificeer de lengte van de video

Om de lengte van de gemaakte video te specificeren, geeft u de vlag -t op met een aantal milliseconden. Bijvoorbeeld:

raspivid -o video.h264 -t 10000

Hiermee wordt 10 seconden video opgenomen.

MP4-videoformaat

De Pi legt video vast als een onbewerkte H264-videostream. Veel mediaspelers weigeren het af te spelen, of spelen het op een verkeerde snelheid af, tenzij het is "verpakt" in een geschikt containerformaat zoals MP4. De gemakkelijkste manier om een MP4-bestand te verkrijgen van de

raspivid

commando gebruikt MP4Box.

Installeer MP4Box met deze opdracht:

sudo apt-get install -y gpac

Leg uw onbewerkte video vast met raspivid en wikkel deze in een MP4-container zoals deze:

# Leg 30 seconden onbewerkte video vast met een bitsnelheid van 640 x 480 en een bitsnelheid van 150 kB/s in een pivideo.h264-bestand:

raspivid -t 30000 -w 640 -h 480 -fps 25 -b 1200000 -p 0, 0, 640, 480 -o pivideo.h264 # Wikkel de onbewerkte video in met een MP4-container MP4Box -add pivideo.h264 pivideo.mp4 # Verwijderen het onbewerkte bronbestand en laat het resterende pivideo.mp4-bestand rm pivideo.h264. afspelen

U kunt ook MP4 om uw bestaande raspivid-uitvoer wikkelen, zoals deze:

MP4Box -video.h264 video.mp4 toevoegen

Stap 5: Installatie en configuratie

Volg deze instructies alleen als u uw software helemaal opnieuw wilt compileren. Deze onderstaande stappen zijn noodzakelijk en worden aanbevolen als hetzelfde installatieproces op uw Raspberry pi.

De afhankelijkheden installeren

Sphinxbase/Pocketsphinx installeren

Eerst moet je Pocketsphinx installeren. Als u Debian Sid (instabiel) of Jessie (testen) gebruikt, kunt u het volgende doen:

sudo apt-get update

sudo apt-get install pocketsphinx

Begin met het installeren van enkele afhankelijkheden:

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

Ga vervolgens naar je thuismap (of Jasper) om CMUCLMTK uit te checken en te installeren:

svn co

cd cmuclmtk/

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

cd..

Wanneer u de CMUCLTK-directory hebt verlaten, downloadt u vervolgens de volgende bibliotheken:

Installeren van Phonetisaurus, m2m-aligner en MITLM

Om de Pocketsphinx STT-engine te gebruiken, moet u ook MIT Language Modeling Toolkit, m2m-aligner en Phonetisaurus (en dus OpenFST) installeren.

Als u Debian niet gebruikt, voert u deze stappen uit:

#-origineel:

# wget

#-nieuwe:

wget

wget

wget

wget

Untar de downloads:

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

tar -xvf openfst-1.3.4.tar.gz

tar -xvf is2013-conversion.tgz

tar -xvf mitlm-0.4.1.tar.gz

OpenFST bouwen:

cd openfst-1.3.4/

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

time sudo make install # kom na een hele lange tijd terug

cd..

echt 66m38.394s

gebruiker 64m42.620s

sys 1m2.150s

df -h /

Bestandssysteem Grootte Gebruikt Beschikbaar Gebruik% Gekoppeld op /dev/root 14G 4.4G 8.3G 35% /

Bouw M2M:

cd m2m-aligner-1.2/

sudo maken

cd..

Bouw MITLMT:

cd mitlm-0.4.1/

sudo./configure

sudo make install

cd..

Bouw fonetisaurus:

cd is2013-conversie/phonetisaurus/src

sudo maken

CD

Verplaats enkele van de gecompileerde bestanden:

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

#-origineel:

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

#-moet zijn:

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

Let op het gewijzigde pad voor het uitvoerbare bestand.

Download en bouw het Phonetisaurus FST-model

wget

tar -xvf g014b2b.tgz

cd-g014b2b/

./compile-fst.sh

cd..

Wijzig ten slotte de naam van de volgende map voor het gemak:

mv ~/g014b2b ~/fonetisaurus

Zodra de installaties zijn voltooid, start u uw Pi opnieuw op.

Volg de instructies van

Ik heb ook het (nieuwe) bestand `/etc/modprobe.d/alsa-base.conf` met deze inhoud toegevoegd:

# Dit stelt de indexwaarde van de kaarten in, maar herschikt niet.

opties snd_usb_audio index=0

opties snd_bcm2835 index=1

# Doet de nabestelling.

opties snd slots=snd_usb_audio, snd_bcm2835

om de juiste volgorde van de geluidsapparaten te garanderen (hoewel niet helemaal zeker of dit echt nodig is)

Gedaan met installaties - wat debuggen volgende …

Jaspis proberen te starten:

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

Hertraceren (meest recente oproep als laatste)

Bestand "./jasper/jasper.py", regel 12, in van client import tts, stt, jasperpath, diagnosebestand "/home/pi/jasper/client/tts.py", regel 41, in importdiagnosebestand "/ home/pi/jasper/client/diagnose.py", regel 9, in import pip.req Bestand "/usr/lib/python2.7/dist-packages/pip/_init_.py", regel 74, in van pip. vcs import git, mercurial, subversion, bazaar # noqa Bestand "/usr/lib/python2.7/dist-packages/pip/vcs/mercurial.py", regel 9, in van pip.download import path_to_url Bestand "/usr/ lib/python2.7/dist-packages/pip/download.py", regel 25, in from requests.compat import IncompleteRead ImportError: kan naam niet importeren IncompleteRead

Vast met:

sudo easy_install -U pip

Volgend probleem:

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

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

* JASPER - DE TALKING COMPUTER * * (c) 2015 Shubhro Saha, Charlie Marsh & Jan Holthuis * ****************************** ************************* FOUT:root:Er is een fout opgetreden! Traceback (meest recente oproep als laatste): Bestand "./jasper/jasper.py", regel 143, in app = Jasper()Bestand "./jasper/jasper.py", regel 88, in _init_ stt_engine_class = stt.get_engine_by_slug(stt_engine_slug) Bestand "/home/pi/jasper/client/stt.py", regel 648, in get_engine_by_slug"dependencies, etc.)") % slug)

ValueError: STT-engine 'sphinx' is niet beschikbaar (vanwege ontbrekende afhankelijkheden, ontbrekende afhankelijkheden, enz.)

proberen

sudo apt-get install -y python-pocketsphinx

Pad naar `../phonetisaurus/g014b2b.fst` repareren om in plaats daarvan `/home/pi/phonetisaurus/g014b2b.fst` te zijn (in `.jasper/profile.yml`)

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

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

* JASPER - DE TALKING COMPUTER * * (c) 2015 Shubhro Saha, Charlie Marsh & Jan Holthuis * ****************************** ************************** FOUT:client.stt:hmm_dir '/usr/local/share/pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k ' bestaat niet! Zorg ervoor dat je de juiste hmm_dir hebt ingesteld in je profiel.

Fix/activeer pad hiervoor ook in `profile.yml`:

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

(let op de afwezigheid van "lokaal" in het pad)

Gedeeltelijk succes --:

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

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

* JASPER - DE TALKING COMPUTER * * (c) 2015 Shubhro Saha, Charlie Marsh & Jan Holthuis * ****************************** ************************** ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Onbekende PCM-kaarten.pcm.rear ALSA lib pcm.c: 2239:(snd_pcm_open_noupdate) Onbekende PCM-kaarten.pcm.center_lfe ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Onbekende PCM-kaarten.pcm.side ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Onbekende PCM-kaarten ALSA libmi.hd pcm.c:2239:(snd_pcm_open_noupdate) Onbekende PCM-kaarten.pcm.hdmi ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Onbekende PCM-kaarten.pcm.modem ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Onbekende PCM-kaarten.pcm.modem ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Onbekende PCM-kaarten.pcm.phoneline ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Onbekende PCM-kaarten.pcm.phoneline ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Kan geen verbinding maken: Verbinding geweigerd ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Kan geen verbinding maken: Verbinding geweigerd Kan geen verbinding maken om te dienen r socket err = Geen dergelijk bestand of map Kan geen verbinding maken met serververzoekkanaal jack server is niet actief of kan niet worden gestart Expressie 'paInvalidSampleRate' is mislukt in 'src/hostapi/alsa/pa_linux_alsa.c', regel: 2048 Expressie 'PaAlsaStreamComponent_InitialConfigure(&self ->capture, inParams, self->primeBuffers, hwParamsCapture, &realSr)' mislukt in 'src/hostapi/alsa/pa_linux_alsa.c', regel: 2719 Expression 'PaAlsaStream_Configure(stream, inputParameters, outputParameters, sampleRate,out framesputLaffertency, &, &hostBufferSizeMode)' mislukt in 'src/hostapi/alsa/pa_linux_alsa.c', regel: 2843 Traceback (meest recente oproep als laatste): bestand "./jasper/jasper.py", regel 148, in app.run() Bestand "./jasper/jasper.py", regel 118, in run conversation.handleForever() Bestand "/home/pi/jasper/client/conversation.py", regel 31, in handleForever-drempel, getranscribeerd = self.mic.passiveListen (self.persona) Bestand "/home/pi/jasper/client/mic.py", regel 110, in passiveListen frames_per_buffer=CHUNK) Bestand "/usr/lib/python2.7/dist-packages/pyaudio.py", regel 747, in open stream = Stream(self, *args, **kwargs) Bestand "/usr/lib/python2.7/dist -packages/pyaudio.py", regel 442, in _init_ self._stream = pa.open(**argumenten) IOError: [Errno Ongeldige samplefrequentie] -9997

OK, de vaststelling van RATE en CHUNK op deze manier lijkt verder te komen:

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

index 401cddb..dee49fe 100644

--- een/client/mic.py

+++ b/client/mic.py

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

"""

THRESHOLD_MULTIPLIER = 1,8

- TARIEF = 16000

- CHUNK = 1024

+ TARIEF = 44100 # 16000

+ CHUNK = 4096 # 1024

# aantal seconden om de drempel vast te stellen

THRESHOLD_TIME = 1

Stap 6: OUTPUT Screenshots

Aanbevolen: