Sprachsteuerung PiAUISuite Raspberry Pi

Wie wäre es unsere Funk –  und Infrarot-gesteuerten Geräte über Sprachbefehle zu steuern? Ich wollte diese Richtung mal einschlagen und habe im Internet folgendes gefunden:

PiAUISuite https://github.com/StevenHickson/PiAUISuite

Diese schöne Software greift auf die sehr gut funktionierende API von Google Speech zu. Damit ist es möglich über Sprachbefehle jeden Sch..ß zu machen den man sich wünscht. Also legen wir los:

Inhaltsverzeichnis:

  1. Welche Hardware wird benötigt?
  2. Software Installation und Einrichtung
  3. LIRC & RCSWITCH mit PiAUISuite bedienen

1.Welche Hardware wird benötigt?

Ich persönlich kenne mich mit Audio-Sachen überhaupt nicht aus. Für diese Zwecke erschien mehr aber der Kinobo recht geeignet vor allem, weil dieser bereits für eine andere Sprachsoftware genutzt wird (Jasper).

http://www.amazon.de/Mikrofon-Kinobo-Desktop-Laptop-Computer/dp/B008CNZOJY/ref=sr_1_1?ie=UTF8&qid=1418822472&sr=8-1&keywords=Kinobo+Usb+2.0+Microphone

Allerdings muss ich sagen das ich ein bisschen mehr erwartet habe. Nicht das es nicht funktionieren würde, allerdings ist die Entfernung ab wo das Mikro sauber reagiert einfach zu gering (30-50cm). Deshalb könnt ihr gerne mit allen möglichen USB Mikros experimentieren (Der Entwickler von PiAUISuite benutzt sogar nur eine Webcam mit eingebautem Mikrofon).

2. Software Installation und Einrichtung

Bei mir musste ich nur den USB Stecker einstecken. Keine Treiber Installation nichts. Danach sollten wir überprüfen ob unser Mikro etwas aufnehmen kann:

>arecord -D plughw:1,0 MikroTest.wav

Die Aufnahme könnt ihr, wie jede andere Funktion in der Konsole, durch „STRG + C“ beenden. Danach sollte sich die Datei MikroTest.wav in dem Ordner befinden von wo die Funktion aufgerufen wurde. Abspielen könnt ihr diese mit:

>aplay MikroTest.wav

Sollte die Aufnahme starten und die Lautstärke angemessen sein so könnt ihr folgenden Schritt auslassen:


Probleme bei der Aufnahme: >lsusb

Ist das Gerät dort aufgelistet? Sollte es nicht der Fall sein einmal die /etc/modules Datei überprüfen. Eventuell wird der Treiber nicht geladen oder ist nicht vorhanden und muss installiert werden.

Aufnahme zu leise: >alsamixer

Hier einfach die Aufnahmelautstärke vom Mikrofon erhöhen. Das Programm ist selbsterklärend.


 

Nun können wir die Software von GitHub laden:

>sudo apt get install git-core

Herunterladen:

>git clone git://github.com/StevenHickson/PiAUISuite.git

In das Verzeichnis wechseln:

>cd PiAUISuite/Install/

setzt noch bitte volle Rechte auf den Ordner für den angemeldeten User:

>chmod +x *

und die Software installieren:

>./InstallAUISuite.sh

Während der Installation wird euch vorgeschlagen noch andere Pakete zu installieren. Ich habe nur die Dependencies und die Sprachsteuerung (voicecommand) installiert. Trotzdem am besten alles durchlesen eventuell ist etwas dabei was ihr gebrauchen könnt. Nach der Installation werdet ihr gefragt ob Voicecommand die Einstellungen selber vornehmen soll. Am besten einfach mit ‚y‘ bestätigen. Jetzt überlasse ich euch welche Einstellungen gesetzt werden müssen. Am wichtigsten ist der „Dauer-Modus“ (Der erste Punkt), das erst nach dem Keyword gelauscht werden soll und ob es Rückgabe über die Lautsprecher geben soll. Keine Angst solltet ihr etwas falsch ausgewählt haben könnt ihr das Setup immer mit:

>voicecommand -s

ausführen oder die Konfigurationsdatei manuell ändern. Nach dem Setup solltet ihr diese Datei erhalten (commands.conf) . Sie befindet sich in dem PiAUISuite/VoiceCommand Ordner. Datei aufmachen:

>nano commands.conf

Kurz die Syntax erklärt:

# Kommentar die Einstellung greift also nicht ! Fest definierte Befehle (es sind die Einstellungen die ihr im Setup ausgewählt habt) Sprachbefehl == Aktion     entspricht einer Zuordnung

Lass uns nun einfach folgendes in die commands.conf schreiben falls noch nicht vorhanden:

!lang==de !response==Ja Meister? !continuous==1 marco==tts -l de „polo“

Danach die Datei speichern und VoiceCommand starten:

>voicecommand

Danach das Keyword in das Mikro sagen. Es sollte als Ausgabe  in der Konsole „Found Audio“ kommen und falls Lautsprecher angeschlossen auch „Ja Meister?“ zu hören sein. Jetzt einfach „marco“ sagen und staunen das ein „polo“ hinterher kommt ;D

Das war es erstmal für den Anfang. Im weiteren Verlauf werde ich noch auf Parameter Übergabe eingehen. Beispiel: „ANLAGE UM $1 ERHÖHEN“ danach wird eben die Lautstärke über Infrarot um $1 erhöht. Oder sowas wie LICHT AN $1. Experimentiert einfach bisschen rum es ist jede Menge möglich …

Update 06.08.2015

Der Kommentar von „Jonas“ hat mich auf ein kleines Problem aufmerksam gemacht. Da ich schon länger nicht mit der Sprachsteuerung gearbeitet habe und inzwischen die Version 3.X rausgekommen ist, habe ich beschlossen die neuste Version zu installieren. Schön und gut alles installiert aber dann der Schock … VoiceCommand lässt sich nicht starten. Nach etwas längerer Suche in den Scripten + Internet habe ich bemerkt das die neuste Version von PiAUISuite bereits für RaspberryPi 2 gemacht wurde. RaspberrryPi 2 hat eine neue System Architektur bekommen (v7) und unter dieser wurde das Programm kompiliert. Die älteren Raspberry’s A, A+, B (meiner), B+ laufen noch unter v6. Für alle die also die Fehlermeldung „Illegal instruction“ bekommen hier der folgende Tipp:

> sudo nano <installsverz.>/PiAUISuite/VoiceCommand/MakeFile
> Eintrag ARCH:= arm-v7 ins ARCH:= arm ändern
> Speichern
> make -b
> warten bis das Programm neu kompiliert wurde
> nochmal installieren

So aber der Jonas hatte ein anderes Problem. Er hatte keine Ausgabe über die Lautsprecher. Ich habe dann direkt über tts (/VoiceCommand/tts) nachgeschaut und sehe (oder eher höre) da nichts passiert. Also direkt die Datei tts aufgemacht und schauen wie das ganze funktioniert. Anscheinend wird hier über wget einfach die Antwort von dieser URL „https://translate.google.com/translate_tts?tl=de&q=Das ist ein Test&ie=UTF-8“ in eine MP3 Datei gespeichert. Also erstmal den Aufruf rauskopiert die Argumente ersetzt und das direkt im Terminal ausgeführt:

>wget -q -U Mozilla -O "/home/pi/tmp.mp3" "https://translate.google.com/translate_tts?tl=de&q=TEST&ie=UTF-8"

Hmmm…die MP3 wird zwar erstellt aber wenn ich die über mpg123 abspielen wird scheint sie leer zu sein.

>mpg123 /home/pi/tmp.mp3

Also erstmal den Parameter -q (quiet) von wget rausgenommen und geguckt was die Konsole ausgibt. Die Ausgabe zeigte mir erstmal eine komische Weiterleitung über eine andere URL an:

https://ipv4.google.com/sorry/….

Also erstmal nur die originale URL in den Browser gepackt und sehe da ich werde direkt auf die mysteriöse Adresse weitergeleitet:

Anscheinend hat Google (seit neustem?) ein Problem damit die Translate Anfragen zu benutzen. Zumindest sehe ich diesen Scheiß zum ersten mal. Ich habe jetzt auch nicht 1000 Anfragen pro Sekunde verschickt oder die URL mehrfach missbraucht. Das jetzt PiAUISuite darunter leiden muss finde ich bescheuert. Der Entwickler StevenHickson hat sich (soweit ich es sehen konnte) noch nicht dazu geäußert. Ich werde versuchen euch auf dem laufenden zu halten.

Update 07.08.2015

So ich habe ein bisschen rumexperimentiert was das Problem mit der Audioausgabe und der von Google eingesetzten CAPTCHA Seite (google.translate.com) angeht. Leider gibt es keine offizielle Doku zu der TTS API von Google also muss man sich alles aus dem Internet picken. Die Information welche möglichen Parameter der URL Aufruf unterstützt konnte ich gar nicht finden bis ich auf einen Beitrag gestoßen bin wo der Parameter „client=t“ zum Einsatz kam. Also direkt ausprobiert und sehe da die CAPTCHA Seite erscheint nicht alles funktioniert wunderbar. Was aber genau der Parameter macht konnte keiner so genau beantworten. Es geht wohl um die Strukturierung von JSON Objekten welche man von der Seite als Antwort bekommt. Ich kann mir gut vorstellen das Google zB bei Handys diesen Parameter nutzt, weil die nicht ein einfaches JSON Objekt verarbeiten. Aber fragt mich nicht wie gesagt Informationen sind in diesem Fall Mangelware. Ich habe dann direkt das ausprobierte in PiAUISuite umgesetzt und sehe da der Computer spricht wieder mit mir. Was muss also gemacht werden:

Das Programm (muss) nicht neuinstalliert werden. Wir müssen nur das Bash Script
anpassen welches für das TTS zuständig ist. Das Script liegt im Ordner "VoiceCommand" 
und heißt tts. Bei der Installation wird er zusätzlich ins /usr/bin Verz. kopiert um esdann nur über die Namenseingabe ausführen zu können.Also müssen wir diese Datei ändern:

>sudo nano /usr/bin/tts

Es gibt zwei Zeilen mit der URL. In beiden Fällen müssen wir hinten einfach den
Parameter client=t anhängen.

>"https://translate.google.com/translate_tts?tl=${lang}&q=$tmp&ie=UTF-8&client=t"
>"https://translate.google.com/translate_tts?tl=${lang}&q=$string&ie=UTF-8&client=t"

Datei speichern und testen.

>tts -l de "Hallo ich bin ein Schweinchen"

Ich hoffe das hilft euch bei ähnlichen Problemen.

Update 08.08.2015

Mittlerweile hat sich der Entwickler von VoiceCommand gemeldet und entsprechend ein Update (Fix) für die zwei von mir oben angesprochenen Probleme bereitgestellt:

https://github.com/StevenHickson/PiAUISuite/commit/643e40af210241937c5645f0c277dae7f238f2dd

Update 27.10.2015

Wie man es leicht aus den Kommentaren entnehmen kann, wurde die Captcha Überprüfung immer noch nicht richtig umgangen. Wenn der Parameter „client“ an die URL angehängt wird, sperrt Google trotzdem die Verarbeitung nach mehreren Versuchen. Ändert man den Wert für den Parameter hat man wieder mehrere Versuche bis genau diese URL gesperrt wird. Deshalb bin ich jetzt hingegangen und habe eine kleine Überprüfung auf das Captcha im Script eingebaut. Dazu wurden erstmal alle Werte für den Parameter „client“ ausprobiert. Wie es sich herausgestellt hat ist der Anfrage egal welchen Buchstaben man dem Parameter „client“ übergibt. Ich habe einfach paar Buchstaben rausgesucht die noch funktioniert haben nachdem die anderen schon auf ein Captcha kamen. Das Script könnt ihr einfach unter /usr/bin/tts reinkopieren:

#!/bin/bash

#for the Raspberry Pi, we need to insert some sort of FILLER here since it cuts off the first bit of audio

string=$@
lang="en"
if [ "$1" == "-l" ] ; then
 lang="$2"
 string=`echo "$string" | sed -r 's/^.{6}//'`
fi

#empty the original file
echo "" > "/dev/shm/speak.mp3"

##########check if captcha#############captcha=“opt=(‚t‘ ‚b‘ ‚a‘ ‚p‘)for i in „${opt[@]}“docheckurl=$(curl -s -L „https://translate.google.com/translate_tts?tl=${lang}&q=test&ie=UTF-8&client=$i“)if [[ $checkurl == *“Why did this happen?“* ]]then continueelse captcha=$i breakfidone#######################################

len=${#string}
while [ $len -ge 100 ] ;
...

Entsprechend ist alles blaue von mir. Hier werden einfach nach und nach die Buchstaben t,b,a,p an den Parameter „client“ drangehängt. Wenn die Reponse der Seite einen bestimmten String enthält („Why did this happen?“ = CAPTCHA) dann wird der nächste Buchstabe genommen und so weiter und so fort. Mit dieser Methode hatte ich bis jetzt noch keine Probleme (ca. 30 – 40 Anfragen rausgeschickt). Kann mir aber vorstellen das auch hier das Maximum irgendwann erreicht ist. Dann kann man in dem Array entweder noch mehr Buchstaben hinterlassen oder direkt ganze URL Parameter hinterlegen und so verändern. Je mehr überprüft wird desto langsamer wird aber die Ausführung. Mit vier Elementen im Array merke ich aber keine großen Unterschiede zu der originalen Version. Mit eSpeak habe ich auch ein bisschen rumexperimentiert. Allerdings gefällt mir die Sprachqualität nicht sonderlich und ich bekam auch nicht alles zum laufen. Mein Ansatz ist, meiner Meinung nach, sicherlich auch sehr unvorteilhaft und Google wird irgendwann auch diese Lösung sperren. Hoffentlich sitzt der Entwickler bereits an einer besseren Lösung dran 😉

28 Gedanken zu „Sprachsteuerung PiAUISuite Raspberry Pi

  1. Mario

    Ich schlag mich jetzt seit 2 Tagen mit der Software herum – fast alles funktioniert – meine Wörter werden erkannt und eine Sprachausgabe findet auch statt – aber ich kriege es ums verrecken nicht fertig, dass er mein Keyword versteht. Wenn ich nur im Continius-Mode bin, verteht er alle Befehle (mehr oder weniger), aber sobald ich ein Keyword verifizieren will, ignoriert die Software mich (ich sehe, dass er das Mikro abhört für 2 Sekunden, danach startet er das ganze wieder für 2 Sekunden usw. usw.) – Hat das aktuell jemand am Laufen mit Keyword-Detection?

    Antworten
  2. Alex

    Vielen dank für dein Update! Was mir noch aufgefallen ist: Wenn die https-url nicht mehr ging, hatte ich noch einige Versuche, wenn ich nur http eintippte.

    Antworten
  3. Kevin

    Hallo,

    ich habe gestern die aktuelleste Version von Github installiert und dabei ist das Problem aufgetreten, dass ich nur ein einziges mal ein Response bekomme. Ich denke es liegt wieder an der Captcha Kontrolle von Google. Die Dateien, insbesonders „tts“ ist aktuell. Hast du vlt noch eine Idee?

    Antworten
  4. Alex

    Hallo,

    habe Raspberry Pi2 und alles korrekt installiert, auch die url von Google ist schon korrekt eingetragen. Jedoch kommt bei mir keine Ausgabe aus den Lautsprechern. Gestern ging es plötzlich einmal, dann jedoch den ganzen Tag wieder nicht. Gibt es vielleicht auch eine Möglichkeit, von Google text-to-speech wieder zu espeak zu wechseln?

    Lg Alex

    Antworten
    1. BoBek Beitragsautor

      Hallo Alex,

      was meinst du mit „wieder zu espeak“ wechseln? Soweit ich weiß hat das Programm schon immer TTS von Google verwendet. Ob so einfach eine andere API verwenden kann , bezweifle ich stark. Dazu müsstest du im kompletten Sourcecode die Ausgabe über espeak regeln. Zumindest lässt sich espeak kann einfach installieren und testen:

      >sudo apt-get install espeak

      dann kannst du einfach über das Kommando :
      >espeak -ven „Hello Sir“
      die englische Sprachausgabe testen oder direkt mit:
      >espeak -vde „Hallo mein Freund“
      sich die deutsche anhören.
      Mit dem Befehl:
      >espeak -vde „Hallo mein Freund“ 2>~\espeak.log
      kannst du verhindern das die ganzen „Fehlermeldungen“ bezüglich des „Jack Servers“ im Terminal angezeigt werden. Aber wie am Anfang erwähnt wird es ein großer Aufwand diese Funktion ohne weiteres mi voicecommand umzusetzen.

      Antworten
      1. Alex

        Hey,

        danke für sie schnelle Antwort 🙂
        Auf seinem Blog (http://stevenhickson.blogspot.de/2013/05/voice-command-v20-for-raspberry-pi.html ) schreibt er, dass er zu Version 2 eben von espeak gewechselt hat. Espeak habe ich schon installiert, funktioniert auch bestens. Nur TTS von Google ungefähr das erste Mal am Tag wenn ich den Pi hochfahre und dann nie wieder. Oder hättest du eine andere Lösung für mich parat? Die querys an der url von google waren bei mir standardmäßig schon dran, daran kann es nicht liegen :/

        Schönen Abend noch
        Alex

        Antworten
          1. Alex

            Leider nein. 3 Mal am Tag geht es ungefähr dann nicht mehr. Habe versucht die tts Datei umzuschreiben, jedoch habe ich da zu wenig Linux-Erfahrungen, da es scheinbar keine normalen shell-Befehle sind.

            Antworten
            1. Kevin

              Ich habe mir das tts Script angepasst und verwende espeak, allerdings hört sich die Stimme schrecklich an… Vlt hat der Autor eine Lösung dafür?

              Antworten
              1. Alex

                Ich hatte einfach mal einen echo-Befehl hineingeschrieben umzu testen ob das überhaupt geht, jedoch kam auf der Konsole nichts an. Du kannst bei espeak die Sprache, Stimme und Geschwindigkeit ändern, wenn dir das etwas hilft

                Antworten
      2. Jürgen

        Hallo BoBek,

        so ein großer Aufwand ist es nicht, auf espeak umzustellen. Man muss einfach die Datei „/usr/bin/tts“ ändern. Alles unterhalb und einschließlich der Zeile

        #empty the original file

        wird gelöscht. Dafür wird dies eingetragen:

        espeak -v${lang}+f3 -k5 -s150 „$string“ 2>~/espeak.log

        Die Parameter kann man noch nach Geschmack einstellen. Nur das „-v${lang} sollte man stehen lassen, damit die in voicecommand konfigurierte Sprache genommen wird. Voraussetzung ist natürlich, dass jegliche Sprachausgabe mit dem Skript „tts“ erfolgt.

        Viele Grüße

        Jürgen

        Antworten
        1. BoBek Beitragsautor

          Hallo Jürgen,

          vielen Dank für deine Information bezüglich espeak. Wie du aber bereits geschrieben hast handelt es sich hier nur um das Problem mit der Sprachausgabe. Die Spracherkennung läuft weiterhin über Google. Da Google die erkannte Sprachaufnahme im JSON Format zurückliefert, lassen sich die Daten deutlich einfacher verarbeiten. Meine Umstellung auf espeak bezog sich also auf das gesamte Programm. Nichtsdestotrotz finde ich es super das du deine Lösung mit uns geteilt hast, vor allem auch deshalb, weil die deutlich besser ist als mein Rumgefrickel da oben 😉

          Antworten
      3. raspberryflow

        ich bin immernoch am kämpfen das voicecommand zum laufen zu bekommen.. aber ich habe ihn dazu gebrach sich mir mitzuteilen.
        ich hab in /usr/bin/tts unter der zeile
        #empty the original file
        espeak $string
        eingefügt

        das script scheint sich generell um die sound ausgabe von voicecommand zu kümmern. und anstatt den ganzen mist von google machen zu lassen, geht das auch so.. espeak muss natürlich installiert sein.

        nun eine gegenfrage: besteht das captcha problem auch beim „verstehen“ der kommandos?

        Antworten
        1. BoBek Beitragsautor

          Hi,

          zumindest wird bei Verarbeiten der Kommandos genau so auf die Google Speech API gesetzt. Im Script „speech-recog.sh“ wird das Kommando über Google analysiert und im JSON Format zurückgegeben. Es wird sogar ein Developer Key des Entwicklers benutzt „https://console.developers.google.com/start“ um auf die API zugreifen zu können. Ich kann es nicht mit Sicherheit sagen aber ich vermute mal das hier das CAPTCHA Problem deshalb nicht auftreten sollte.

          Antworten
  5. Frank

    Hallo,
    ich habe nun auch die PiAUISuite installiert, die Anleitung ist toll, weiter so. Eine frage hätte ich jedoch noch:
    Ich starte auch meine Radio App damit das läuft auch soweit ganz gut, auch den Sprachbefehl „pi“ erkennt er trotz des Radios aber es kommt dann kein „Ja Meister“ weil die Soundausgabe durch das Radio belegt ist. Von daher ist es reine Glücksache einen neuen Sprachbefehl zu senden. Seht Ihr eine Möglichkeit nachdem er den Befehl „pi“ erkannt hat Zugriff auf die Soundausgabe zu bekommen, oder vielleicht ein Killall Radio abzusetzen ? Vielleicht kann mir jemand helfen ?
    schönen Abend noch
    Frank

    Antworten
    1. BoBek Beitragsautor

      Hallo Frank, soweit ich weiß lässt sich die Response Funktion nicht ohne weiteres verändern (Skript davor schalten etc). Ich kenne mich mit Radio-Anwendungen nicht aus kann mir aber nicht vorstellen das deine APP die Soundausgabe „sperrt“. Funktioniert die Ausgabe wenn kein Radio an ist? Ansonsten kann ich dir von meiner Seite aus wenig helfen und hoffe das du das Problem in den Griff bekommst. Viel Spaß beim basteln.

      Antworten
  6. Gordon

    Hallo Jonas,
    es scheint ein Update bei Google gegeben zu haben, so dass ich nach deine Anleitung leider keinen Ton bekomme …
    … ein wenig herumgegoogled und folgendes gefunden:
    …besitzt du einen Workaround und/oder ist das Problem gar kein „Problem“, sondern ich habe mich nur „wenig glücklich“ angestellt…
    … meine Probleme sind wir auf der Seite beschrieben.
    Ansonsten scheint deine Anleitung super zu funktionieren – allerdings antwortet mir mein Pi nicht 😉
    Danke für den support
    Gordon

    Antworten
    1. BoBek Beitragsautor

      Hallo Gordon,

      zuerst eine kleine Info, Jonas ist ein Leser der genau die gleichen Ton Probleme hatte (oder hat). Ich freue mich trotzdem das dir mein Beitrag gefallen hat 😉 . Zu dem Upadte von Google habe ich bereits was geschrieben (die letzten Update-Abschnitte schildern das Problem) hast du mein Lösungsvorschlag bereits ausprobiert?

      Antworten
  7. Jonas

    Super Beitrag, aber ich habe ein Problem. Und zwar funktioniert alles super nur es kommt nichts aus meinen Boxen raus. Also kann ich auch kein response hören… Weiß jemand zu helfen. Rpi2 und B+ alles Up to date.

    Antworten
    1. BoBek Beitragsautor

      Hej schau mal was ich zu dem Update vom 07.08.2015 geschrieben habe. Eventuell wird das Problem dadurch gelöst wenn nicht dann melde dich bei mir…

      Antworten
  8. Henry

    Hallo,

    sehr guter Beitrag.
    Leider habe ich ein Problem.
    Ich benutze wie Du ein USB-Mikrofon.
    >arecord -D plughw:1,0 MikroTest.wav funktioniert einwandfrei und die wav-Datei läßt sich mit
    >aplay MikroTest.wav auch abspielen.
    Nach dem installieren von PiAUISuite funktioniert das weitergeschriebene von Dir bei mir leider nicht.
    Es kommt über die integrierte soundkarte des pi kein Ton und das Mikro funktioniert anscheinend auch nicht.

    Hättest Du eine Idee für mich?

    Vielen Dank
    Henry

    Antworten
    1. BoBek Beitragsautor

      Hallo Henry,

      wie ist das Setup der Anwendung durchgelaufen? Gab es eventuell dort schon Fehler? Du kannst zum Beispiel das Keyword während des Setup’s ändern. Da wird das Mikro auch angesprochen funktioniert das dort? Ansonsten wie sieht die Konfigurationsdatei bei dir aus? Habe dir als Beispiel mal meine Befehle angehängt:

      !keyword==Computer
      !verify==1
      !continuous==1
      !quiet==0
      !ignore==1
      !thresh==0.7
      !response==Ja Meister?
      !improper==Befehl nicht verstanden:
      !duration==3
      !com_dur==2
      !filler==0
      !api==BLANK
      !maxResponse==-1
      !lang==de
      !hardware==plughw:1,0

      Antworten
      1. Henry

        Vielen Dank für die rasche Antwort.
        Ja, meine cammand.conf sieht genauso aus.
        Ich habe aber den Fehler gefunden.
        Das Programm lädt die .command.conf und ich habe immer die command.conf ohne den punkt vorne geändert.
        Ich habe beim Programmstart einfach mal das conf-File mit angegeben, also
        voicecommand -f ./command.conf
        Damit ging es.
        Habe dann das command.conf im Homeverzeichnis umbenannt in .command.conf und jetzt geht es auch ohne Parameter.

        Vielen Dank für den Denkanstoss
        Henry

        Antworten
        1. BoBek Beitragsautor

          Hmmm…ok! Also ein Punkt vor dem Dateinamen deutet Unix an das es sich um versteckte Datei handelt. Führe mal ls -a in deinem Homeverzechnis aus und schau mal ob du die Datei dort findest. Normalerweise greift voicecommand auf die command.conf die sich im voicecommand Ordner befindet und nicht im Homeverzechnis. Also irgendwas stimmt da noch nicht. Aber wie man so schön sagt „Never changing running system“ also freue ich mich das es jetzt funktioniert.

          Antworten
          1. Henry

            Ich habe die command.conf immer mit nano bearbeitet.
            Gibt man aber voicecommand -e zum bearbeiten der Datei an, so will das Progamm immer eine .command.conf im Homeverzeichnis erstellen oder wenn vorhanden nimmt das Programm diese von dort.
            Ja, jetzt ist diese ja da, da ich die command.conf in .command.conf umbenannt habe.
            Ich habe die neueste Version von PiAUISuite, vielleicht wurde das ja geändert.
            Würde jedenfalls auch Sinn ergeben, wenn mehrere Benutzer den Pi verwenden, so hat jeder sein eigenes config-file ohne extra eines per Parameter -f aufrufen zu müssen.

            Das System ist ein bisschen träge, ist das bei Dir auch so?

            Jasper sieht zwar schneller aus (Video auf der Homepage), ist aber ein bisschen viel Aufwand, wenn man nicht das fertige Image nimmt. Ausserdem schein das Programm nur english zu verstehen.

            Ich schaue es mir bei Gelegenheit mal an.

            Antworten
            1. BoBek Beitragsautor

              Eine gewisse Verzögerung ist vorhanden und wird eher nicht mehr beseitigt. Du musst ja wissen das die Anfrage zuerst an die Google Server verschickt wird dort wird sie ausgewertet und dann zurück geschickt. Das dauert seine Zeit (Zusätzlich muss man drauf achten was man sagt ich vertraue da Google nicht so ganz 😉 ) Jasper funktioniert schneller,weil das Programm auf eine lokale Sprachbibliothek zugreift. Deshalb ist es momentan nur auf Englisch verfügbar und verbraucht schon jetzt (ich glaube) mehr als 4GB Speicherplatz. Außerdem habe ich gelesen das die Erkennung deutlich schlechter abläuft als die von Google Speech API. Allerdings ist das Projekt offen und jeder kann dran arbeiten auch die Implementierung von zusätzlichen Spracherkennung Methoden ist laut der Homepage möglich.

              Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.