Inhaltsverzeichnis:

Sprachgesteuerte Kamera mit Raspberry Pi - Gunook
Sprachgesteuerte Kamera mit Raspberry Pi - Gunook

Video: Sprachgesteuerte Kamera mit Raspberry Pi - Gunook

Video: Sprachgesteuerte Kamera mit Raspberry Pi - Gunook
Video: HOW TO USE the Raspberry Pi High Quality Camera 2024, Juli
Anonim
Sprachgesteuerte Kamera mit Raspberry Pi
Sprachgesteuerte Kamera mit Raspberry Pi

Entwickeln Sie eine Kamera, die auf Voice-Over-Befehlen ausgeführt werden kann. Diese ist hauptsächlich für Menschen aller Art gedacht, insbesondere für Menschen, die Spaß am Fotografieren suchen.

Schritt 1: Hardware-Anleitung

Hardware-Anleitung
Hardware-Anleitung

VDC wurde auf dem Raspberry Pi (Modell B) entwickelt und erfordert zusätzliche Hardware wie einen WLAN-Adapter (optional) und ein USB-Mikrofon. Die empfohlene Hardware ist unten mit Links für weitere Details angegeben. Sie können etwas andere Marken/Spezifikationen der Hardware ausprobieren. VDC ist mit keinem der verlinkten Hardwareanbieter verbunden.

Die vollständige Liste

  1. Raspberry Pi-Modell B
  2. Picamera
  3. USB-Mini-Mikrofon
  4. SD-Karte
  5. Ethernet Kabel
  6. Mini-USB-Adapter (optional)
  7. Micro-USB - Wandladegerät
  8. Lautsprecher, die über die Raspberry Pi-Audiobuchse funktionieren (müssen wahrscheinlich selbst mit Strom versorgt werden)

Die Liste der verifizierten Peripheriegeräte für Raspberry Pi kann hilfreich sein, um Ersatz für die oben empfohlenen Produkte zu finden.

Montage

Die Montage der benötigten Komponenten ist unkompliziert. Stecken Sie das Mikrofon, die SD-Karte, den WLAN-Adapter (falls vorhanden), das Micro-USB-Kabel, das Ethernet-Kabel und die Lautsprecher in den Raspberry Pi. Der USB-Wandladeadapter wird zur Stromversorgung als eigenständiges Gerät empfohlen.

Das Ethernet-Kabel wird verwendet, um sich während des Softwareinstallationsschritts von einem Computer aus beim pi anzumelden. Wenn Sie nach der Installation eine drahtlose Verbindung bevorzugen, kann dieses Kabel entfernt werden.

Internetverbindung

Wie oben erwähnt, ist der WLAN-Adapter optional. Es läuft problemlos über eine kabelgebundene Verbindung (über Ethernet), sodass Sie zwischen den beiden Setups wählen können, je nachdem, was für Sie am besten funktioniert.

Schritt 2: Betriebssysteminstallation auf Raspberry Pi

Betriebssysteminstallation auf Raspberry Pi
Betriebssysteminstallation auf Raspberry Pi

Einführung

Raspberry Pi ist ein kreditkartengroßer Mikroprozessor, der in verschiedenen Modellen mit unterschiedlichen Verarbeitungsgeschwindigkeiten ab 700 MHz erhältlich ist. Egal, ob Sie ein Modell B oder Modell B+ oder die sehr alte Version haben, der Installationsprozess bleibt gleich. Leute, die sich die offizielle Raspberry Pi-Website angesehen haben, haben möglicherweise gesehen, dass sie das Betriebssystem "NOOBS" oder "NOOBS LITE" (auch bekannt als "OS") für Anfänger empfehlen. Aber die Verwendung des Pi ist sehr einfach und als Anfänger wird man in kürzester Zeit zum Profi. Daher ist es besser, das leistungsfähigere und effizientere Betriebssystem Raspbian zu verwenden. Der Hauptgrund, warum Raspbian äußerst beliebt ist, ist, dass es Tausende von vorgefertigten Bibliotheken hat, um viele Aufgaben auszuführen und das Betriebssystem zu optimieren. Dies ist ein großer Vorteil beim Erstellen von Anwendungen.

