Spisu treści:

Kamera sterowana głosem przy użyciu Raspberry Pi: 6 kroków
Kamera sterowana głosem przy użyciu Raspberry Pi: 6 kroków

Wideo: Kamera sterowana głosem przy użyciu Raspberry Pi: 6 kroków

Wideo: Kamera sterowana głosem przy użyciu Raspberry Pi: 6 kroków
Wideo: Podgląd z monitoringu w dowolnym układzie przy użyciu Raspberry Pi 2024, Lipiec
Anonim
Kamera sterowana głosem przy użyciu Raspberry Pi
Kamera sterowana głosem przy użyciu Raspberry Pi

Opracuj aparat, który może działać na polecenie głosowe, jest to przeznaczone głównie dla ludzi wszelkiego rodzaju, zwłaszcza dla tych, którzy szukają zabawy podczas fotografowania.

Krok 1: Przewodnik po sprzęcie

Przewodnik po sprzęcie
Przewodnik po sprzęcie

VDC jest zaprojektowany dla Raspberry Pi (Model B) i wymaga dodatkowego sprzętu, takiego jak adapter Wi-Fi (opcjonalnie) i mikrofon USB. Sugerowany sprzęt jest wskazany poniżej wraz z linkami do dalszych szczegółów. Możesz wypróbować nieco inne marki/specyfikacje sprzętu. VDC nie jest powiązany z żadnym z połączonych dostawców sprzętu.

Pełna lista

  1. Raspberry Pi Model B
  2. Picamer
  3. Mikrofon mini USB
  4. Karta SD
  5. kabel Ethernet
  6. Adapter mini-USB (opcjonalny)
  7. Micro USB - ładowarka ścienna
  8. Głośniki, które działają przez gniazdo audio Raspberry Pi (prawdopodobnie wymagają samodzielnego zasilania)

Lista zweryfikowanych urządzeń peryferyjnych Raspberry Pi może być pomocna w znalezieniu zamienników produktów zalecanych powyżej.

montaż

Montaż wymaganych komponentów jest prosty. Włóż mikrofon, kartę SD, adapter bezprzewodowy (jeśli go posiadasz), kabel micro-USB, kabel Ethernet i głośniki do Raspberry Pi. Do zasilania zaleca się zasilacz ścienny USB, jako samodzielne urządzenie.

Kabel Ethernet będzie używany do logowania się do pi z komputera podczas etapu instalacji oprogramowania. Po instalacji, jeśli wolisz korzystać z połączenia bezprzewodowego, ten kabel można usunąć.

Połączenie internetowe

Jak wspomniano powyżej, karta sieci bezprzewodowej jest opcjonalna. Działa dobrze na połączeniu przewodowym (przez Ethernet), więc możesz wybrać między dwiema konfiguracjami w zależności od tego, co działa najlepiej.

Krok 2: Instalacja systemu operacyjnego na Raspberry Pi

Instalacja systemu operacyjnego na Raspberry Pi
Instalacja systemu operacyjnego na Raspberry Pi

Wstęp

Raspberry Pi to mikroprocesor wielkości karty kredytowej dostępny w różnych modelach o różnej szybkości przetwarzania, począwszy od 700 MHz. Niezależnie od tego, czy masz model B, model B+, czy bardzo starą wersję, proces instalacji pozostaje taki sam. Osoby, które sprawdziły oficjalną stronę Raspberry Pi, mogły zobaczyć, jak polecają system operacyjny „NOOBS” lub „NOOBS LITE” (aka „OS”) dla początkujących. Ale korzystanie z Pi jest bardzo łatwe i od bycia początkującym można szybko zmienić się w profesjonalistę. Lepiej więc wybrać mocniejszy i wydajniejszy system operacyjny, Raspbian. Głównym powodem, dla którego Raspbian jest niezwykle popularny, jest to, że ma tysiące gotowych bibliotek do wykonywania wielu zadań i optymalizacji systemu operacyjnego. Stanowi to ogromną zaletę podczas budowania aplikacji.

Pobieranie programu Raspbian i Image writer

Pobierz najnowszą wersję Raspbian stąd. Możesz go pobrać bezpośrednio lub przez torrenty.

Strona Raspbian

Łącze pobierania Raspbian OS

Będziesz potrzebować programu do zapisywania obrazów, aby zapisać pobrany system operacyjny na kartę SD (karta micro SD w przypadku modelu Raspberry Pi B+). Więc pobierz "win32 disk imager" stąd.

Pisanie obrazu

Włóż kartę SD do laptopa/komputera i uruchom program do zapisywania obrazów. Po otwarciu przeglądaj i wybierz pobrany plik obrazu Raspbian. Wybierz właściwe urządzenie, czyli dysk reprezentujący kartę SD. Jeśli wybrany dysk (lub urządzenie) jest inny niż karta SD, drugi wybrany dysk zostanie uszkodzony. Więc uważaj.

Następnie kliknij przycisk „Napisz” na dole. Jako przykład zobacz obrazek poniżej, gdzie napęd karty SD (lub micro SD) jest reprezentowany przez literę „G:\"

Po zakończeniu zapisu wyjmij kartę SD, włóż ją do Raspberry Pi i włącz. Powinien zacząć się uruchamiać.

Konfigurowanie Pi

Pamiętaj, że po uruchomieniu Pi mogą wystąpić sytuacje, w których zostaną poproszone o poświadczenia użytkownika, takie jak „nazwa użytkownika” i hasło. Raspberry Pi ma domyślną nazwę użytkownika i hasło, więc zawsze używaj go, gdy zostaniesz o to poproszony. Poświadczenia to:

login: pi

hasło: malina

Po pierwszym uruchomieniu Pi powinien pojawić się ekran konfiguracji o nazwie „Opcje instalacji”, który będzie wyglądał jak na poniższym obrazku.

Jeśli przegapiłeś ekran "Opcje instalacji", to nie jest problem, zawsze możesz go uzyskać, wpisując następujące polecenie w terminalu.

sudo raspi-config

Po wykonaniu tego polecenia pojawi się ekran „Opcje konfiguracji”, jak pokazano na powyższym obrazku.

Teraz, gdy okno Opcje konfiguracji jest otwarte, będziemy musieli ustawić kilka rzeczy. Po wykonaniu każdego z poniższych kroków, jeśli poprosi o ponowne uruchomienie Pi, zrób to. Po ponownym uruchomieniu, jeśli nie pojawi się ekran „Opcje instalacji”, wykonaj polecenie podane powyżej, aby uzyskać ekran/okno.

Pierwsza rzecz do zrobienia:

wybierz pierwszą opcję z listy w oknie opcji konfiguracji, czyli wybierz

Rozwiń system plików

opcję i naciśnij klawisz Enter. Robimy to, aby wykorzystać całą przestrzeń obecną na karcie SD jako pełną partycję. Wszystko to polega na rozszerzeniu systemu operacyjnego, aby zmieścił się całe miejsce na karcie SD, które można następnie wykorzystać jako pamięć do przechowywania Pi. Druga rzecz do zrobienia:

wybierz trzecią opcję na liście w oknie opcji instalacji, czyli wybierz opcję „Włącz rozruch na pulpicie / zarysowania” i naciśnij klawisz Enter. Przeniesie Cię do innego okna o nazwie „wybierz opcję rozruchu”, które wygląda jak na poniższym obrazku.

W oknie „wybierz opcję rozruchu” wybierz drugą opcję, czyli „Zaloguj się na pulpicie jako użytkownik 'pi' na pulpicie graficznym” i naciśnij przycisk Enter. Po zakończeniu zostaniesz przeniesiony z powrotem do strony "Opcje ustawień", jeśli nie, wybierz przycisk "OK" na dole tego okna i zostaniesz przeniesiony z powrotem do poprzedniego okna. Robimy to, ponieważ chcemy uruchomić system w środowisku graficznym, które znamy. Jeśli nie zrobimy tego kroku, Raspberry Pi za każdym razem uruchamia się w terminalu bez opcji GUI. Gdy oba kroki zostaną wykonane, wybierz przycisk „Zakończ” u dołu strony i powinien on automatycznie uruchomić się ponownie. Jeśli tak się nie stanie, użyj następującego polecenia w terminalu, aby ponownie uruchomić komputer.

ponowne uruchomienie sudo

Aktualizacja oprogramowania

Po ponownym uruchomieniu z poprzedniego kroku, jeśli wszystko poszło dobrze, skończysz na pulpicie, który wygląda jak na poniższym obrazku.

Gdy znajdziesz się na pulpicie, otwórz terminal i wprowadź następujące polecenie, aby zaktualizować oprogramowanie układowe Pi.

sudo rpi-aktualizacja

Aktualizacja oprogramowania układowego jest konieczna, ponieważ niektóre modele Pi mogą nie mieć wszystkich wymaganych zależności do płynnego działania lub mogą mieć jakiś błąd. Najnowsze oprogramowanie układowe może zawierać poprawki tych błędów, dlatego bardzo ważne jest, aby zaktualizować je na samym początku.

tutaj jest dostępny link wideo:

Instalacja i konfiguracja systemu operacyjnego Raspbian Jessie na Raspberry Pi (kliknij w link)

Krok 3: Skonfiguruj VNC na Raspberry Pi do zdalnego sterowania

Skonfiguruj VNC na Raspberry Pi do zdalnego sterowania
Skonfiguruj VNC na Raspberry Pi do zdalnego sterowania

VNC (przetwarzanie w sieci wirtualnej)

Czasami praca bezpośrednio na Raspberry Pi nie jest wygodna. Może chciałbyś na nim pracować z innego urządzenia za pomocą pilota.

VNC to graficzny system udostępniania pulpitu, który umożliwia zdalne sterowanie interfejsem pulpitu jednego komputera (z uruchomionym VNC Server) z innego komputera lub urządzenia mobilnego (z uruchomionym VNC Viewer). VNC Viewer przesyła zdarzenia klawiatury i myszy lub dotyku do serwera VNC i w zamian otrzymuje aktualizacje na ekranie.

Zobaczysz pulpit Raspberry Pi w oknie na komputerze lub urządzeniu mobilnym. Będziesz mógł to kontrolować tak, jakbyś pracował nad samym Raspberry Pi.

VNC Connect z RealVNC jest dołączony do Raspbian. Składa się zarówno z VNC Server, który pozwala zdalnie sterować Raspberry Pi, jak i VNC Viewer, który pozwala zdalnie sterować komputerami stacjonarnymi z Raspberry Pi, jeśli chcesz.

Musisz włączyć VNC Server, zanim będziesz mógł z niego korzystać: instrukcje dotyczące tego znajdują się poniżej. Domyślnie VNC Server zapewnia zdalny dostęp do graficznego pulpitu uruchomionego na Twoim Raspberry Pi, tak jakbyś siedział przed nim.

Włączanie serwera VNC

Na swoim Raspberry Pi uruchom następujące polecenia, aby upewnić się, że masz najnowszą wersję VNC Connect:

aktualizacja sudo apt-get

sudo apt-get zainstaluj serwer realvnc-vnc-realvnc-vnc-viewer

Teraz włącz serwer VNC. Możesz to zrobić graficznie lub z wiersza poleceń.

Graficzne włączanie VNC Server

Na swoim Raspberry Pi uruchom pulpit graficzny.

Wybierz Menu > Preferencje > Konfiguracja Raspberry Pi > Interfejsy.

Upewnij się, że VNC jest włączone. Włączanie VNC Server w wierszu poleceń

Możesz włączyć VNC Server z wiersza poleceń za pomocą raspi-config:

sudo raspi-config

Teraz włącz VNC Server, wykonując następujące czynności:

Przejdź do opcji interfejsu

Przewiń w dół i wybierz VNC > Tak. Łączenie z Raspberry Pi za pomocą VNC Viewer

Istnieją dwa sposoby łączenia się z Raspberry Pi. Możesz użyć jednego lub obu, w zależności od tego, co jest dla Ciebie najlepsze.

Nawiązywanie bezpośredniego połączenia

Połączenia bezpośrednie są szybkie i proste, pod warunkiem, że jesteś dołączony do tej samej prywatnej sieci lokalnej, co Twoje Raspberry Pi. Może to być na przykład sieć przewodowa lub bezprzewodowa w domu, szkole lub biurze).

Na swoim Raspberry Pi (za pomocą okna terminala lub przez SSH) skorzystaj z tych instrukcji lub uruchom ifconfig, aby odkryć swój prywatny adres IP.

ifconfig

Pobierz VNC Viewer na urządzenie, którego będziesz używać do przejęcia kontroli. Aby uzyskać najlepsze wyniki, użyj kompatybilnej aplikacji firmy RealVNC.

Wprowadź prywatny adres IP Raspberry Pi w VNC Viewer:

Nawiązywanie połączenia z chmurą

Użytkownik jest uprawniony do bezpłatnego korzystania z usługi w chmurze RealVNC, pod warunkiem, że zdalny dostęp służy wyłącznie do celów edukacyjnych lub niekomercyjnych.

Połączenia w chmurze są wygodne i szyfrowane od końca do końca. Są wysoce zalecane do łączenia się z Raspberry Pi przez Internet. Nie ma rekonfiguracji zapory ani routera i nie musisz znać adresu IP swojego Raspberry Pi ani podawać adresu statycznego.

Zarejestruj konto RealVNC tutaj: to nic nie kosztuje i zajmuje tylko kilka sekund.

Na swoim Raspberry Pi zaloguj się do VNC Server przy użyciu nowych poświadczeń konta RealVNC:

Pobierz VNC Viewer na urządzenie, którego będziesz używać do przejęcia kontroli. Musisz użyć kompatybilnej aplikacji z RealVNC

Zaloguj się do VNC Viewer przy użyciu tych samych poświadczeń konta RealVNC, a następnie dotknij lub kliknij, aby połączyć się z Raspberry Pi:

Uwierzytelnianie na serwerze VNC

Aby nawiązać połączenie bezpośrednie lub w chmurze, musisz uwierzytelnić się na serwerze VNC.

Jeśli łączysz się z kompatybilnej aplikacji VNC Viewer z RealVNC, wprowadź nazwę użytkownika i hasło, których zwykle używasz do logowania się na swoje konto użytkownika na Raspberry Pi. Domyślnie te poświadczenia to pi i raspberry.

Jeśli łączysz się z aplikacji innej niż RealVNC Viewer, musisz najpierw obniżyć schemat uwierzytelniania VNC Server, określić hasło unikalne dla VNC Server, a następnie wprowadzić je. Aby to zrobić, otwórz okno dialogowe VNC Server na swoim Raspberry Pi, wybierz Menu > Opcje > Zabezpieczenia, i wybierz hasło VNC z Uwierzytelnianie.

Aby włączyć tę funkcję:

Na swoim Raspberry Pi otwórz okno dialogowe VNC Server.

Przejdź do Menu > Opcje > Rozwiązywanie problemów i wybierz Włącz eksperymentalny tryb bezpośredniego przechwytywania.

Na urządzeniu, którego będziesz używać do przejęcia kontroli, uruchom VNC Viewer i połącz się.

Uwaga: istniejące połączenia muszą zostać ponownie uruchomione, aby zmiany zaczęły obowiązywać.

Jeśli wydajność wydaje się pogorszona, wypróbuj te kroki rozwiązywania problemów lub poinformuj o tym RealVNC.

Tworzenie wirtualnego pulpitu

Jeśli twoje Raspberry Pi jest bezgłowe (tj. Nie jest podłączone do monitora) lub steruje robotem, jest mało prawdopodobne, aby działał z graficznym pulpitem.

VNC Server może stworzyć dla Ciebie wirtualny pulpit, zapewniając graficzny zdalny dostęp na żądanie. Ten wirtualny pulpit istnieje tylko w pamięci Twojego Raspberry Pi:

Aby utworzyć wirtualny pulpit i połączyć się z nim:

Na swoim Raspberry Pi (za pomocą terminala lub przez SSH) uruchom serwer vnc. Zanotuj adres IP/numer wyświetlacza, który serwer VNC wydrukuje na twoim terminalu (np. 192.167.**.**).

Na urządzeniu, którego będziesz używać do przejęcia kontroli, wprowadź te informacje do przeglądarki VNC Viewer. Aby zniszczyć wirtualny pulpit, uruchom następujące polecenie:

vncserver -zabij:

Spowoduje to również zatrzymanie wszelkich istniejących połączeń z tym wirtualnym pulpitem.

Krok 4: Konfiguracja kamery

Konfiguracja kamery
Konfiguracja kamery

Konfigurowanie sprzętu kamery

Ostrzeżenie: kamery są wrażliwe na zakłócenia statyczne. Uziemić się przed obsługą płytki drukowanej. Bateria zlewozmywakowa lub podobna powinna wystarczyć, jeśli nie masz paska uziemiającego.

Płytka kamery jest podłączana do Raspberry Pi za pomocą 15-stykowego kabla taśmowego. Do wykonania są tylko dwa połączenia: kabel taśmowy należy podłączyć do płytki drukowanej kamery oraz do samego Raspberry Pi. Musisz poprowadzić kabel we właściwy sposób, w przeciwnym razie kamera nie będzie działać. Na płytce drukowanej kamery niebieski podkład na kablu powinien być skierowany w stronę przeciwną do płytki drukowanej, a na Raspberry Pi powinien być skierowany w stronę połączenia Ethernet (lub tam, gdzie byłoby złącze Ethernet, jeśli używasz modelu A).

Chociaż złącza na płytce drukowanej i Pi są różne, działają w podobny sposób. Na samym Raspberry Pi podnieś wypustki na każdym końcu złącza. Powinien łatwo się przesuwać i być w stanie lekko się obracać. Całkowicie włóż kabel taśmowy do gniazda, upewniając się, że jest ustawiony prosto, a następnie delikatnie naciśnij zaczepy, aby zapiąć go na miejscu. Złącze PCB kamery wymaga również odciągnięcia zaczepów od płytki, delikatnego włożenia kabla, a następnie wepchnięcia zaczepów z powrotem. Złącze PCB może być nieco bardziej niewygodne niż to na samym Pi.

Konfigurowanie oprogramowania aparatu

Wykonaj następujące instrukcje w wierszu poleceń, aby pobrać i zainstalować najnowsze jądro, oprogramowanie układowe GPU i aplikacje. Aby to działało, potrzebujesz połączenia internetowego.

aktualizacja sudo apt-get

sudo apt-get upgrade

Teraz musisz włączyć obsługę aparatu za pomocą

konfiguracja raspi

program, którego będziesz używał podczas pierwszej konfiguracji Raspberry Pi.

sudo raspi-config

Użyj klawiszy kursora, aby przejść do opcji kamery i wybierz „włącz”. Po wyjściu z raspi-config poprosi o ponowne uruchomienie. Opcja włączania zapewni, że po ponownym uruchomieniu prawidłowe oprogramowanie układowe GPU będzie działać ze sterownikiem aparatu i dostrojeniem, a podział pamięci GPU jest wystarczający, aby kamera mogła uzyskać wystarczającą ilość pamięci do prawidłowego działania.

Jeśli nie jest włączony, włącz go i uruchom ponownie Pi, aby rozpocząć

Aby sprawdzić, czy system jest zainstalowany i działa, wypróbuj następujące polecenie:

raspistill -v -o test.jpg

Na wyświetlaczu powinien pojawić się pięciosekundowy podgląd z kamery, a następnie wykonać zdjęcie zapisane do pliku test.jpg, wyświetlając jednocześnie różne komunikaty informacyjne.

RASPIVID

Raspivid to narzędzie wiersza poleceń do przechwytywania wideo za pomocą modułu kamery.

Po podłączeniu i włączeniu modułu kamery nagraj wideo za pomocą następującego polecenia:

raspivid -o vid.h264

Pamiętaj, aby użyć

-hf

oraz

-vf

aby odwrócić obraz w razie potrzeby, jak z

zgrzyt

Spowoduje to zapisanie 5-sekundowego pliku wideo pod ścieżką podaną tutaj jako vid.h264 (domyślny czas).

Określ długość wideo

Aby określić długość nagranego wideo, podaj flagę -t z liczbą milisekund. Na przykład:

raspivid -o video.h264 -t 10000

Spowoduje to nagranie 10 sekund wideo.

Format wideo MP4

Pi przechwytuje wideo jako surowy strumień wideo H264. Wiele odtwarzaczy multimedialnych odmówi jego odtworzenia lub odtworzy go z nieprawidłową prędkością, chyba że zostanie „zapakowany” w odpowiedni format kontenera, taki jak MP4. Najłatwiejszy sposób na uzyskanie pliku MP4 z

raspivid

polecenie używa MP4Box.

Zainstaluj MP4Box za pomocą tego polecenia:

sudo apt-get install -y gpac

Uchwyć surowe wideo za pomocą raspivid i zapakuj je w kontener MP4 w następujący sposób:

# Przechwyć 30 sekund nieprzetworzonego wideo przy 640x480 i szybkości transmisji 150kB/s do pliku pivideo.h264:

raspivid -t 30000 -w 640 -h 480 -fps 25 -b 1200000 -p 0, 0, 640, 480 -o pivideo.h264 # Owiń nieprzetworzone wideo kontenerem MP4 MP4Box -add pivideo.h264 pivideo.mp4 # Usuń źródłowy plik raw, pozostawiając pozostały plik pivideo.mp4 do odtworzenia rm pivideo.h264

Alternatywnie owiń MP4 wokół istniejącego wyjścia raspivid, w następujący sposób:

MP4Box - dodaj wideo.h264 wideo.mp4

Krok 5: Instalacja i konfiguracja

Postępuj zgodnie z tymi instrukcjami tylko wtedy, gdy chcesz skompilować oprogramowanie od podstaw. Poniższe kroki są konieczne i zalecane jako ten sam proces instalacji na twoim Raspberry pi.

Instalowanie zależności

Instalowanie Sphinxbase/Pocketsphinx

Najpierw musisz zainstalować Pocketsphinxa. Jeśli używasz Debiana Sid (niestabilnego) lub Jessie (testowego), możesz po prostu zrobić:

aktualizacja sudo apt-get

sudo apt-get zainstaluj pocketsphinx

Zacznij od zainstalowania kilku zależności:

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

Następnie przejdź do katalogu domowego (lub Jaspera), aby sprawdzić i zainstalować CMUCLMTK:

svn co

cd cmuclmtk/

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

Płyta CD..

Następnie, po opuszczeniu katalogu CMUCLTK, pobierz następujące biblioteki:

Instalowanie fonetyzaura, m2m-aligner i MITLM

Aby korzystać z silnika Pocketsphinx STT, musisz również zainstalować MIT Language Modeling Toolkit, m2m-aligner i Phonetisaurus (a tym samym OpenFST).

Jeśli nie używasz Debiana, wykonaj następujące czynności:

#-oryginał:

# wget

#-Nowy:

wget

wget

wget

wget

Rozpakuj pliki do pobrania:

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

Kompilacja OpenFST:

cd openfst-1.3.4/

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

czas sudo make install # wróci po naprawdę długim czasie

Płyta CD..

prawdziwe 66m38,394s

użytkownik 64m42,620s

sys 1m2,150s

df -h /

Używany rozmiar systemu plików Dostępność użycia% Zamontowany na /dev/root 14G 4.4G 8.3G 35% /

Zbuduj M2M:

cd m2m-aligner-1,2/

sudo zrobić

Płyta CD..

Zbuduj MITLMT:

cd mitlm-0.4.1/

sudo./konfiguruj

sudo dokonać instalacji

Płyta CD..

Zbuduj fonetyzaura:

cd is2013-conversion/phonetisaurus/src

sudo zrobić

Płyta CD

Przenieś niektóre skompilowane pliki:

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

#-oryginał:

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

#-musi być:

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

Zwróć uwagę na zmienioną ścieżkę do pliku wykonywalnego.

Pobierz i zbuduj model Fonetyzaura FST

wget

tar -xvf g014b2b.tgz

cd g014b2b/

./kompilacja-fst.sh

Płyta CD..

Na koniec dla wygody zmień nazwę następującego folderu:

mv ~/g014b2b ~/fonetyzaur

Po zakończeniu instalacji uruchom ponownie Pi.

Postępując zgodnie z instrukcjami z

Dodałem również (nowy) plik `/etc/modprobe.d/alsa-base.conf` o tej zawartości:

# Ustawia wartość indeksu kart, ale nie zmienia kolejności.

opcje snd_usb_audio index=0

opcje snd_bcm2835 indeks=1

# Czy zmiana kolejności.

opcje snd slots=snd_usb_audio, snd_bcm2835

aby zapewnić odpowiednią kolejność urządzeń dźwiękowych (choć nie do końca jestem pewien, czy jest to naprawdę potrzebne)

Zakończ z instalacjami - trochę debugowania dalej…

Próba uruchomienia jaspisu:

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

Traceback (ostatnie ostatnie połączenie):

Plik „./jasper/jasper.py”, wiersz 12, z importu klienta tts, stt, jasperpath, diagnose File „/home/pi/jasper/client/tts.py”, wiersz 41, w pliku diagnozy importu „/ home/pi/jasper/client/diagnose.py", wiersz 9, w pliku importu pip.req "/usr/lib/python2.7/dist-packages/pip/_init_.py", wiersz 74, z pliku pip. vcs import git, mercurial, subversion, bazar # noqa Plik "/usr/lib/python2.7/dist-packages/pip/vcs/mercurial.py", wiersz 9, in from pip.download import path_to_url File "/usr/ lib/python2.7/dist-packages/pip/download.py", wiersz 25, z request.compat import IncompleteRead ImportError: nie można zaimportować nazwy IncompleteRead

Naprawiono za pomocą:

sudo easy_install -U pip

Kolejny problem:

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

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

* JASPER - GADAJĄCY KOMPUTER * * (c) 2015 Shubhro Saha, Charlie Marsh & Jan Holthuis * ****************************** ************************** BŁĄD:korzeń:Wystąpił błąd! Traceback (ostatnie wywołanie ostatniego): Plik "./jasper/jasper.py", wiersz 143, w app = Jasper()File "./jasper/jasper.py", wiersz 88, w _init_ stt_engine_class = stt.get_engine_by_slug(stt_engine_slug) Plik "/home/pi/jasper/client/stt.py", wiersz 648, w zależnościach get_engine_by_slug"itp.)") % slug)

ValueError: „sphinx” silnika STT jest niedostępny (z powodu brakujących zależności, brakujących zależności itp.)

próbować

sudo apt-get install -y python-pocketsphinx

Napraw ścieżkę do `../phonetisaurus/g014b2b.fst` na `/home/pi/phonetisaurus/g014b2b.fst` (w `.jasper/profile.yml`)

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

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

* JASPER - GADAJĄCY KOMPUTER * * (c) 2015 Shubhro Saha, Charlie Marsh & Jan Holthuis * ****************************** ************************** BŁĄD:client.stt:hmm_dir '/usr/local/share/pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k ' nie istnieje! Upewnij się, że ustawiłeś prawidłowy hmm_dir w swoim profilu.

Napraw/aktywuj ścieżkę do tego również w pliku `profile.yml`:

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

(zwróć uwagę na brak „lokalnego” w ścieżce)

Częściowy sukces --:

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

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

* JASPER - GADAJĄCY KOMPUTER * * (c) 2015 Shubhro Saha, Charlie Marsh & Jan Holthuis * ****************************** ************************** ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Nieznane karty PCM.pcm.rear ALSA lib pcm.c: 2239:(snd_pcm_open_noupdate) Nieznane karty PCM.pcm.center_lfe ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Nieznane karty PCM.pcm.side ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Nieznane karty PCM.hdmip. pcm.c:2239:(snd_pcm_open_noupdate) Nieznane karty PCM.pcm.hdmi ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Nieznane karty PCM.pcm.modem ALSA lib pcm.c:2239:(snd_pcm_open_noupdate.pcm) Nieznane karty PCM.modem ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Nieznane karty PCM.pcm.phoneline ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Nieznane karty PCM.pcm.phoneline ALSA lib pulse.c:243:(pulse_connect) PulseAu: Nie można połączyć: Połączenie odrzucone ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Nie można połączyć: Połączenie odrzucone Nie można połączyć się, aby służyć r socket err = Brak takiego pliku lub katalogu Nie można połączyć się z serwerem żądanie kanału jack serwer nie działa lub nie można go uruchomić Wyrażenie 'paInvalidSampleRate' nie powiodło się w 'src/hostapi/alsa/pa_linux_alsa.c', wiersz: 2048 Wyrażenie 'PaAlsaStreamComponent_InitialConfigure(&self ->capture, inParams, self->primeBuffers, hwParamsCapture, &realSr)' nie powiodło się w 'src/hostapi/alsa/pa_linux_alsa.c', wiersz: 2719 Wyrażenie 'PaAlsaStream_Configure(stream, inputParameters, outputParameters, sampleRate, &input framePeratLfferency, &inputPerputBuforL, &hostBufferSizeMode)' nie powiodło się w 'src/hostapi/alsa/pa_linux_alsa.c', wiersz: 2843 Traceback (ostatnie wywołanie ostatnie): Plik "./jasper/jasper.py", wiersz 148, w pliku app.run() "./jasper/jasper.py", wiersz 118, w uruchomieniu pliku konwersacji.handleForever() "/home/pi/jasper/client/conversation.py", wiersz 31, w progu handleForever, transkrybowany = self.mic.passiveListen (self.persona) Plik "/home/pi/jasper/client/mic.py", wiersz 110, w passionListen frames_per_buffer=CHUNK) Plik "/usr/lib/python2.7/dist-packages/pyaudio.py", wiersz 747, w otwartym strumieniu = Stream(self, *args, **kwargs) File "/usr/lib/python2.7/dist -packages/pyaudio.py", wiersz 442, w _init_ self._stream = pa.open(**arguments) IOError: [Błąd niepoprawna częstotliwość próbkowania] -9997

OK, takie naprawianie RATE i CHUNK wydaje się iść dalej:

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

indeks 401cddb..dee49fe 100644

--- a/klient/mikrofon.py

+++ b/klient/mik.py

@@ -93, 8 +93, 8 @@ Mikrofon klasowy:

"""

PRÓG_MULTIPLIER = 1,8

- STAWKA = 16000

- KAWAŁKA = 1024

+ STAWKA = 44100 # 16000

+ CHUNK = 4096 # 1024

# liczba sekund pozwalająca na ustalenie progu

THRESHOLD_TIME = 1

Krok 6: Zrzuty ekranu WYJŚCIA

Zalecana: