How To: Sprachsteuerung des Raspberry III B

How To: Sprachsteuerung des Raspberry III B

Ich bin durch einen guten Freund auf den Geschmack gekommen und möchte nun parallel zu seinen Bemühungen auch mein bescheidenes Heim mit ein wenig Smart-Home verfeinern.

Hierbei sind für mich unter anderem sehr wichtige Kriterien:

  • Modulare Software
  • Offline verfügbar
  • akzeptable Reaktionszeiten
  • Quelloffen
  • akzeptable Ergebnisse in der Erkennung


Die Sprache, die hierfür verwendet wird, ist mir relativ egal. Ich habe mir ein SDK in Java heraus gesucht, eines in C++ und eines in Python. Die meisten der Programme unterstützen dabei lediglich englisch, aber auch das sollte kein Problem sein.

Beginnen wir also mit dem Aufsetzen:

Zu beginn liegt vor mir ein Raspberry Pi III B, ich habe mir von der Seite raspberrypi.org das Image herunter geladen, was mir für die Basis vorschwebte. In meinem Fall war das Rasbian Stretch LITE, da ich keinerlei grafische Oberfläche benötige und auch nicht wünsche, der Raspbeerry wird später in einem Schrank installiert sein und per ssh wartbar sein.

Nach dem Aufspielen des Images mit Hilfe von Etcher auf die SD-Card und dem Starten des Raspberry-PI kann man sich an der Console wie folgt anmelden:

User: pi
Password: raspberry

Da das Image als Basis die englische Spracheinstellung benutzt, müssten wir das erstmal umstellen:

BASH
sudo raspi-config


dort wählen wir Localisation Options aus. Im darauf folgenden Menü wählen wir Change Locale und entscheiden uns nach Bestätigen durch Select für eine von uns präferierte Sprache. In meinem Fall ist das de_DE.UTF-8. Diese Sprache wählen wir mit der Leertaste aus, nachdem wir dahin navigiert sind (pfeil hoch/runter, oder Bild auf/ab) und bestätigen dann mit Ok.

Nun gehen wir noch einmal in die Localisation Options, wählen aber diesmal Change Keyboard Layout aus. Im folgenden Menü wählen wir ein für uns bevorzugtes Layout aus, für mich war das Generic 105-key (Intl) PC. Mit bestätigen durch Enter kann man die speziellen Einstellungen des gewählten Layouts festlegen. Ich wähle hier in der Regel German - Romanian (Germany) aus, da ich so alle Akzenttasten verfügbar habe. Weiter geht es mit dem festlegen der AltGr Taste. Ich wähle hier meiner Tastatur entsprechend Right Alt aus. Den Compose Key lege ich mir auf Menu Key (das ist meist die "Windows"-Taste.

Nun möchte ich das Microfon konfigurieren. Ich nutze dazu das Microfon meines USB-Headsets. Um zu prüfen, ob es überhaupt erkannt wurde, rufe ich folgenden Befehl auf:

BASH
lsub


bringt mir eine Ausgabe aller angeschlossenen USB-Geräte, unter anderem auch mein Headset, voila, der erste Knackpunkt ist überwunden.

Nun öffnen wir den alsamixer um unseren Ein-und Ausgang zu konfigurieren:

BASH
alsamixer


dort wählen wir per F6 unser USB device aus und per F4 den Eingang. Im darauf folgenden Menü stellen wir unser Mikrofon auf eine entsprechende Empfindlichkeit, falls das nicht schon eingestellt ist.

Jetzt müssen wir in Erfahrung bringen, unter welchem Eintrag unser USB Gerät gelistet ist. Dafür geben wir in der console folgendes ein:

BASH
arecord -l


In der darauf folgenden Ausgabe sehen wir, dass unser USB Device als card 1 gelistet ist mit dem Namen Device [USB PnP Audio Device], device 0: USB Audion [USB Audio]

Der nächste Schritt ist hier, unser USB Device als default Ein-Ausgabe einzustellen. Dafür ziehen wir die im vorhergehenden Abschnitt erhaltene Card Nummer hinzu. Hierfür öffnen wir mit nano eine neue Datei Namens /etc/asound.conf und tragen dort folgende Zeilen ein:

BASH
pcm.!default {
type hw card 1
}

ctl.!default {
type hw card 1
}


Nun speichern wir diese Zeilen und starten den Raspberry per sudo reboot now neu.

Nach dem Reboot sollte unter alsamixer unser USB Device default ausgewählt sein.

Um nun unsere Aufnahme zu testen gehen wir wie folgt vor:

Mit arecord -D plughw:, output.wav kann man einen Stream abgreifen und lokal speichern. Das nutzen wir für die Testaufnahme.

wir geben im Terminal folgendes ein (dabei ist CARD unsere Card Nummer und Device unsere Nummer des Geräte, was wir im vorhergehenden Abschnitt durch arecord -l erhalten haben:

BASH
arecord -D plughw:1,0 output.wav


Wenn wir genug gesprochen bzw. aufgenommen haben, unterbrechen wir die Aufnahme mit Ctrl+C. Danach können wir sie testweise mit aplay wiedergeben:

BASH
aplay output.wav


Man kann die Lautsprecher, bzw. deren Funktionalität ebenfalls mit speaker-test -c testen:

BASH
speaker-test -c2


So. Damit haben wir erstmal die notwendige Hardware konfiguriert.

Kommen wir nun zur Software!

Um per ssh auf den raspberry zu kommen, müssen wir es aktivieren:

BASH
sudo raspi-config


hier wählen wir Interfacing Options aus und im folgenden Menü SSH. Dort wählen wir Ja bzw. Yes aus und aktivieren damit SSH. Ab sofort können wir uns per Terminal am raspberry mit den oben genannten Credentials authentifizieren.

Ich habe mich hier für CMU-Sphinx und Jasper entschieden. Das sind 2 verschiedene Spracherkennungslösungen und ich werde in diesem How To die Wege der Installation und Einrichtung, sowie deren Anwendung und die Pro und Contras beleuchten.

Um mit der aktuellen Version von CMU-Sphinx arbeiten zu können, benötigen wir erstmal Git, also installieren wir das erstmal:

BASH
sudo apt install git-core


außerdem benötigen wir für die Entwicklung für CMU-Sphinx noch einige Pakete:

BASH
sudo apt install --yes cmake automake autoconf libtool bison swig python-dev libpulse-dev python-pip libasound2-dev libportaudio-dev python-pyaudio gfortran g++ autoconf-archive


Jetzt wird erstmal für Jasper alles vorbereitet. Dazu tragen wir im Profil des users "pi" (oder eines anderen, wenn du einen bestimten user angelegt hast) ein paar umgebungsvariablen ein, bzw. erweitern diese:

BASH
nano ~/.bashrc-profile


BASH
export LD_LIBRARY_PATH="/usr/local/lib"


außerdem müssen in der ~/.bashrc noch Einträge hinterlegt werden:

BASH
nano ~/.bashrc


BASH
LD_LIBRARY_PATH="/usr/local/lib"
type hw card 1

}

ctl.!default {
type hw card 1
}


Nun speichern wir diese Zeilen und starten den Raspberry per sudo reboot now neu.

Nach dem Reboot sollte unter alsamixer unser USB Device default ausgewählt sein.

Um nun unsere Aufnahme zu testen gehen wir wie folgt vor:

Mit arecord -D plughw:, output.wav kann man einen Stream abgreifen und lokal speichern. Das nutzen wir für die Testaufnahme.

wir geben im Terminal folgendes ein (dabei ist CARD unsere Card Nummer und Device unsere Nummer des Geräte, was wir im vorhergehenden Abschnitt durch arecord -l erhalten haben:

BASH
arecord -D plughw:1,0 output.wav


Wenn wir genug gesprochen bzw. aufgenommen haben, unterbrechen wir die Aufnahme mit Ctrl+C. Danach können wir sie testweise mit aplay wiedergeben:

BASH
aplay output.wav


Man kann die Lautsprecher, bzw. deren Funktionalität ebenfalls mit speaker-test -c testen:

BASH
speaker-test -c2


So. Damit haben wir erstmal die notwendige Hardware konfiguriert.

Kommen wir nun zur Software!

Um per ssh auf den raspberry zu kommen, müssen wir es aktivieren:

BASH
sudo raspi-config


hier wählen wir Interfacing Options aus und im folgenden Menü SSH. Dort wählen wir Ja bzw. Yes aus und aktivieren damit SSH. Ab sofort können wir uns per Terminal am raspberry mit den oben genannten Credentials authentifizieren.

Ich habe mich hier für CMU-Sphinx und Jasper entschieden. Das sind 2 verschiedene Spracherkennungslösungen und ich werde in diesem How To die Wege der Installation und Einrichtung, sowie deren Anwendung und die Pro und Contras beleuchten.

Um mit der aktuellen Version von CMU-Sphinx arbeiten zu können, benötigen wir erstmal Git, also installieren wir das erstmal:

BASH
sudo apt install git-core


außerdem benötigen wir für die Entwicklung für CMU-Sphinx noch einige Pakete:

BASH
sudo apt install --yes cmake automake autoconf libtool bison swig python-dev libpulse-dev python-pip libasound2-dev libportaudio-dev python-pyaudio gfortran g++ autoconf-archive


Jetzt wird erstmal für Jasper alles vorbereitet. Dazu tragen wir im Profil des users "pi" (oder eines anderen, wenn du einen bestimten user angelegt hast) ein paar umgebungsvariablen ein, bzw. erweitern diese:

BASH
nano ~/.bashrc-profile


BASH
export LD_LIBRARY_PATH="/usr/local/lib"
type hw card 1

}

ctl.!default {
type hw card 1
}


Nun speichern wir diese Zeilen und starten den Raspberry per sudo reboot now neu.

Nach dem Reboot sollte unter alsamixer unser USB Device default ausgewählt sein.

Um nun unsere Aufnahme zu testen gehen wir wie folgt vor:

Mit arecord -D plughw:, output.wav kann man einen Stream abgreifen und lokal speichern. Das nutzen wir für die Testaufnahme.

wir geben im Terminal folgendes ein (dabei ist CARD unsere Card Nummer und Device unsere Nummer des Geräte, was wir im vorhergehenden Abschnitt durch arecord -l erhalten haben:

BASH
arecord -D plughw:1,0 output.wav


Wenn wir genug gesprochen bzw. aufgenommen haben, unterbrechen wir die Aufnahme mit Ctrl+C. Danach können wir sie testweise mit aplay wiedergeben:

BASH
aplay output.wav


Man kann die Lautsprecher, bzw. deren Funktionalität ebenfalls mit speaker-test -c testen:

BASH
speaker-test -c2


So. Damit haben wir erstmal die notwendige Hardware konfiguriert.

Kommen wir nun zur Software!

Um per ssh auf den raspberry zu kommen, müssen wir es aktivieren:

BASH
sudo raspi-config


hier wählen wir Interfacing Options aus und im folgenden Menü SSH. Dort wählen wir Ja bzw. Yes aus und aktivieren damit SSH. Ab sofort können wir uns per Terminal am raspberry mit den oben genannten Credentials authentifizieren.

Ich habe mich hier für CMU-Sphinx und Jasper entschieden. Das sind 2 verschiedene Spracherkennungslösungen und ich werde in diesem How To die Wege der Installation und Einrichtung, sowie deren Anwendung und die Pro und Contras beleuchten.

Um mit der aktuellen Version von CMU-Sphinx arbeiten zu können, benötigen wir erstmal Git, also installieren wir das erstmal:

BASH
sudo apt install git-core


außerdem benötigen wir für die Entwicklung für CMU-Sphinx noch einige Pakete:

BASH
sudo apt install --yes cmake automake autoconf libtool bison swig python-dev libpulse-dev python-pip libasound2-dev libportaudio-dev python-pyaudio gfortran g++ autoconf-archive


Jetzt wird erstmal für Jasper alles vorbereitet. Dazu tragen wir im Profil des users "pi" (oder eines anderen, wenn du einen bestimten user angelegt hast) ein paar umgebungsvariablen ein, bzw. erweitern diese:

BASH
nano ~/.bashrc-profile


BASH
export LD_LIBRARY_PATH="/usr/local/lib"
type hw card 1

}

ctl.!default {
type hw card 1
}


Nun speichern wir diese Zeilen und starten den Raspberry per sudo reboot now neu.

Nach dem Reboot sollte unter alsamixer unser USB Device default ausgewählt sein.

Um nun unsere Aufnahme zu testen gehen wir wie folgt vor:

Mit arecord -D plughw:, output.wav kann man einen Stream abgreifen und lokal speichern. Das nutzen wir für die Testaufnahme.

wir geben im Terminal folgendes ein (dabei ist CARD unsere Card Nummer und Device unsere Nummer des Geräte, was wir im vorhergehenden Abschnitt durch arecord -l erhalten haben:

BASH
arecord -D plughw:1,0 output.wav


Wenn wir genug gesprochen bzw. aufgenommen haben, unterbrechen wir die Aufnahme mit Ctrl+C. Danach können wir sie testweise mit aplay wiedergeben:

BASH
aplay output.wav


Man kann die Lautsprecher, bzw. deren Funktionalität ebenfalls mit speaker-test -c testen:

BASH
speaker-test -c2


So. Damit haben wir erstmal die notwendige Hardware konfiguriert.

Kommen wir nun zur Software!

Um per ssh auf den raspberry zu kommen, müssen wir es aktivieren:

BASH
sudo raspi-config


hier wählen wir Interfacing Options aus und im folgenden Menü SSH. Dort wählen wir Ja bzw. Yes aus und aktivieren damit SSH. Ab sofort können wir uns per Terminal am raspberry mit den oben genannten Credentials authentifizieren.

Ich habe mich hier für CMU-Sphinx und Jasper entschieden. Das sind 2 verschiedene Spracherkennungslösungen und ich werde in diesem How To die Wege der Installation und Einrichtung, sowie deren Anwendung und die Pro und Contras beleuchten.

Um mit der aktuellen Version von CMU-Sphinx arbeiten zu können, benötigen wir erstmal Git, also installieren wir das erstmal:

BASH
sudo apt install git-core


außerdem benötigen wir für die Entwicklung für CMU-Sphinx noch einige Pakete:

BASH
sudo apt install --yes cmake automake autoconf libtool bison swig python-dev libpulse-dev python-pip libasound2-dev libportaudio-dev python-pyaudio gfortran g++ autoconf-archive


Jetzt wird erstmal für Jasper alles vorbereitet. Dazu tragen wir im Profil des users "pi" (oder eines anderen, wenn du einen bestimten user angelegt hast) ein paar umgebungsvariablen ein, bzw. erweitern diese:

BASH
nano ~/.bashrc-profile


BASH
export LD_LIBRARY_PATH="/usr/local/lib"
type hw card 1

}

ctl.!default {
type hw card 1
}


Nun speichern wir diese Zeilen und starten den Raspberry per sudo reboot now neu.

Nach dem Reboot sollte unter alsamixer unser USB Device default ausgewählt sein.

Um nun unsere Aufnahme zu testen gehen wir wie folgt vor:

Mit arecord -D plughw:, output.wav kann man einen Stream abgreifen und lokal speichern. Das nutzen wir für die Testaufnahme.

wir geben im Terminal folgendes ein (dabei ist CARD unsere Card Nummer und Device unsere Nummer des Geräte, was wir im vorhergehenden Abschnitt durch arecord -l erhalten haben:

BASH
arecord -D plughw:1,0 output.wav


Wenn wir genug gesprochen bzw. aufgenommen haben, unterbrechen wir die Aufnahme mit Ctrl+C. Danach können wir sie testweise mit aplay wiedergeben:

BASH
aplay output.wav


Man kann die Lautsprecher, bzw. deren Funktionalität ebenfalls mit speaker-test -c testen:

BASH
speaker-test -c2


So. Damit haben wir erstmal die notwendige Hardware konfiguriert.

Kommen wir nun zur Software!

Um per ssh auf den raspberry zu kommen, müssen wir es aktivieren:

BASH
sudo raspi-config


hier wählen wir Interfacing Options aus und im folgenden Menü SSH. Dort wählen wir Ja bzw. Yes aus und aktivieren damit SSH. Ab sofort können wir uns per Terminal am raspberry mit den oben genannten Credentials authentifizieren.

Ich habe mich hier für CMU-Sphinx und Jasper entschieden. Das sind 2 verschiedene Spracherkennungslösungen und ich werde in diesem How To die Wege der Installation und Einrichtung, sowie deren Anwendung und die Pro und Contras beleuchten.

Um mit der aktuellen Version von CMU-Sphinx arbeiten zu können, benötigen wir erstmal Git, also installieren wir das erstmal:

BASH
sudo apt install git-core


außerdem benötigen wir für die Entwicklung für CMU-Sphinx noch einige Pakete:

BASH
sudo apt install --yes cmake automake autoconf libtool bison swig python-dev libpulse-dev python-pip libasound2-dev libportaudio-dev python-pyaudio gfortran g++ autoconf-archive


Jetzt wird erstmal für Jasper alles vorbereitet. Dazu tragen wir im Profil des users "pi" (oder eines anderen, wenn du einen bestimten user angelegt hast) ein paar umgebungsvariablen ein, bzw. erweitern diese:

BASH
nano ~/.bashrc-profile


BASH
export LD_LIBRARY_PATH="/usr/local/lib"
wget http://www.openfst.org/twiki/pub/FST/FstDownload/openfst-1.6.2.tar.gz
tar -xvzf openfst-1.6.1.tar.gz
type hw card 1

}

ctl.!default {
type hw card 1
}


Nun speichern wir diese Zeilen und starten den Raspberry per sudo reboot now neu.

Nach dem Reboot sollte unter alsamixer unser USB Device default ausgewählt sein.

Um nun unsere Aufnahme zu testen gehen wir wie folgt vor:

Mit arecord -D plughw:, output.wav kann man einen Stream abgreifen und lokal speichern. Das nutzen wir für die Testaufnahme.

wir geben im Terminal folgendes ein (dabei ist CARD unsere Card Nummer und Device unsere Nummer des Geräte, was wir im vorhergehenden Abschnitt durch arecord -l erhalten haben:

BASH
arecord -D plughw:1,0 output.wav


Wenn wir genug gesprochen bzw. aufgenommen haben, unterbrechen wir die Aufnahme mit Ctrl+C. Danach können wir sie testweise mit aplay wiedergeben:

BASH
aplay output.wav


Man kann die Lautsprecher, bzw. deren Funktionalität ebenfalls mit speaker-test -c testen:

BASH
speaker-test -c2


So. Damit haben wir erstmal die notwendige Hardware konfiguriert.

Kommen wir nun zur Software!

Um per ssh auf den raspberry zu kommen, müssen wir es aktivieren:

BASH
sudo raspi-config


hier wählen wir Interfacing Options aus und im folgenden Menü SSH. Dort wählen wir Ja bzw. Yes aus und aktivieren damit SSH. Ab sofort können wir uns per Terminal am raspberry mit den oben genannten Credentials authentifizieren.

Ich habe mich hier für CMU-Sphinx und Jasper entschieden. Das sind 2 verschiedene Spracherkennungslösungen und ich werde in diesem How To die Wege der Installation und Einrichtung, sowie deren Anwendung und die Pro und Contras beleuchten.

Um mit der aktuellen Version von CMU-Sphinx arbeiten zu können, benötigen wir erstmal Git, also installieren wir das erstmal:

BASH
sudo apt install git-core


außerdem benötigen wir für die Entwicklung für CMU-Sphinx noch einige Pakete:

BASH
sudo apt install --yes cmake automake autoconf libtool bison swig python-dev libpulse-dev python-pip libasound2-dev libportaudio-dev python-pyaudio gfortran g++ autoconf-archive


Jetzt wird erstmal für Jasper alles vorbereitet. Dazu tragen wir im Profil des users "pi" (oder eines anderen, wenn du einen bestimten user angelegt hast) ein paar umgebungsvariablen ein, bzw. erweitern diese:

BASH
nano ~/.bashrc-profile


BASH
export LD_LIBRARY_PATH="/usr/local/lib"
./configure --enable-static --enable-shared --enable-far --enable-ngram-fsts
make -j 4
sudo make install


BASH
type hw card 1
}

ctl.!default {
type hw card 1
}


Nun speichern wir diese Zeilen und starten den Raspberry per sudo reboot now neu.

Nach dem Reboot sollte unter alsamixer unser USB Device default ausgewählt sein.

Um nun unsere Aufnahme zu testen gehen wir wie folgt vor:

Mit arecord -D plughw:, output.wav kann man einen Stream abgreifen und lokal speichern. Das nutzen wir für die Testaufnahme.

wir geben im Terminal folgendes ein (dabei ist CARD unsere Card Nummer und Device unsere Nummer des Geräte, was wir im vorhergehenden Abschnitt durch arecord -l erhalten haben:

BASH
arecord -D plughw:1,0 output.wav


Wenn wir genug gesprochen bzw. aufgenommen haben, unterbrechen wir die Aufnahme mit Ctrl+C. Danach können wir sie testweise mit aplay wiedergeben:

BASH
aplay output.wav


Man kann die Lautsprecher, bzw. deren Funktionalität ebenfalls mit speaker-test -c testen:

BASH
speaker-test -c2


So. Damit haben wir erstmal die notwendige Hardware konfiguriert.

Kommen wir nun zur Software!

Um per ssh auf den raspberry zu kommen, müssen wir es aktivieren:

BASH
sudo raspi-config


hier wählen wir Interfacing Options aus und im folgenden Menü SSH. Dort wählen wir Ja bzw. Yes aus und aktivieren damit SSH. Ab sofort können wir uns per Terminal am raspberry mit den oben genannten Credentials authentifizieren.

Ich habe mich hier für CMU-Sphinx und Jasper entschieden. Das sind 2 verschiedene Spracherkennungslösungen und ich werde in diesem How To die Wege der Installation und Einrichtung, sowie deren Anwendung und die Pro und Contras beleuchten.

Um mit der aktuellen Version von CMU-Sphinx arbeiten zu können, benötigen wir erstmal Git, also installieren wir das erstmal:

BASH
sudo apt install git-core


außerdem benötigen wir für die Entwicklung für CMU-Sphinx noch einige Pakete:

BASH
sudo apt install --yes cmake automake autoconf libtool bison swig python-dev libpulse-dev python-pip libasound2-dev libportaudio-dev python-pyaudio gfortran g++ autoconf-archive


Jetzt wird erstmal für Jasper alles vorbereitet. Dazu tragen wir im Profil des users "pi" (oder eines anderen, wenn du einen bestimten user angelegt hast) ein paar umgebungsvariablen ein, bzw. erweitern diese:

BASH
nano ~/.bashrc-profile


BASH
export LD_LIBRARY_PATH="/usr/local/lib"
type hw card 1

}

ctl.!default {
type hw card 1
}


Nun speichern wir diese Zeilen und starten den Raspberry per sudo reboot now neu.

Nach dem Reboot sollte unter alsamixer unser USB Device default ausgewählt sein.

Um nun unsere Aufnahme zu testen gehen wir wie folgt vor:

Mit arecord -D plughw:, output.wav kann man einen Stream abgreifen und lokal speichern. Das nutzen wir für die Testaufnahme.

wir geben im Terminal folgendes ein (dabei ist CARD unsere Card Nummer und Device unsere Nummer des Geräte, was wir im vorhergehenden Abschnitt durch arecord -l erhalten haben:

BASH
arecord -D plughw:1,0 output.wav


Wenn wir genug gesprochen bzw. aufgenommen haben, unterbrechen wir die Aufnahme mit Ctrl+C. Danach können wir sie testweise mit aplay wiedergeben:

BASH
aplay output.wav


Man kann die Lautsprecher, bzw. deren Funktionalität ebenfalls mit speaker-test -c testen:

BASH
speaker-test -c2


So. Damit haben wir erstmal die notwendige Hardware konfiguriert.

Kommen wir nun zur Software!

Um per ssh auf den raspberry zu kommen, müssen wir es aktivieren:

BASH
sudo raspi-config


hier wählen wir Interfacing Options aus und im folgenden Menü SSH. Dort wählen wir Ja bzw. Yes aus und aktivieren damit SSH. Ab sofort können wir uns per Terminal am raspberry mit den oben genannten Credentials authentifizieren.

Ich habe mich hier für CMU-Sphinx und Jasper entschieden. Das sind 2 verschiedene Spracherkennungslösungen und ich werde in diesem How To die Wege der Installation und Einrichtung, sowie deren Anwendung und die Pro und Contras beleuchten.

Um mit der aktuellen Version von CMU-Sphinx arbeiten zu können, benötigen wir erstmal Git, also installieren wir das erstmal:

BASH
sudo apt install git-core


außerdem benötigen wir für die Entwicklung für CMU-Sphinx noch einige Pakete:

BASH
sudo apt install --yes cmake automake autoconf libtool bison swig python-dev libpulse-dev python-pip libasound2-dev libportaudio-dev python-pyaudio gfortran g++ autoconf-archive


Jetzt wird erstmal für Jasper alles vorbereitet. Dazu tragen wir im Profil des users "pi" (oder eines anderen, wenn du einen bestimten user angelegt hast) ein paar umgebungsvariablen ein, bzw. erweitern diese:

BASH
nano ~/.bashrc-profile


BASH
export LD_LIBRARY_PATH="/usr/local/lib"
type hw card 1

}

ctl.!default {
type hw card 1
}


Nun speichern wir diese Zeilen und starten den Raspberry per sudo reboot now neu.

Nach dem Reboot sollte unter alsamixer unser USB Device default ausgewählt sein.

Um nun unsere Aufnahme zu testen gehen wir wie folgt vor:

Mit arecord -D plughw:, output.wav kann man einen Stream abgreifen und lokal speichern. Das nutzen wir für die Testaufnahme.

wir geben im Terminal folgendes ein (dabei ist CARD unsere Card Nummer und Device unsere Nummer des Geräte, was wir im vorhergehenden Abschnitt durch arecord -l erhalten haben:

BASH
arecord -D plughw:1,0 output.wav


Wenn wir genug gesprochen bzw. aufgenommen haben, unterbrechen wir die Aufnahme mit Ctrl+C. Danach können wir sie testweise mit aplay wiedergeben:

BASH
aplay output.wav


Man kann die Lautsprecher, bzw. deren Funktionalität ebenfalls mit speaker-test -c testen:

BASH
speaker-test -c2


So. Damit haben wir erstmal die notwendige Hardware konfiguriert.

Kommen wir nun zur Software!

Um per ssh auf den raspberry zu kommen, müssen wir es aktivieren:

BASH
sudo raspi-config


hier wählen wir Interfacing Options aus und im folgenden Menü SSH. Dort wählen wir Ja bzw. Yes aus und aktivieren damit SSH. Ab sofort können wir uns per Terminal am raspberry mit den oben genannten Credentials authentifizieren.

Ich habe mich hier für CMU-Sphinx und Jasper entschieden. Das sind 2 verschiedene Spracherkennungslösungen und ich werde in diesem How To die Wege der Installation und Einrichtung, sowie deren Anwendung und die Pro und Contras beleuchten.

Um mit der aktuellen Version von CMU-Sphinx arbeiten zu können, benötigen wir erstmal Git, also installieren wir das erstmal:

BASH
sudo apt install git-core


außerdem benötigen wir für die Entwicklung für CMU-Sphinx noch einige Pakete:

BASH
sudo apt install --yes cmake automake autoconf libtool bison swig python-dev libpulse-dev python-pip libasound2-dev libportaudio-dev python-pyaudio gfortran g++ autoconf-archive


Jetzt wird erstmal für Jasper alles vorbereitet. Dazu tragen wir im Profil des users "pi" (oder eines anderen, wenn du einen bestimten user angelegt hast) ein paar umgebungsvariablen ein, bzw. erweitern diese:

BASH
nano ~/.bashrc-profile


BASH
export LD_LIBRARY_PATH="/usr/local/lib"
>> ~/.bashrc
type hw card 1

}

ctl.!default {
type hw card 1
}


Nun speichern wir diese Zeilen und starten den Raspberry per sudo reboot now neu.

Nach dem Reboot sollte unter alsamixer unser USB Device default ausgewählt sein.

Um nun unsere Aufnahme zu testen gehen wir wie folgt vor:

Mit arecord -D plughw:, output.wav kann man einen Stream abgreifen und lokal speichern. Das nutzen wir für die Testaufnahme.

wir geben im Terminal folgendes ein (dabei ist CARD unsere Card Nummer und Device unsere Nummer des Geräte, was wir im vorhergehenden Abschnitt durch arecord -l erhalten haben:

BASH
arecord -D plughw:1,0 output.wav


Wenn wir genug gesprochen bzw. aufgenommen haben, unterbrechen wir die Aufnahme mit Ctrl+C. Danach können wir sie testweise mit aplay wiedergeben:

BASH
aplay output.wav


Man kann die Lautsprecher, bzw. deren Funktionalität ebenfalls mit speaker-test -c testen:

BASH
speaker-test -c2


So. Damit haben wir erstmal die notwendige Hardware konfiguriert.

Kommen wir nun zur Software!

Um per ssh auf den raspberry zu kommen, müssen wir es aktivieren:

BASH
sudo raspi-config


hier wählen wir Interfacing Options aus und im folgenden Menü SSH. Dort wählen wir Ja bzw. Yes aus und aktivieren damit SSH. Ab sofort können wir uns per Terminal am raspberry mit den oben genannten Credentials authentifizieren.

Ich habe mich hier für CMU-Sphinx und Jasper entschieden. Das sind 2 verschiedene Spracherkennungslösungen und ich werde in diesem How To die Wege der Installation und Einrichtung, sowie deren Anwendung und die Pro und Contras beleuchten.

Um mit der aktuellen Version von CMU-Sphinx arbeiten zu können, benötigen wir erstmal Git, also installieren wir das erstmal:

BASH
sudo apt install git-core


außerdem benötigen wir für die Entwicklung für CMU-Sphinx noch einige Pakete:

BASH
sudo apt install --yes cmake automake autoconf libtool bison swig python-dev libpulse-dev python-pip libasound2-dev libportaudio-dev python-pyaudio gfortran g++ autoconf-archive


Jetzt wird erstmal für Jasper alles vorbereitet. Dazu tragen wir im Profil des users "pi" (oder eines anderen, wenn du einen bestimten user angelegt hast) ein paar umgebungsvariablen ein, bzw. erweitern diese:

BASH
nano ~/.bashrc-profile


BASH
export LD_LIBRARY_PATH="/usr/local/lib"

*/

Nun kommt noch m2m-aligner:

BASH
git clone https://github.com/letter-to-phoneme/m2m-aligner.git
type hw card 1
}

ctl.!default {
type hw card 1
}


Nun speichern wir diese Zeilen und starten den Raspberry per sudo reboot now neu.

Nach dem Reboot sollte unter alsamixer unser USB Device default ausgewählt sein.

Um nun unsere Aufnahme zu testen gehen wir wie folgt vor:

Mit arecord -D plughw:, output.wav kann man einen Stream abgreifen und lokal speichern. Das nutzen wir für die Testaufnahme.

wir geben im Terminal folgendes ein (dabei ist CARD unsere Card Nummer und Device unsere Nummer des Geräte, was wir im vorhergehenden Abschnitt durch arecord -l erhalten haben:

BASH
arecord -D plughw:1,0 output.wav


Wenn wir genug gesprochen bzw. aufgenommen haben, unterbrechen wir die Aufnahme mit Ctrl+C. Danach können wir sie testweise mit aplay wiedergeben:

BASH
aplay output.wav


Man kann die Lautsprecher, bzw. deren Funktionalität ebenfalls mit speaker-test -c testen:

BASH
speaker-test -c2


So. Damit haben wir erstmal die notwendige Hardware konfiguriert.

Kommen wir nun zur Software!

Um per ssh auf den raspberry zu kommen, müssen wir es aktivieren:

BASH
sudo raspi-config


hier wählen wir Interfacing Options aus und im folgenden Menü SSH. Dort wählen wir Ja bzw. Yes aus und aktivieren damit SSH. Ab sofort können wir uns per Terminal am raspberry mit den oben genannten Credentials authentifizieren.

Ich habe mich hier für CMU-Sphinx und Jasper entschieden. Das sind 2 verschiedene Spracherkennungslösungen und ich werde in diesem How To die Wege der Installation und Einrichtung, sowie deren Anwendung und die Pro und Contras beleuchten.

Um mit der aktuellen Version von CMU-Sphinx arbeiten zu können, benötigen wir erstmal Git, also installieren wir das erstmal:

BASH
sudo apt install git-core


außerdem benötigen wir für die Entwicklung für CMU-Sphinx noch einige Pakete:

BASH
sudo apt install --yes cmake automake autoconf libtool bison swig python-dev libpulse-dev python-pip libasound2-dev libportaudio-dev python-pyaudio gfortran g++ autoconf-archive


Jetzt wird erstmal für Jasper alles vorbereitet. Dazu tragen wir im Profil des users "pi" (oder eines anderen, wenn du einen bestimten user angelegt hast) ein paar umgebungsvariablen ein, bzw. erweitern diese:

BASH
nano ~/.bashrc-profile


BASH
export LD_LIBRARY_PATH="/usr/local/lib"
type hw card 1

}

ctl.!default {
type hw card 1
}


Nun speichern wir diese Zeilen und starten den Raspberry per sudo reboot now neu.

Nach dem Reboot sollte unter alsamixer unser USB Device default ausgewählt sein.

Um nun unsere Aufnahme zu testen gehen wir wie folgt vor:

Mit arecord -D plughw:, output.wav kann man einen Stream abgreifen und lokal speichern. Das nutzen wir für die Testaufnahme.

wir geben im Terminal folgendes ein (dabei ist CARD unsere Card Nummer und Device unsere Nummer des Geräte, was wir im vorhergehenden Abschnitt durch arecord -l erhalten haben:

BASH
arecord -D plughw:1,0 output.wav


Wenn wir genug gesprochen bzw. aufgenommen haben, unterbrechen wir die Aufnahme mit Ctrl+C. Danach können wir sie testweise mit aplay wiedergeben:

BASH
aplay output.wav


Man kann die Lautsprecher, bzw. deren Funktionalität ebenfalls mit speaker-test -c testen:

BASH
speaker-test -c2


So. Damit haben wir erstmal die notwendige Hardware konfiguriert.

Kommen wir nun zur Software!

Um per ssh auf den raspberry zu kommen, müssen wir es aktivieren:

BASH
sudo raspi-config


hier wählen wir Interfacing Options aus und im folgenden Menü SSH. Dort wählen wir Ja bzw. Yes aus und aktivieren damit SSH. Ab sofort können wir uns per Terminal am raspberry mit den oben genannten Credentials authentifizieren.

Ich habe mich hier für CMU-Sphinx und Jasper entschieden. Das sind 2 verschiedene Spracherkennungslösungen und ich werde in diesem How To die Wege der Installation und Einrichtung, sowie deren Anwendung und die Pro und Contras beleuchten.

Um mit der aktuellen Version von CMU-Sphinx arbeiten zu können, benötigen wir erstmal Git, also installieren wir das erstmal:

BASH
sudo apt install git-core


außerdem benötigen wir für die Entwicklung für CMU-Sphinx noch einige Pakete:

BASH
sudo apt install --yes cmake automake autoconf libtool bison swig python-dev libpulse-dev python-pip libasound2-dev libportaudio-dev python-pyaudio gfortran g++ autoconf-archive


Jetzt wird erstmal für Jasper alles vorbereitet. Dazu tragen wir im Profil des users "pi" (oder eines anderen, wenn du einen bestimten user angelegt hast) ein paar umgebungsvariablen ein, bzw. erweitern diese:

BASH
nano ~/.bashrc-profile


BASH
export LD_LIBRARY_PATH="/usr/local/lib"
type hw card 1

}

ctl.!default {
type hw card 1
}


Nun speichern wir diese Zeilen und starten den Raspberry per sudo reboot now neu.

Nach dem Reboot sollte unter alsamixer unser USB Device default ausgewählt sein.

Um nun unsere Aufnahme zu testen gehen wir wie folgt vor:

Mit arecord -D plughw:, output.wav kann man einen Stream abgreifen und lokal speichern. Das nutzen wir für die Testaufnahme.

wir geben im Terminal folgendes ein (dabei ist CARD unsere Card Nummer und Device unsere Nummer des Geräte, was wir im vorhergehenden Abschnitt durch arecord -l erhalten haben:

BASH
arecord -D plughw:1,0 output.wav


Wenn wir genug gesprochen bzw. aufgenommen haben, unterbrechen wir die Aufnahme mit Ctrl+C. Danach können wir sie testweise mit aplay wiedergeben:

BASH
aplay output.wav


Man kann die Lautsprecher, bzw. deren Funktionalität ebenfalls mit speaker-test -c testen:

BASH
speaker-test -c2


So. Damit haben wir erstmal die notwendige Hardware konfiguriert.

Kommen wir nun zur Software!

Um per ssh auf den raspberry zu kommen, müssen wir es aktivieren:

BASH
sudo raspi-config


hier wählen wir Interfacing Options aus und im folgenden Menü SSH. Dort wählen wir Ja bzw. Yes aus und aktivieren damit SSH. Ab sofort können wir uns per Terminal am raspberry mit den oben genannten Credentials authentifizieren.

Ich habe mich hier für CMU-Sphinx und Jasper entschieden. Das sind 2 verschiedene Spracherkennungslösungen und ich werde in diesem How To die Wege der Installation und Einrichtung, sowie deren Anwendung und die Pro und Contras beleuchten.

Um mit der aktuellen Version von CMU-Sphinx arbeiten zu können, benötigen wir erstmal Git, also installieren wir das erstmal:

BASH
sudo apt install git-core


außerdem benötigen wir für die Entwicklung für CMU-Sphinx noch einige Pakete:

BASH
sudo apt install --yes cmake automake autoconf libtool bison swig python-dev libpulse-dev python-pip libasound2-dev libportaudio-dev python-pyaudio gfortran g++ autoconf-archive


Jetzt wird erstmal für Jasper alles vorbereitet. Dazu tragen wir im Profil des users "pi" (oder eines anderen, wenn du einen bestimten user angelegt hast) ein paar umgebungsvariablen ein, bzw. erweitern diese:

BASH
nano ~/.bashrc-profile


BASH
export LD_LIBRARY_PATH="/usr/local/lib"
type hw card 1

}

ctl.!default {
type hw card 1
}


Nun speichern wir diese Zeilen und starten den Raspberry per sudo reboot now neu.

Nach dem Reboot sollte unter alsamixer unser USB Device default ausgewählt sein.

Um nun unsere Aufnahme zu testen gehen wir wie folgt vor:

Mit arecord -D plughw:, output.wav kann man einen Stream abgreifen und lokal speichern. Das nutzen wir für die Testaufnahme.

wir geben im Terminal folgendes ein (dabei ist CARD unsere Card Nummer und Device unsere Nummer des Geräte, was wir im vorhergehenden Abschnitt durch arecord -l erhalten haben:

BASH
arecord -D plughw:1,0 output.wav


Wenn wir genug gesprochen bzw. aufgenommen haben, unterbrechen wir die Aufnahme mit Ctrl+C. Danach können wir sie testweise mit aplay wiedergeben:

BASH
aplay output.wav


Man kann die Lautsprecher, bzw. deren Funktionalität ebenfalls mit speaker-test -c testen:

BASH
speaker-test -c2


So. Damit haben wir erstmal die notwendige Hardware konfiguriert.

Kommen wir nun zur Software!

Um per ssh auf den raspberry zu kommen, müssen wir es aktivieren:

BASH
sudo raspi-config


hier wählen wir Interfacing Options aus und im folgenden Menü SSH. Dort wählen wir Ja bzw. Yes aus und aktivieren damit SSH. Ab sofort können wir uns per Terminal am raspberry mit den oben genannten Credentials authentifizieren.

Ich habe mich hier für CMU-Sphinx und Jasper entschieden. Das sind 2 verschiedene Spracherkennungslösungen und ich werde in diesem How To die Wege der Installation und Einrichtung, sowie deren Anwendung und die Pro und Contras beleuchten.

Um mit der aktuellen Version von CMU-Sphinx arbeiten zu können, benötigen wir erstmal Git, also installieren wir das erstmal:

BASH
sudo apt install git-core


außerdem benötigen wir für die Entwicklung für CMU-Sphinx noch einige Pakete:

BASH
sudo apt install --yes cmake automake autoconf libtool bison swig python-dev libpulse-dev python-pip libasound2-dev libportaudio-dev python-pyaudio gfortran g++ autoconf-archive


Jetzt wird erstmal für Jasper alles vorbereitet. Dazu tragen wir im Profil des users "pi" (oder eines anderen, wenn du einen bestimten user angelegt hast) ein paar umgebungsvariablen ein, bzw. erweitern diese:

BASH
nano ~/.bashrc-profile


BASH
export LD_LIBRARY_PATH="/usr/local/lib"
type hw card 1

}

ctl.!default {
type hw card 1
}


Nun speichern wir diese Zeilen und starten den Raspberry per sudo reboot now neu.

Nach dem Reboot sollte unter alsamixer unser USB Device default ausgewählt sein.

Um nun unsere Aufnahme zu testen gehen wir wie folgt vor:

Mit arecord -D plughw:, output.wav kann man einen Stream abgreifen und lokal speichern. Das nutzen wir für die Testaufnahme.

wir geben im Terminal folgendes ein (dabei ist CARD unsere Card Nummer und Device unsere Nummer des Geräte, was wir im vorhergehenden Abschnitt durch arecord -l erhalten haben:

BASH
arecord -D plughw:1,0 output.wav


Wenn wir genug gesprochen bzw. aufgenommen haben, unterbrechen wir die Aufnahme mit Ctrl+C. Danach können wir sie testweise mit aplay wiedergeben:

BASH
aplay output.wav


Man kann die Lautsprecher, bzw. deren Funktionalität ebenfalls mit speaker-test -c testen:

BASH
speaker-test -c2


So. Damit haben wir erstmal die notwendige Hardware konfiguriert.

Kommen wir nun zur Software!

Um per ssh auf den raspberry zu kommen, müssen wir es aktivieren:

BASH
sudo raspi-config


hier wählen wir Interfacing Options aus und im folgenden Menü SSH. Dort wählen wir Ja bzw. Yes aus und aktivieren damit SSH. Ab sofort können wir uns per Terminal am raspberry mit den oben genannten Credentials authentifizieren.

Ich habe mich hier für CMU-Sphinx und Jasper entschieden. Das sind 2 verschiedene Spracherkennungslösungen und ich werde in diesem How To die Wege der Installation und Einrichtung, sowie deren Anwendung und die Pro und Contras beleuchten.

Um mit der aktuellen Version von CMU-Sphinx arbeiten zu können, benötigen wir erstmal Git, also installieren wir das erstmal:

BASH
sudo apt install git-core


außerdem benötigen wir für die Entwicklung für CMU-Sphinx noch einige Pakete:

BASH
sudo apt install --yes cmake automake autoconf libtool bison swig python-dev libpulse-dev python-pip libasound2-dev libportaudio-dev python-pyaudio gfortran g++ autoconf-archive


Jetzt wird erstmal für Jasper alles vorbereitet. Dazu tragen wir im Profil des users "pi" (oder eines anderen, wenn du einen bestimten user angelegt hast) ein paar umgebungsvariablen ein, bzw. erweitern diese:

BASH
nano ~/.bashrc-profile


BASH
export LD_LIBRARY_PATH="/usr/local/lib"
type hw card 1

}

ctl.!default {
type hw card 1
}


Nun speichern wir diese Zeilen und starten den Raspberry per sudo reboot now neu.

Nach dem Reboot sollte unter alsamixer unser USB Device default ausgewählt sein.

Um nun unsere Aufnahme zu testen gehen wir wie folgt vor:

Mit arecord -D plughw:, output.wav kann man einen Stream abgreifen und lokal speichern. Das nutzen wir für die Testaufnahme.

wir geben im Terminal folgendes ein (dabei ist CARD unsere Card Nummer und Device unsere Nummer des Geräte, was wir im vorhergehenden Abschnitt durch arecord -l erhalten haben:

BASH
arecord -D plughw:1,0 output.wav


Wenn wir genug gesprochen bzw. aufgenommen haben, unterbrechen wir die Aufnahme mit Ctrl+C. Danach können wir sie testweise mit aplay wiedergeben:

BASH
aplay output.wav


Man kann die Lautsprecher, bzw. deren Funktionalität ebenfalls mit speaker-test -c testen:

BASH
speaker-test -c2


So. Damit haben wir erstmal die notwendige Hardware konfiguriert.

Kommen wir nun zur Software!

Um per ssh auf den raspberry zu kommen, müssen wir es aktivieren:

BASH
sudo raspi-config


hier wählen wir Interfacing Options aus und im folgenden Menü SSH. Dort wählen wir Ja bzw. Yes aus und aktivieren damit SSH. Ab sofort können wir uns per Terminal am raspberry mit den oben genannten Credentials authentifizieren.

Ich habe mich hier für CMU-Sphinx und Jasper entschieden. Das sind 2 verschiedene Spracherkennungslösungen und ich werde in diesem How To die Wege der Installation und Einrichtung, sowie deren Anwendung und die Pro und Contras beleuchten.

Um mit der aktuellen Version von CMU-Sphinx arbeiten zu können, benötigen wir erstmal Git, also installieren wir das erstmal:

BASH
sudo apt install git-core


außerdem benötigen wir für die Entwicklung für CMU-Sphinx noch einige Pakete:

BASH
sudo apt install --yes cmake automake autoconf libtool bison swig python-dev libpulse-dev python-pip libasound2-dev libportaudio-dev python-pyaudio gfortran g++ autoconf-archive


Jetzt wird erstmal für Jasper alles vorbereitet. Dazu tragen wir im Profil des users "pi" (oder eines anderen, wenn du einen bestimten user angelegt hast) ein paar umgebungsvariablen ein, bzw. erweitern diese:

BASH
nano ~/.bashrc-profile


BASH
export LD_LIBRARY_PATH="/usr/local/lib"

git clone https://github.com/AdolfVonKleist/Phonetisaurus.git
cd Phonetisaurus
./configure --enable-far
make && sudo make install
cd src
make


Troubleshooting:



Beim aufruf von jasper.py kommt folgender fehler:

Zitat :

File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 21, in
from pip._vendor.requests.packages.urllib3.exceptions import DependencyWarning


hier gibt es 2 Ansätze:

zum einen (hat bei mir nicht geholfen):

BASH
sudo apt install --only-upgrade python-pip
pip2 install --upgrade urllib3


zum anderen (hat bei mir geholfen):

BASH
sudo apt remove python-pip
sudo easy_install pip


Der Fehler

Zitat :

DEBUG:client.diagnose:Executable 'espeak' not found


wurde gelöst durch:

BASH
sudo apt install espeak

Autor mastercad
Veröffentlicht 13.01.2018