Herunterladen von Raspbian und Image Writer

Laden Sie hier die neueste Raspbian-Version herunter. Sie können es direkt oder über die Torrents herunterladen.

Raspbian-Seite

Raspbian OS Download-Link

Sie benötigen einen Image Writer, um das heruntergeladene Betriebssystem auf die SD-Karte zu schreiben (Micro-SD-Karte im Falle des Raspberry Pi B+-Modells). Laden Sie also den "win32 Disk Imager" von hier herunter.

Das Bild schreiben

Legen Sie die SD-Karte in den Laptop/PC ein und führen Sie den Bildschreiber aus. Nach dem Öffnen durchsuchen und wählen Sie die heruntergeladene Raspbian-Bilddatei aus. Wählen Sie das richtige Gerät aus, d. h. das Laufwerk, das die SD-Karte repräsentiert. Wenn sich das ausgewählte Laufwerk (oder Gerät) von der SD-Karte unterscheidet, wird das andere ausgewählte Laufwerk beschädigt. Also sei vorsichtig.

Klicken Sie anschließend unten auf die Schaltfläche "Schreiben". Als Beispiel sehen Sie die Abbildung unten, in der das SD-Karten- (oder Micro-SD-) Laufwerk durch den Buchstaben "G:\" dargestellt wird.

Sobald der Schreibvorgang abgeschlossen ist, werfen Sie die SD-Karte aus und legen Sie sie in den Raspberry Pi ein und schalten Sie ihn ein. Es sollte mit dem Booten beginnen.

Einrichten des Pi

Bitte denken Sie daran, dass es nach dem Booten des Pi Situationen geben kann, in denen die Benutzeranmeldeinformationen wie der "Benutzername" und das Passwort abgefragt werden. Raspberry Pi wird mit einem Standardbenutzernamen und -kennwort geliefert und verwendet es daher immer, wenn es gefragt wird. Die Anmeldeinformationen sind:

Login: pi

Passwort: Himbeere

Wenn der Pi zum ersten Mal gebootet wurde, sollte ein Konfigurationsbildschirm namens "Setup Options" erscheinen, der wie in der Abbildung unten aussieht.

Wenn Sie den Bildschirm "Setup-Optionen" verpasst haben, ist dies kein Problem, Sie können ihn jederzeit abrufen, indem Sie den folgenden Befehl im Terminal eingeben.

sudo raspi-config

Sobald Sie diesen Befehl ausführen, wird der Bildschirm "Setup-Optionen" angezeigt, wie in der Abbildung oben gezeigt.

Jetzt, da das Fenster Setup-Optionen geöffnet ist, müssen wir einige Dinge einstellen. Wenn Sie nach jedem der folgenden Schritte aufgefordert werden, den Pi neu zu starten, tun Sie dies bitte. Wenn Sie nach dem Neustart den Bildschirm "Setup-Optionen" nicht erhalten, folgen Sie dem obigen Befehl, um den Bildschirm / das Fenster zu erhalten.

Das erste, was zu tun ist:

Wählen Sie die erste Option in der Liste des Fensters mit den Setup-Optionen aus, d

Dateisystem erweitern

Option und drücken Sie die Eingabetaste. Wir tun dies, um den gesamten Speicherplatz auf der SD-Karte als vollständige Partition zu nutzen. Alles, was dies tut, ist, das Betriebssystem so zu erweitern, dass es den gesamten Platz auf der SD-Karte ausfüllt, die dann als Speicher für den Pi verwendet werden kann. Das zweite, was zu tun ist:

Wählen Sie die dritte Option in der Liste des Fensters mit den Setup-Optionen aus, dh wählen Sie die Option "Boot auf Desktop/Scratch aktivieren" und drücken Sie die Eingabetaste. Es führt Sie zu einem anderen Fenster namens "Bootoption auswählen", das wie in der Abbildung unten aussieht.

Wählen Sie im Fenster "Bootoption auswählen" die zweite Option aus, dh "Desktop-Login als Benutzer 'pi' am grafischen Desktop" und drücken Sie die Eingabetaste. Wenn Sie fertig sind, gelangen Sie zurück zur Seite "Setup-Optionen", wenn nicht, wählen Sie die Schaltfläche "OK" am unteren Rand dieses Fensters und Sie gelangen zurück zum vorherigen Fenster. Wir tun dies, weil wir in die Desktop-Umgebung booten möchten, mit der wir vertraut sind. Wenn wir diesen Schritt nicht ausführen, bootet der Raspberry Pi jedes Mal in ein Terminal ohne GUI-Optionen. Sobald beide Schritte abgeschlossen sind, wählen Sie die Schaltfläche "Fertig stellen" am unteren Rand der Seite und es sollte automatisch neu gestartet werden. Wenn dies nicht der Fall ist, verwenden Sie den folgenden Befehl im Terminal, um einen Neustart durchzuführen.

sudo neu starten

Aktualisieren der Firmware

Wenn nach dem Neustart aus dem vorherigen Schritt alles richtig gelaufen ist, landen Sie auf dem Desktop, der wie im Bild unten aussieht.

Sobald Sie sich auf dem Desktop befinden, öffnen Sie ein Terminal und geben Sie den folgenden Befehl ein, um die Firmware des Pi zu aktualisieren.

sudo rpi-update

Das Aktualisieren der Firmware ist erforderlich, da bestimmte Pi-Modelle möglicherweise nicht alle erforderlichen Abhängigkeiten aufweisen, um reibungslos zu funktionieren, oder es können Fehler auftreten. Die neueste Firmware kann diese Fehler beheben, daher ist es sehr wichtig, sie am Anfang selbst zu aktualisieren.

hier ist der Videolink verfügbar:

Installieren und Konfigurieren des Raspbian Jessie-Betriebssystems auf dem Raspberry Pi (klicken Sie auf den Link)

Schritt 3: Richten Sie VNC auf Raspberry Pi zur Fernsteuerung ein

VNC auf Raspberry Pi zur Fernsteuerung einrichten
VNC auf Raspberry Pi zur Fernsteuerung einrichten

VNC (Virtuelles Netzwerk-Computing)

Manchmal ist es nicht bequem, direkt auf dem Raspberry Pi zu arbeiten. Vielleicht möchten Sie von einem anderen Gerät aus per Fernbedienung daran arbeiten.

VNC ist ein grafisches Desktop-Sharing-System, mit dem Sie die Desktop-Oberfläche eines Computers (auf dem VNC Server ausgeführt wird) von einem anderen Computer oder Mobilgerät (auf dem VNC Viewer ausgeführt wird) fernsteuern können. Der VNC Viewer überträgt die Tastatur- und entweder Maus- oder Berührungsereignisse an den VNC-Server und empfängt im Gegenzug Aktualisierungen des Bildschirms.

Sie sehen den Desktop des Raspberry Pi in einem Fenster auf Ihrem Computer oder Mobilgerät. Sie können es so steuern, als würden Sie am Raspberry Pi selbst arbeiten.

VNC Connect von RealVNC ist in Raspbian enthalten. Es besteht sowohl aus VNC Server, mit dem Sie Ihren Raspberry Pi aus der Ferne steuern können, als auch aus VNC Viewer, mit dem Sie Desktop-Computer bei Bedarf von Ihrem Raspberry Pi aus fernsteuern können.

Sie müssen VNC Server aktivieren, bevor Sie ihn verwenden können: Anweisungen dazu finden Sie unten. Standardmäßig bietet Ihnen VNC Server Fernzugriff auf den grafischen Desktop, der auf Ihrem Raspberry Pi ausgeführt wird, als ob Sie davor sitzen würden.

Aktivieren des VNC-Servers

Führen Sie auf Ihrem Raspberry Pi die folgenden Befehle aus, um sicherzustellen, dass Sie über die neueste Version von VNC Connect verfügen:

sudo apt-get update

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

Aktivieren Sie nun den VNC-Server. Sie können dies grafisch oder über die Befehlszeile tun.

VNC Server grafisch aktivieren

Booten Sie auf Ihrem Raspberry Pi in den grafischen Desktop.

Wählen Sie Menü > Einstellungen > Raspberry Pi-Konfiguration > Schnittstellen.

Stellen Sie sicher, dass VNC aktiviert ist. Aktivieren des VNC-Servers über die Befehlszeile

Sie können VNC Server in der Befehlszeile mit raspi-config aktivieren:

sudo raspi-config

Aktivieren Sie nun den VNC-Server, indem Sie Folgendes tun:

Navigieren Sie zu Schnittstellenoptionen

Scrollen Sie nach unten und wählen Sie VNC > Ja. Verbinden mit Ihrem Raspberry Pi mit VNC Viewer

Es gibt zwei Möglichkeiten, eine Verbindung zu Ihrem Raspberry Pi herzustellen. Sie können eines oder beide verwenden, je nachdem, was für Sie am besten funktioniert.

Direktverbindung herstellen

Direkte Verbindungen sind schnell und einfach, vorausgesetzt, Sie sind mit demselben privaten lokalen Netzwerk wie Ihr Raspberry Pi verbunden. Dies kann beispielsweise ein kabelgebundenes oder kabelloses Netzwerk zu Hause, in der Schule oder im Büro sein).

Verwenden Sie auf Ihrem Raspberry Pi (über ein Terminalfenster oder über SSH) diese Anweisungen oder führen Sie ifconfig aus, um Ihre private IP-Adresse zu ermitteln.

ifconfig

Laden Sie auf dem Gerät, mit dem Sie die Kontrolle übernehmen, VNC Viewer herunter. Verwenden Sie für beste Ergebnisse die kompatible App von RealVNC.

Geben Sie die private IP-Adresse Ihres Raspberry Pi in den VNC Viewer ein:

Herstellen einer Cloud-Verbindung

Sie sind berechtigt, den Cloud-Service von RealVNC kostenlos zu nutzen, vorausgesetzt, der Fernzugriff dient ausschließlich Bildungs- oder nichtkommerziellen Zwecken.

Cloud-Verbindungen sind bequem und Ende-zu-Ende verschlüsselt. Sie werden dringend empfohlen, um sich über das Internet mit Ihrem Raspberry Pi zu verbinden. Es gibt keine Neukonfiguration von Firewall oder Router, und Sie müssen die IP-Adresse Ihres Raspberry Pi nicht kennen oder eine statische angeben.

Melden Sie sich hier für ein RealVNC-Konto an: Es ist kostenlos und dauert nur wenige Sekunden.

Melden Sie sich auf Ihrem Raspberry Pi mit Ihren neuen RealVNC-Kontoanmeldeinformationen bei VNC Server an:

Laden Sie auf dem Gerät, mit dem Sie die Kontrolle übernehmen, VNC Viewer herunter. Sie müssen die kompatible App von RealVNC verwenden

Melden Sie sich mit denselben RealVNC-Kontoanmeldeinformationen bei VNC Viewer an und tippen oder klicken Sie dann, um eine Verbindung zu Ihrem Raspberry Pi herzustellen:

Authentifizierung beim VNC-Server

Um entweder eine Direkt- oder Cloud-Verbindung herzustellen, müssen Sie sich beim VNC-Server authentifizieren.

Wenn Sie eine Verbindung über die kompatible VNC Viewer-App von RealVNC herstellen, geben Sie den Benutzernamen und das Passwort ein, mit denen Sie sich normalerweise bei Ihrem Benutzerkonto auf dem Raspberry Pi anmelden. Standardmäßig sind diese Anmeldeinformationen pi und raspberry.

Wenn Sie eine Verbindung von einer Nicht-RealVNC Viewer-App herstellen, müssen Sie zuerst das Authentifizierungsschema von VNC Server herabstufen, ein für VNC Server eindeutiges Kennwort angeben und dieses dann stattdessen eingeben. Öffnen Sie dazu den VNC-Server-Dialog auf Ihrem Raspberry Pi, Wählen Sie Menü > Optionen > Sicherheit, und wählen Sie VNC-Passwort aus der Authentifizierung.

So schalten Sie diese Funktion ein:

Öffnen Sie auf Ihrem Raspberry Pi den VNC-Server-Dialog.

Navigieren Sie zu Menü > Optionen > Fehlerbehebung und wählen Sie Experimentellen Direktaufnahmemodus aktivieren.

Auf dem Gerät, mit dem Sie die Kontrolle übernehmen, führen Sie VNC Viewer aus und stellen Sie eine Verbindung her.

Hinweis: bestehende Verbindungen müssen neu gestartet werden, damit diese Änderungen wirksam werden.

Wenn die Leistung beeinträchtigt zu sein scheint, versuchen Sie diese Schritte zur Fehlerbehebung oder teilen Sie RealVNC mit.

Erstellen eines virtuellen Desktops

Wenn Ihr Raspberry Pi kopflos ist (d. h. nicht an einen Monitor angeschlossen ist) oder einen Roboter steuert, ist es unwahrscheinlich, dass er einen grafischen Desktop verwendet.

VNC Server kann für Sie einen virtuellen Desktop erstellen, der Ihnen bei Bedarf grafischen Fernzugriff ermöglicht. Dieser virtuelle Desktop existiert nur im Speicher Ihres Raspberry Pi:

So erstellen Sie einen virtuellen Desktop und stellen eine Verbindung zu ihm her:

Führen Sie auf Ihrem Raspberry Pi (mit Terminal oder über SSH) vnc server aus. Notieren Sie sich die IP-Adresse/Anzeigenummer, die VNC Server auf Ihrem Terminal ausgibt (z. B. 192.167.**.**).

Geben Sie diese Informationen auf dem Gerät, mit dem Sie die Kontrolle übernehmen, in VNC Viewer ein. Führen Sie den folgenden Befehl aus, um einen virtuellen Desktop zu zerstören:

vncserver -kill:

Dadurch werden auch alle bestehenden Verbindungen zu diesem virtuellen Desktop beendet.

Schritt 4: Kamerakonfiguration

Kamerakonfiguration
Kamerakonfiguration

Einrichten der Kamera-Hardware

Warnung: Kameras sind empfindlich gegenüber statischer Aufladung. Erden Sie sich vor dem Umgang mit der Leiterplatte. Ein Spültischhahn oder ähnliches sollte ausreichen, wenn Sie kein Erdungsband haben.

Die Kameraplatine wird über ein 15-poliges Flachbandkabel mit dem Raspberry Pi verbunden. Es müssen nur zwei Verbindungen hergestellt werden: Das Flachbandkabel muss an der Kameraplatine und am Raspberry Pi selbst befestigt werden. Sie müssen das Kabel richtig herum verlegen, sonst funktioniert die Kamera nicht. Auf der Kameraplatine sollte die blaue Rückseite des Kabels von der Platine weg zeigen und auf dem Raspberry Pi sollte sie zum Ethernet-Anschluss zeigen (oder dort, wo sich der Ethernet-Anschluss befinden würde, wenn Sie ein Modell A verwenden).

Obwohl sich die Anschlüsse auf der Platine und dem Pi unterscheiden, funktionieren sie ähnlich. Ziehen Sie auf dem Raspberry Pi selbst die Laschen an jedem Ende des Steckers nach oben. Es sollte leicht nach oben gleiten und sich leicht drehen können. Führen Sie das Flachbandkabel vollständig in den Schlitz ein und stellen Sie sicher, dass es gerade sitzt, und drücken Sie dann die Laschen vorsichtig nach unten, um es einzurasten. Beim PCB-Anschluss der Kamera müssen Sie außerdem die Laschen von der Platine wegziehen, das Kabel vorsichtig einführen und dann die Laschen zurückdrücken. Der PCB-Anschluss kann etwas umständlicher sein als der am Pi selbst.

Einrichten der Kamerasoftware

Führen Sie die folgenden Anweisungen in der Befehlszeile aus, um den neuesten Kernel, die GPU-Firmware und die Anwendungen herunterzuladen und zu installieren. Damit dies richtig funktioniert, benötigen Sie eine Internetverbindung.

sudo apt-get update

sudo apt-get upgrade

Jetzt müssen Sie die Kameraunterstützung mit dem aktivieren

raspi-config

Programm, das Sie beim ersten Einrichten Ihres Raspberry Pi verwendet haben.

sudo raspi-config

Verwenden Sie die Cursortasten, um zur Kameraoption zu gelangen, und wählen Sie „Aktivieren“. Beim Beenden von raspi-config wird zum Neustart aufgefordert. Die Enable-Option stellt sicher, dass beim Neustart die richtige GPU-Firmware mit dem Kameratreiber und der Einstellung ausgeführt wird und die GPU-Speicheraufteilung ausreicht, damit die Kamera genügend Speicher für eine korrekte Ausführung erhält.

Wenn es nicht aktiviert ist, aktivieren Sie es und starten Sie Ihren Pi neu, um zu beginnen

Um zu testen, ob das System installiert ist und funktioniert, versuchen Sie den folgenden Befehl:

Raspistille -v -o test.jpg

Das Display sollte eine fünfsekündige Vorschau der Kamera anzeigen und dann ein Bild aufnehmen, das in der Datei test-j.webp

RASPIVID

Raspivid ist das Befehlszeilentool zum Aufnehmen von Videos mit dem Kameramodul.

Nehmen Sie mit dem angeschlossenen und aktivierten Kameramodul ein Video mit dem folgenden Befehl auf:

raspivid -o vid.h264

Denken Sie daran, zu verwenden

-hf

und

-vf

um das Bild bei Bedarf zu spiegeln, wie mit

Raspistille

Dadurch wird eine 5-Sekunden-Videodatei im hier angegebenen Pfad als vid.h264 gespeichert (Standarddauer).

Länge des Videos angeben

Um die Länge des aufgenommenen Videos anzugeben, übergeben Sie das Flag -t mit einer Anzahl von Millisekunden. Zum Beispiel:

raspivid -o video.h264 -t 10000

Dadurch werden 10 Sekunden Video aufgezeichnet.

MP4-Videoformat

Der Pi erfasst Videos als rohen H264-Videostream. Viele Mediaplayer weigern sich, es abzuspielen, oder spielen es mit einer falschen Geschwindigkeit ab, es sei denn, es ist in ein geeignetes Containerformat wie MP4 "verpackt". Der einfachste Weg, eine MP4-Datei von der

raspivid

Befehl verwendet MP4Box.

Installieren Sie MP4Box mit diesem Befehl:

sudo apt-get install -y gpac

Nehmen Sie Ihr Rohvideo mit raspivid auf und packen Sie es wie folgt in einen MP4-Container:

# 30 Sekunden Rohvideo mit 640 x 480 und einer Bitrate von 150 kB/s in eine pivideo.h264-Datei aufnehmen:

raspivid -t 30000 -w 640 -h 480 -fps 25 -b 1200000 -p 0, 0, 640, 480 -o pivideo.h264 # Umhüllen des Rohvideos mit einem MP4-Container MP4Box -add pivideo.h264 pivideo.mp4 # Entfernen die Quell-Rohdatei, wobei die verbleibende pivideo.mp4-Datei zum Abspielen von rm pivideo.h264 übrig bleibt

Alternativ können Sie MP4 wie folgt um Ihre vorhandene Raspivid-Ausgabe wickeln:

MP4Box -video.h264 hinzufügen video.mp4

Schritt 5: Installation und Konfiguration

Befolgen Sie diese Anweisungen nur, wenn Sie Ihre Software von Grund auf neu kompilieren möchten. Diese folgenden Schritte sind notwendig und werden als der gleiche Prozess der Installation auf Ihrem Raspberry Pi empfohlen.

Installieren der Abhängigkeiten

Sphinxbase/Pocketsphinx installieren

Zuerst müssen Sie Pocketsphinx installieren. Wenn Sie Debian Sid (unstable) oder Jessie (Testen) verwenden, können Sie einfach Folgendes tun:

sudo apt-get update

sudo apt-get installiere pocketphinx

Beginnen Sie mit der Installation einiger Abhängigkeiten:

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

Wechseln Sie als Nächstes in Ihr Home- (oder Jasper-) Verzeichnis, um CMUCLMTK auszuchecken und zu installieren:

svn co

cd cmuclmtk/

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

CD..

Laden Sie dann, wenn Sie das CMUCLTK-Verzeichnis verlassen haben, die folgenden Bibliotheken herunter:

Installation von Phonetisaurus, m2m-aligner und MITLM

Um die Pocketsphinx STT-Engine zu verwenden, müssen Sie außerdem das MIT Language Modeling Toolkit, m2m-aligner und Phonetisaurus (und damit OpenFST) installieren.

Wenn Sie Debian nicht verwenden, führen Sie diese Schritte aus:

#-Original:

# wget

#-Neu:

wget

wget

wget

wget

Entpacken Sie die 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 erstellen:

cd openfst-1.3.4/

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

time sudo make install # komm nach langer Zeit wieder

CD..

echte 66m38.394s

Benutzer 64m42.620s

sys 1m2.150s

df -h /

Verwendete Dateisystemgröße Verfügbare Verwendung% Gemountet auf /dev/root 14G 4,4G 8,3G 35% /

M2M erstellen:

cd m2m-Aligner-1.2/

sudo machen

CD..

MITLMT erstellen:

cd mitlm-0.4.1/

sudo./configure

sudo machen installieren

CD..

Phonetisaurus aufbauen:

cd is2013-conversion/phonetisaurus/src

sudo machen

CD

Verschieben Sie einige der kompilierten Dateien:

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

#-Original:

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

#-muss sein:

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

Beachten Sie den geänderten Pfad für die ausführbare Datei.

Holen und bauen Sie das Phonetisaurus FST-Modell

www.dropbox.com/s/kfht75czdwucni1/g014b2b…

tar -xvf g014b2b.tgz

cd g014b2b/

./compile-fst.sh

CD..

Benennen Sie abschließend den folgenden Ordner der Einfachheit halber um:

mv ~/g014b2b ~/phonetisaurus

Sobald die Installationen abgeschlossen sind, starten Sie Ihren Pi neu.

Folgen Sie den Anweisungen von

Ich habe auch die (neue) Datei `/etc/modprobe.d/alsa-base.conf` mit diesem Inhalt hinzugefügt:

# Dies legt den Indexwert der Karten fest, ordnet jedoch nicht neu an.

Optionen snd_usb_audio index=0

Optionen snd_bcm2835 index=1

# Führt die Neuordnung durch.

Optionen snd Slots=snd_usb_audio, snd_bcm2835

um die richtige Reihenfolge der Audiogeräte sicherzustellen (obwohl dies nicht wirklich erforderlich ist)

Fertig mit Installationen - einige Debugging als nächstes …

Versuch, Jaspis zu starten:

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

Traceback (letzter Anruf zuletzt):

Datei "./jasper/jasper.py", Zeile 12, in from client import tts, stt, jasperpath, diagnose Datei "/home/pi/jasper/client/tts.py", Zeile 41, in import diagnose File "/ home/pi/jasper/client/diagnose.py", Zeile 9, in import pip.req Datei "/usr/lib/python2.7/dist-packages/pip/_init_.py", Zeile 74, in from pip. vcs import git, mercurial, subversion, bazaar # noqa File "/usr/lib/python2.7/dist-packages/pip/vcs/mercurial.py", Zeile 9, in from pip.download import path_to_url File "/usr/ lib/python2.7/dist-packages/pip/download.py", Zeile 25, in from request.compat import IncompleteRead ImportError: Name IncompleteRead kann nicht importiert werden

Behoben mit:

sudo easy_install -U pip

Nächste Ausgabe:

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

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

* JASPER - DER SPRECHENDE COMPUTER * * (c) 2015 Shubhro Saha, Charlie Marsh & Jan Holthuis * ***************************** ************************* FEHLER:root:Fehler aufgetreten! Traceback (letzter Aufruf zuletzt): Datei "./jasper/jasper.py", Zeile 143, in app = Jasper()Datei "./jasper/jasper.py", Zeile 88, in _init_ stt_engine_class = stt.get_engine_by_slug(stt_engine_slug) Datei "/home/pi/jasper/client/stt.py", Zeile 648, in get_engine_by_slug"Abhängigkeiten, etc.)") % slug)

ValueError: STT-Engine 'sphinx' ist nicht verfügbar (aufgrund fehlender Abhängigkeiten, fehlender Abhängigkeiten usw.)

versuchen

sudo apt-get install -y python-pocketsphinx

Pfad zu `../phonetisaurus/g014b2b.fst` zu `/home/pi/phonetisaurus/g014b2b.fst` korrigiert (in `.jasper/profile.yml`)

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

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

* JASPER - DER SPRECHENDE COMPUTER * * (c) 2015 Shubhro Saha, Charlie Marsh & Jan Holthuis * ***************************** ************************** FEHLER:client.stt:hmm_dir '/usr/local/share/pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k ' ist nicht vorhanden! Bitte stellen Sie sicher, dass Sie in Ihrem Profil das richtige hmm_dir eingestellt haben.

Pfad dafür auch in `profile.yml` korrigieren/aktivieren:

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

(beachten Sie das Fehlen von "local" im Pfad)

Teilerfolg --:

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

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

* JASPER - DER SPRECHENDE COMPUTER * * (c) 2015 Shubhro Saha, Charlie Marsh & Jan Holthuis * ***************************** ************************** ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unbekannte PCM-Karten.pcm.rear ALSA lib pcm.c: 2239:(snd_pcm_open_noupdate) Unbekannte PCM-Karten.pcm.center_lfe ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unbekannte PCM-Karten.pcm.side ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unbekannte PCM-Karten.pcm.h.d pcm.c:2239:(snd_pcm_open_noupdate) Unbekannte PCM-Karten.pcm.hdmi ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unbekannte PCM-Karten.pcm.modem ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unbekannte PCM-Karten.pcm.modem ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unbekannte PCM-Karten.pcm.phoneline ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unbekannte PCM-Karten.pcm.phoneline ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Verbindung nicht möglich: Verbindung abgelehnt ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Verbindung nicht möglich: Verbindung abgelehnt Verbindung zum Dienst nicht möglich r socket err = No such file or directory Cannot connect to server request channel jack server läuft nicht oder kann nicht gestartet werden Ausdruck 'paInvalidSampleRate' fehlgeschlagen in 'src/hostapi/alsa/pa_linux_alsa.c', Zeile: 2048 Ausdruck 'PaAlsaStreamComponent_InitialConfigure(&self ->capture, inParams, self->primeBuffers, hwParamsCapture, &realSr)' fehlgeschlagen in 'src/hostapi/alsa/pa_linux_alsa.c', Zeile: 2719 Ausdruck 'PaAlsaStream_Configure(stream, inputParameters, outputParameters, sampleRate, framesPerBuffer, &inputLatency, &inputLatency, &inputLatency, &hostBufferSizeMode)' in 'src/hostapi/alsa/pa_linux_alsa.c' fehlgeschlagen, Zeile: 2843 Traceback (letzter Aufruf zuletzt): Datei "./jasper/jasper.py", Zeile 148, in app.run() Datei "./jasper/jasper.py", Zeile 118, in Run Conversation.handleForever() Datei "/home/pi/jasper/client/conversation.py", Zeile 31, in handleForever Schwellenwert, transcribed = self.mic.passiveListen (self.persona) Datei "/home/pi/jasper/client/mic.py", Zeile 110, in passiveListen frames_per_buffer=CHUNK) Datei "/usr/lib/python2.7/dist-packages/pyaudio.py", Zeile 747, im offenen Stream = Stream(self, *args, **kwargs) Datei "/usr/lib/python2.7/dist -packages/pyaudio.py", Zeile 442, in _init_ self._stream = pa.open(**argumente) IOError: [Errno Ungültige Abtastrate] -9997

OK, das Festlegen von RATE und CHUNK wie folgt scheint weiter zu gehen:

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 @@ Klasse Mic:

"""

THRESHOLD_MULTIPLIER = 1,8

-RATE = 16000

- CHUNK = 1024

+ RATE = 44100 # 16000

+ CHUNK = 4096 # 1024

# Anzahl der Sekunden, um den Schwellenwert festzulegen

THRESHOLD_TIME = 1

Schritt 6: Screenshots ausgeben

Empfohlen: