Der RasPi hört aufs Wort [1. Post edit, bessere Lösungen sind da]

Begonnen von Rince, 29 Mai 2013, 18:00:46

Vorheriges Thema - Nächstes Thema

Sirphunk

Ich möchte mal folgende Lösung vorstellen:
http://stevenhickson.blogspot.de/2013/06/voice-command-v30-for-raspberry-pi.html

Darüber lasse ich einfach per Sprachkommando und wget den Link vom jeweiligen Device öffnen.

Habe auch ein kleines Youtube Video von meinen Tests gemacht:
http://www.youtube.com/watch?v=9XHWhhEDJs0

Die Qualität des Mikrofons ist wohl entscheidend. Das Schlagwort "Computer" wird häufig schlecht erkannt. Danach folgt der eigentliche Befehl der dann immer sehr gut erkannt wird.

Für den Produktiveinsatz ist mir das noch zu ungenau....

Kuzl

Klingt echt intressant :)

Wodurch passiert bei dir die Auswertung des Textes und Umwandlung in einen FHEM-Befehl bzw. in eine Adresse?

Wir sind Hier gerade dabei die Auswerdung des Textes etwas "smarter" zu machen, allerdings henge ich etwas und habe auch nicht so viel Zeit :D
http://forum.fhem.de/index.php/topic,17409.0.html

Ich bin gespannt auf deine Lösung, bin mir nicht richtig ob ich den richtigen Ansatz gewählt habe ;)

viele Grüße
Kuzl

Sirphunk

Hallo Kuzl.

Das ist nicht direkt "meine" Lösung bzw. mein Programm ;-)

Das Programm heißt "Voice Command V3.0 for RaspberryPi"und ist ziemlich universell einsetzbar.
Es wird einfach auf vorher festgelegte Sprachkommandos ein Bash-Befehl ausgeführt.

Die Software lauscht die ganze Zeit mit. Fällt das Schlagwort, was ich hier "Computer" genannt habe, dann wird nach Bestätigung, in meinem Fall "Was soll ich tun?" auf den Sprachbefehl gewartet.

Die Kommandos sind in der Config natürlich frei definierbar.

So führt ein
~Licht aus==wget http://fritz.box/fhem/LINKzUMaUSSCHALTEN
dazu, dass das Sprachkommando "Licht aus", oder auch "Schalte das Licht aus" den Bashbefehl "wget http://usw.." ausführt.
Dadurch lasse ich einfach den jeweiligen WEBCMD Link vom Device aufrufen und zack, wird geschaltet.

Lässt man die "~" vor dem Kommando weg, wird nur auf den direkten Befehl reagiert. Also führt ein "Licht aus" zum Ergebnis, ein "Schalte das Licht aus" aber nicht...

Das ganze funktioniert über die Google-Api. Sowohl für Sprachein- als auch -ausgabe.
Ist mit Sicherheit noch ausbaufähig, oder ich bräuchte mal ein besseres Mikro. :)

Kuzl

Sehr interessante Lösung :)
wenn ich mich nicht irre, ist das ~ Regex also, dass es auch übereinstimmt, wenn außer dem Befehl noch andere Worte vorhanden sind, z.b. würde auch "Kannst du bitte das Licht ausschalten" funktionieren, da "Licht aus" genau so enthalten ist.
Allerdings funktioniert das natürlich nur solange es auch genau so enthalten ist. Nicht gehen würde z.b. "Kannst du das Licht bitte ausschalten"

Genau das wollen wir mit der Funktion in dem Thread ändern :) ich könnte mir vorstellen, dass man den Text mit "Voice Command" komplett an FHEM übergeben kann, wenn ich daraus mal ein Modul gebastelt habe :D dann kann man in FHEM auch beliebig reagieren und kann alles schön übers Webinterface einstellen :)

Das ist natürlich mega geil, dass erst ein Schlüsselwort genannt werden muss, und dann zugehört wird  8)
Da lässt sich über die Google API natürlich streiten :D - für mich allerdings kein Problem.

Ich sehe schon das ganze lässt sich mit dem Modul Text2Speach und... wenn ichs hinkrieg meinem Modul wunderbar in FHEM integrieren :)

Gruß
Kuzl

Steffen

Das hört sich ja sehr sehr interessant an, besonders mit dem Schlagwort.
Habe ja noch ein pi zum testen aber welches mikro benutzt man dafür am Besten?

Mfg Steffen

Rince

Mittelfristig evtl. ein Android Handy :)

Habe es damals mit Singstar Mikros ausprobiert (die ersten Postings in dem Thread), das hat prinzipiell funktioniert, aber her  ein Proof of Concept. Nicht für den Alltagsgebrauch geeignet.
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

fh168

also die singstars mit dem usb-anschluss? gibt es bessere mics? muss man dafür eine usb soundkarte, zb. die 2 euro version aus china dranbauen?
Hue, Lacrosse, PCA301, MySensors, V 1.67 CUL 868 V3.4, Lacrosse-WLAN-Gateway, Tasmota RF-

Rince

Ich bin kein Tontechniker. Aber ich wette, es gibt viele viel bessere Mikros :)

Ich hab die Singstars genommen, weil es dazu ein USB Kästchen gab, womit die drahtlos Mikros gehen (also 1 von den beiden, warum, steht am Anfang vom Thread).

Das Problem ist:
Jedes Mikro hat eine Richtcharakteristik. Und je nach dieser richtet sich die Position des Sprechers.

Du willst ja langfristig nicht mit einem Mikro um den Hals oder einem Headset rumlaufen, nur um FHEM nach der Uhrzeit zu fragen oder zu bitten, das Licht jetzt zu dimmen.

Und hier kommen wir in einen Bereich, der technisch komplex wird. Das bedeutet vor allem: teuer.
Drei oder vier Mikros im Raum verteilt, um einerseits deine Sprache optimal zu verstehen, andererseits Hintergrundgeräsche zu filtern...

Vereinfacht hast du das mittlerweile bei besseren Webcams oder auch der Kinect.

Da aber das noch Zukunftsmusik ist, tendiere ich zur Zeit zum Smartphone. Hat ein Mikro eingebaut, an das reinsprechen hat man sich gewohnt, drahtlos ist es auch noch und meist ist die Position Smartphone-Sprecher recht gut :)
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)


fh168

ok, die Singstar kosten ja nicht die Welt, aber sowas wie dem UBI schwebt mir mit Fhem schon vor.
Und ob wir einen UBI oder einen RPi mit einem Mic in die Steckdose stecken, welche untereinander vernetzt sind, da liegen wir preislich sicherlich was drunter.

Aber Voicecommand mit Singstar und Fhem wären ja schon mal ein guter Anfang.

Robin
Hue, Lacrosse, PCA301, MySensors, V 1.67 CUL 868 V3.4, Lacrosse-WLAN-Gateway, Tasmota RF-

Steffen

Hallo!

Habe gerade von meiner Tochter, ihre Wii Mikrophone(Speedlink) mit Klinke auf Usb Adapter(Rot/Blau) gefunden.

Kann mir jemand bitte vielleicht sagen, wie ich Testen kann auf der Pi console ob sie erkannt werden und Funktionieren???


Mfg Steffen

Kuzl

Hallo Steffen,

ich bin mir nicht ganz sicher aber ich glaube das geht mit lsusb ;)

@Rest:
Also ich kann aus Erfahrung (Anfänge mit der Band) sagen, dass bei den Singstar-Micros noch SEEEEEHR viel platz nach oben ist :D
die sind kurz gesagt für die eigendliche Tonaufnahme fast nicht geeignet :D da gibts allerdings für 40€ schon für unseren Zweck brauchbare Micros, die dann auch locker auf eine Entfernung von 1 Meter ganz akzeptable Ergebnisse liefern, und wenn man so eins einfach mal dort, wo man sich am meisten aufhält, platziert ist das doch was :) Mal sehen was daraus noch so wird :)

Fürs Android Handy kann ich nur die App Tasker empfehlen. Dafür gibt es ein FHEM-plugin, welches dann Zustände von FHEM abfragen kann und auch Befehle senden kann. Ich hab damit auch eine kleine Sprachsteuerung gebastelt (Regex ist auch möglich). Allerdings ist das von uns angestrebte gramatikunabhängige Erkennen leider nicht möglich.

Viele Grüße
Kuzl

Steffen

Hallo!

So habe es mal versucht Voicecommand zu installieren, aber es scheitert an zwei stellen...
1. First I'm going to say something and see if you hear it Did you hear anything? (y/n) da höre ich leider nichts,
obwohl die Ausgabe von Audio zum Test bei "sudo /usr/bin/mplayer -ao alsa:device=hw=0.0  -nolirc -noconsolecontrols "http://translate.google.com/translate_tts?tl=de&q=test nochmal" habe.
2.Do you want to set up and check the speech recognition options? (y/n)
y
First I'm going to make sure you have the correct hardware device
I couldn't find a hardware device. You don't have a valid microphone


Auch hier: pi@PiAudio ~ $ lsusb
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 05e3:0606 Genesys Logic, Inc. USB 2.0 Hub / D-Link DUB-H4 USB 2.0 Hub
Bus 001 Device 005: ID 046d:0a03 Logitech, Inc. Logitech USB Microphone
Bus 001 Device 009: ID 03f0:0024 Hewlett-Packard KU-0316 Keyboard
Bus 001 Device 010: ID 046d:0a03 Logitech, Inc. Logitech USB Microphone
Bus 001 Device 008: ID 1bcf:0007 Sunplus Innovation Technology Inc. Optical Mouse


vielleicht hatte ja jemand genau die gleiche Probleme???

Mfg Steffen

Steffen

Hallo!

Ich habe nun auch schon mit usb-soundcard versucht, auch mit einer ps3cam doch er zeigt mir immer bei der Config(voicecomand -s) kurz vor schluss  das er keine Hardware erkennt.
Woran könnte das liegen, muss man erst dem Pi irgendwo sagen welche Hardware er erkennen muss?
Hat einer von euch schon Voicecomander installiert? Wenn ja welche Hardware, welches System?
Hoffe und bitte um Hilfe...

Mfg Steffen

dieda

Bitte bleib dran, das Ganze ist interessant und macht nicht nur für den Sehenden User Sinn. Nur als Basis für die Sprachkomandos sollte man dann auch ein Iphone mit Voice Over in Betracht ziehen. Die Dinger sind die einzigen wirklich guten Blindentelefone https://www.apple.com/de/accessibility/ios/
Komponenten:
Sensoren und Aktoren: FS20, Max!, Zigbee, Zwave
IODev:  Cul1101, MaxLan, ZWAVE, Deconz
Router: KD-Fritte (6360)
Sonstiges: Raspberries,  1x LMS,1 FHEM, 1 x zum Testen,  Logitech-Clients,  Onkyo, SamsungTV, Squeezebox, TabletUIs