Forum: Mikrocontroller und Digitale Elektronik Welcher Mikrocontroller für Spracherkennung?


von Peter King (Gast)


Lesenswert?

Hallo,

ich würde gerne so etwas wie Amazons Alexa bauen, aber ohne die Cloud.

Also ein Gerät, das per Sprachkommando einen Kontakt zu anderen 
gleichartigen Geräten aufbauen kann, die in anderen Räumen stehen.

Man könnte damit per Sprache eine Verbindung vom Gerät im Keller zum 
Gerät im Schlafzimmer aufbauen und damit kommunizieren, wie am Telefon 
mit Freisprecheinrichtung. Man könnte auch Kommandos ausführen.

Natürlich ohne, dass jedes im Raum gesprochene Wort in irgendeine Cloud 
geschickt und dort analysiert, sowie (frei nach Snowden) für immer 
gespeichert wird. Die Spracherkennung müsste somit entweder vom Gerät 
selbst verarbeitet werden, oder eben an ein zentrales Gerät im Haus 
geschickt werden, welches die Spracherkennung erledigt.

Welche Mikrocontroller eignen sich zur Zeit gut für 
Spracherkennungsfunktionen? Gibt es ggf. sogar freie Software (Module, 
API) für Spracherkennungsfunktionen für manche Controller?

Gruss
Peter

von Md M. (Firma: Potilatormanufaktur) (mdma)


Lesenswert?

Schau dir CMUSphinx und Pocketsphinx an und orientiere dich eher in 
Richtung RPi oder ähnliches.

von Alex G. (dragongamer)


Lesenswert?

Was hast du denn für Vorerfahrung?
Kennst du dich mit neuronalen Netzen (NN) und sowas aus?

Es gibt schon Gründe wieso man auf Cloud setzt: Rechenleistung.
Zwar braucht man nur zum Anlernen solch massive Ressourcen wie GPUs, 
aber ganz ohne, ist die Anwendung des NN auch nicht.
Mit nem Mikrocontroler (der normalen Assembler o.ä. verabreitet) wird 
das schwer bis unmöglich.
Für den Raspberry hat man vor kurzem, einen extra, dedizierten Chip für 
Bild-verarbeitende NNs vorgestellt: 
https://www.extremetech.com/electronics/259810-google-unveils-ai-powered-camera-kit-raspberry-pi
Leider ist das NN da nicht universell einsetzbar.

Durch einen Intel Nuc oder Vergleichbarem ist es zumindest denkbar, das 
ganze mit Standard-Hardware halbwegs kompakt zu kriegen.
Wahrscheinlicher ist aber dass du noch ein paar Jahre warten musst, bis 
NN-Co-Prozessoren integriert sind. Qualcomm hat sowas für ihre SoCs 
bereits in der Entwicklung.
Intel und AMD werden auch irgendwann nachziehen.

Mozilla hat für PCs grade vor einem Monat, ein sehr interessantes 
Projekt, inklusive trainierten Daten in Englisch vorgestellt:
https://www.heise.de/newsticker/meldung/Mozilla-Common-Voice-Sprachsteuerung-fuer-alle-und-ohne-Rueckgriff-auf-die-Cloud-3904454.html
https://github.com/mozilla/DeepSpeech
Erfordert aber auch in der Anwendung ordentliche Rechenleistung. Das 
Anlernen eines neuen NN (z.B. um das in Deutsch zu bekommen) kann man 
als Privatperson fast vergessen.

Es gibt natürlich noch andere Systeme mit anderen Ansätzen als NN.
Dragon's Naturally Speaking ist da eine Beispielsoftware. Die gabs schon 
in den Neunzigern. Die Erkennungsrate zumindest der alten Versionen ist 
aber vergleichsweise (zu Alexa und Co.) bescheiden...

Es gibt auch stark beschnittene NNs die direkt auf nem Raspi laufen, 
aber das geht eher richtung Spielerei als wirklich im Alltag hilfreiche 
Geräte.
Zum Lernen und Experimentieren ist das natürlich nicht schlecht.

: Bearbeitet durch User
von TestX (Gast)


Lesenswert?

Ganz ohne Cloud ? Stell dir 20+ racks in deinen keller vollgestopft mit 
nvidia tesla v100 ... dann kannst du anfangen die daten zu trainieren.

für die "anwendung" reicht dann ein performantes nuc

von Andreas Müller (Gast)


Lesenswert?

@Peter King:
Lass Dich von dem Schwachsinn, der hier verbreitet wird, nicht 
irritieren. Ist halt blödsinniges Geschreibsel von Personen, die vom 
Thema keine Ahnung haben.
Für den Einstieg was Leichtes:

https://www.youtube.com/watch?v=gZkwvSX0_Os
oder
https://www.youtube.com/watch?v=znuUm5vbSpI&feature=youtu.be


Apropos:
> Es gibt schon Gründe wieso man auf Cloud setzt

Ja, um die Daten von geistig einfach Strukturierten kostenlos 
abzugreifen.
Ist wie mit den Glasperlen und den Eingeborenen damals...

von Alex G. (dragongamer)


Lesenswert?

Du unterstellst mir keine Ahnung zu haben?...
Mein Praktikumsprojekt war es ein NN aufzusetzen.

Was du verlinkt hast, sind in etwa die Spielereien an die ich auch 
Dachte.

Des weiteren, lass mal die Paranoia im Aluhut stecken.

von No Y. (noy)


Lesenswert?

I.MX8M ;-)

: Bearbeitet durch User
von Orthogonal (Gast)


Lesenswert?

Alex G. schrieb:
> Du unterstellst mir keine Ahnung zu haben?...

Er unterstellt dir das nicht. Du hast tatsächlich keine Ahnung.

> Des weiteren, lass mal die Paranoia im Aluhut stecken.

Das ist keine Paranoia. Die sind wirklich hinter uns her. Nur du merkst 
es nicht.

von Alex G. (dragongamer)


Lesenswert?

Hinter uns her mit ihren Produkten und Schnäppchen, was?
Hinter unserem Geld vieleicht, aber wette dein Arbeitgeber der dich 
bezahlt, versucht auch Geld zu erwirtschaften ;)

Man sollte sich selbst nicht so extrem wichtig nehmen, wenn man mich 
fragt, und das Leben genießen. Das schöne an der Wirtschaft ist dass man 
unterm Strich doch zusammenarbeitet.
Die Politik ist es was Menschen auseinander treibt.

Lasst uns lieber wieder Glühwein schlürfen und den Thread nicht weiter 
richtung OT abdriften...

von (prx) A. K. (prx)


Lesenswert?

TestX schrieb:
> Ganz ohne Cloud ? Stell dir 20+ racks in deinen keller vollgestopft mit
> nvidia tesla v100 ... dann kannst du anfangen die daten zu trainieren.

In OS/2 V4 von 1996 war eine Spracherkennung enthalten. Die 
funktionierte zwar nicht sprecherunabhängig, sondern musste kurz 
angelernt werden, aber immerhin. Ein damals verbreiteter PC-Prozessor 
war der Pentium mit 90 oder 133 MHz.

Ein Äquivalent zu deinen 20 Nvidia-Racks existierte damals nicht.

: Bearbeitet durch User
von chris (Gast)


Lesenswert?

Ich kann dir einen Bausatz verkaufen, hab noch einen unbenutzten hier.

von (prx) A. K. (prx)


Lesenswert?

A. K. schrieb:
> Ein Äquivalent zu deinen 20 Nvidia-Racks existierte damals nicht.

PS: Eine einzige Tesla V100 hat je nach Betrachtung: 15-100 TFLOPS. Der 
schnellste Supercomputer von 1996 hatte 220 GFLOPS.

von Jups (Gast)


Lesenswert?

Oh weh was wird hier wieder geschrieben.  Spracherkennung gibts schon 
seit jahren auf einfachen pcs und es gibt sogar stromspahrende module 
fertig zu kaufen.

LEUTE LEUTE :-)))

von Jups (Gast)


Lesenswert?

Ps. Es gibt sogar fuer arduino entsprechende shields.  Einfach nach 
voice recognition googlen

von Andreas Müller (Gast)


Lesenswert?

Alex G. schrieb:
> Du unterstellst mir keine Ahnung zu haben?...
> Mein Praktikumsprojekt war es ein NN aufzusetzen.


Wow, toll! Dann meinst Du also, dass Du jetzt ein 
IT-Spracherkennungsexperte bist?

Empfehlung: Trainiere mal Dein eigenes NN auf Textverständnis. Peter 
King suchte was einfaches. Bedingungen an die Genauigkeit oder an 
Sprecherunabhängigkeit hat er nicht gestellt. Auch hat er nicht 
gefordert, dass


> Was du verlinkt hast, sind in etwa die Spielereien an die ich auch
> Dachte.


Wieso sind das Spielereien? Die funktionieren, und das auch im 
professionellen Bereich.


> Des weiteren, lass mal die Paranoia im Aluhut stecken.


Hat mit Paranoia nichts zu tun, Apple oder Google sagen doch selber, 
dass sie die Daten brauchen, um sie kommerziell zu verwerten. Auch hier 
mein Tip:
Trainiere Dein eigenes NN...

von Andreas Müller (Gast)


Lesenswert?

Andreas Müller schrieb:
> Empfehlung: Trainiere mal Dein eigenes NN auf Textverständnis. Peter
> King suchte was einfaches. Bedingungen an die Genauigkeit oder an
> Sprecherunabhängigkeit hat er nicht gestellt. Auch hat er nicht
> gefordert, dass

... die Spracherkennung nicht trainiert werden muss.

von C. A. Rotwang (Gast)


Lesenswert?

Jups schrieb:
> Oh weh was wird hier wieder geschrieben.  Spracherkennung gibts schon
> seit jahren auf einfachen pcs und es gibt sogar stromspahrende module
> fertig zu kaufen.

Nicht seit Jahren sondern seit Jahrzehnten:
https://en.wikipedia.org/wiki/Timeline_of_speech_and_voice_recognition
https://www.itbusiness.ca/news/history-of-voice-recognition-from-audrey-to-siri/15008

Statt mikrocontroller, solltest du auch in Richtung DSP schauen, das 
sind vereinfacht gesprochen µC mit Hardwaremultiplizierer. Der macht für 
langsame controller die Verwendung von Audiofiltern einfacher.
Spezielle Neuronale netze Hardware ist IMHO nicht nötig, wichtiger ist 
der Speicheplatz für die kontextunterstützede Entscheidung, also ganze 
Sätze erkennen statt nur einzelne Worte.
Wenn der Speicherplatz für diese Kontextdatenbank auf dem Controller zu 
klein ist, brauchst du eine Verbindung zu einem Netzwerk auf dem diese 
lagert. Diese datenbank enthällt dann eine "lange" Liste von ähnlich 
klingenden Wörtern und die (kontextbezogenen) Wahrscheinlichkeit was da 
gemeint sein könnte. Diese Wahrscheinlichenkeiten helfen bei der 
Entscheidung in Anfrage von "Suche Bildern von Vögeln" und "Suche Bilder 
beim vögeln" ;-)

von VW (Gast)


Lesenswert?

Es gibt Leute, die tun's nicht unter einem Porsche und andere kommen 
auch mit einam alten Käfer ans Ziel. Es gibt sogar ziemlich viele Ziele, 
wo man mit einem Porsche schlichtweg gar nicht hinkommt.

von Sebastian S. (amateur)


Lesenswert?

Für das, was Du da vorhast, brauchst Du ordentlich Rechenpower.

Für das Verarbeiten von analogen Signalen - darum geht es hier ja - 
würde ich einen flotten Prozessor, aus der Reihe der 
Signalverarbeitungsprozessoren, suchen.
Die haben meist auch ein paar Extra-Befehle, die in diesem Bereich 
benötigt werden.

Übrigens: Du solltest Dich vorher genau mit der Sprachstruktur, der 
jeweiligen Zielsprache beschäftigen.
Der Mensch gibt meistens irgendwelche Laute von sich.
Du kannst aber nicht einfach ein paar Laute aus einem Satz herausklauben 
um dann die Heizung abzuschalten. Auch die Rücknahme des Beispielbefehls 
sollte verstanden werden, was auch gleich den Umfang des Ganzen 
unterstreicht.

Ja ich weiß: Die Beispielbefehle wie: "Licht an" und "Licht aus" sind 
recht einfach zu implementieren. Dann hört es aber auch schon meist auf.

: Bearbeitet durch User
von Md M. (Firma: Potilatormanufaktur) (mdma)


Lesenswert?

Wie gesagt: Sphinx und ein wenig scripting, fertig. Habe damit vor ein 
paar Jahren für meinen damaligen Arbeitgeber einen wunderbar 
funktionierenden Prototypen gebaut. Und der hat nicht nur einfache 
befehle wie "Licht an/Licht aus" umgesetzt, sondern hunderte Stunden 
gesprochenen englischen Text nahezu fehlerfrei digitalisiert. Ohne dass 
ich mich mit Spektranalyse und Hidden Markov rumschlagen musste und ohne 
rackweise Rechenpower. Ein PC oder RPi reicht.

von Peter (Gast)


Lesenswert?

Alex G. schrieb:
> Du unterstellst mir keine Ahnung zu haben?...
> Mein Praktikumsprojekt war es ein NN aufzusetzen.
>
> Was du verlinkt hast, sind in etwa die Spielereien an die ich auch
> Dachte.
>
> Des weiteren, lass mal die Paranoia im Aluhut stecken.

Ach wie süüüüß!

Ein Praktikant, der meint, weil er die Abkürzung NN kennt, wäre er 
Spezialist für KI.

Lieber Praktikant, auch wenn deine Welt am Ende deines NN-Frameworks 
aufhört, lass dir gesagt sein, dass die Rechenleistung der NNe bei der 
SprachERKENNUNG kaum eine Rolle spielt. Die Feature-Extraction dagegen 
erfordert DSP, GPU oder eine halbwegs performante CPU. Beim Training 
verschieben sich die Verhältnisse etwas, aber das ist beim Use Case des 
TEs ja nicht das Problem.

Ich wünsche dir noch ein schönes Praktikantenleben. Was für Praktika 
hast du seit dem NN-Projekt denn noch absolviert? Bist du inzwischen 
Senior-Praktikant, oder musst du immer noch für die ganze Abteilung 
Kaffee kochen?

von Marc H. (marchorby)


Lesenswert?

Sebastian S. schrieb:
> Für das, was Du da vorhast, brauchst Du ordentlich Rechenpower.

http://www.instructables.com/id/Speech-Recognition-with-Arduino/

von Guido L. (guidol1970)


Lesenswert?

TestX schrieb:
> Ganz ohne Cloud ? Stell dir 20+ racks in deinen keller vollgestopft mit
> nvidia tesla v100 ... dann kannst du anfangen die daten zu trainieren.

Oder man schaut sich MOVI von audeme an:
http://www.audeme.com/

oder Jasper mit einem Raspberry Pi:
https://jasperproject.github.io/

und ann gibts noch

EasyVR Shield 3.0 - Voice Recognition Shield
http://www.hobbytronics.co.uk/easy-vr-shield-3?keyword=voice

: Bearbeitet durch User
von Wurstfresser (Gast)


Lesenswert?

Wozu braucht Spracherkennung scheinbar die Cloud ?

Naja, Leute stellen eine Dienstleistung zu Verfuegung und haetten dafuer 
gerne ein paar Sprachsamples ... wie soll eine Firma auf Spracherkennung 
weiterkommen, ohne viele Sprachsamples ?

Alles klar ?

Es gibt Gratis-Online-sprachkurse. Weshalb sind die gratis ? Weil die 
Firma herausfinden moechte wie man effizient lernt. Und dazu benoetigt 
sie Samples, viele Samples. Laborratten, quasi.

Alles klar ?

von C++ (Gast)


Lesenswert?

Marc H. schrieb:
> Sebastian S. schrieb:
>> Für das, was Du da vorhast, brauchst Du ordentlich Rechenpower.
>
> http://www.instructables.com/id/Speech-Recognition...

Guido L. schrieb:
> oder Jasper mit einem Raspberry Pi:
> https://jasperproject.github.io/

Guido L. schrieb:
> EasyVR Shield 3.0 - Voice Recognition Shield
> http://www.hobbytronics.co.uk/easy-vr-shield-3?keyword=voice

Sagt mal Leute, gehts noch? Hier hat doch extra ein Experte gesagt:

Sebastian S. schrieb:
> Für das, was Du da vorhast, brauchst Du ordentlich Rechenpower.

Da könnt ihr nicht mit funktionierenden Beispielen kommen die bereits 
genutzt werden! :-D

Ich würde mich mal mit CMUSphinx beschäftigen:
https://cmusphinx.github.io/wiki/raspberrypi/

von Andreas Müller (Gast)


Lesenswert?

C. A. Rotwang schrieb:
> Statt mikrocontroller, solltest du auch in Richtung DSP schauen, das
> sind vereinfacht gesprochen µC mit Hardwaremultiplizierer.


Also das ist mit Sicherheit eines der ungeeignetsten 
Unterscheidungsmerkmale. Den Hardwaremultiplizierer haben ja heutzutage 
schon schwache 8-Bit-Controller meistens eingebaut...

Ich empfehle den Artikel zu DSPs hier im Forum!

von Peter King (Gast)


Lesenswert?

Hallo,

ich wollte hier keinen Streit anzetteln mit meiner Frage.

Ich bin selbst von Beruf Informatiker. Ich habe sogar auf einem privaten 
Cluster bei mir im Keller mit einer einfach programmierten KI 
experimentiert. D.h. ich weiß da schon wovon ihr redet und ich kann es 
auch durchaus beurteilen.

Elektronik läuft seit den 90ern so ab und an als Hobby nebenbei.

Von selbst Haus mit Elektrik ausgestattet und geplant, bis kleinere IoT 
Geschichten umgesetzt z.B. mit dem ESP8266 nen Briefkastensensor oder 
einen Rauchmelder.

Für Spracherkennung, die auf die Stimme(n) des/der Benutzer angelernt 
wird, reicht theoretisch ein Raspi.

Es gab schon vor 10 Jahren Software für x86 Architekturen, die auf 
damaliger Hardware gut lief. Damit ließ sich der PC mit Sprache steuern. 
Wurde damals oft bei Behinderten eingesetzt.

Daher ist die Cloud an sich nur wegen der Rechenleistung definitiv für 
Spracherkennung nicht notwendig.

Ich weiß, dass es für einige Architekturen freie Libs geben soll, welche 
einfache Kommandos al la "Computer Licht an / Computer licht aus" 
ermöglichen sollen.

Alexa besteht aus einem sehr impotenten Prozessor. Da bleibt kein 
anderer Weg übrig, als das aufgenommene Audiospektrum an eine Zentrale 
Stelle - die Cloud - zu schicken. So wie ich informiert bin, schafft das 
Ding gerade das Wort "Alexa" selbst zu erkennen. Der Rest danach geht in 
die Cloud.

Ja, das sehe ich als ein extremes Problem an und finde es schlimm, dass 
sogar nach Snowden, darüber gelächelt wird.

Dieser Mann hat sein Leben versaut, um der Gesellschaft aufzuzeigen, was 
sie als Aluhut-Theorien abgetan hat. Leider wusste er nicht, dass die 
Gesellschaft aus 99,9% Idioten besteht, die darauf schxxxen werden und 
genau so weiter machen werden, wie davor. Dafür habe ich großen Respekt 
vor ihm. Aber genau aus obigen Gründen hätte ich mir mein Leben nicht 
versaut.

Doch um zum Thema zurück zu kehren. Ich dachte, Jemand hätte hier schon 
mal was ähnliches gemacht oder wüsste eine gut nutzbare freie Lib für 
Spracherkennung und die passenden Prozessoren dazu, dann hätte ich an 
den Erfahrungen gerne teil genommen.

Trotzdem danke für Eure Antworten. Sie bringen mich in Jedem Fall ein 
Stück weiter.

Und fetzt Euch nicht weiter. Es ist schließlich Weihnachten.

Grüße
Peter

von Md M. (Firma: Potilatormanufaktur) (mdma)


Lesenswert?

Peter King schrieb:
> Ich dachte, Jemand hätte hier schon
> mal was ähnliches gemacht oder wüsste eine gut nutzbare freie Lib für
> Spracherkennung und die passenden Prozessoren dazu, dann hätte ich an
> den Erfahrungen gerne teil genommen.

Na dann, jetzt weißt du es.

von Alex G. (dragongamer)


Lesenswert?

Was zum Henker hat das mit Snowden zutun?
Die NSA oder die US-Regierung ist nicht daran interessiert was du mit 
deiner Hausautomation laberst >_>
Vieleicht unter ganz bestimmten Umständen wird nach irgendwelche 
Stichworten gefiltert, aber auch das ist unwahrscheinlich denn 
Verbrecher o.ä. setzen diese Geräte halt nicht ein.

Anzeichen dass sich irgendwie die US-Regierung solche Mittel einsetzt, 
um politische Gegner auszumachen, hat der Typ nirgends aufgedeckt!
Geschweige denn im Ausland.
Also was genau soll man befürchten, was einem das wert sein sollte, 
seine eigene Lebensqualität einzsuchränken?

Des weiteren, auch wenn ich damit vieleicht zurecht mit Negativepunkten 
gehauen werde (lol) - ganz nüchtern betrachtet bedeutet seine Tat aus 
deinem genannten Grund nicht viel.
Es gibt Menschen die sich FÜR Nazi-Organisationen, ihr Leben versaut 
haben!

Wer Held und wer Verbrecher/Verräter ist, kommt immer darauf an, welcher 
Seite man angehört...

von Mr. Big (Gast)


Lesenswert?

Hey, NN-Praktikant und KI-Papst,

Alex G. schrieb:
> Also was genau soll man befürchten, was einem das wert sein sollte,
> seine eigene Lebensqualität einzsuchränken?

Wie bitteschön schränkt die Nicht-Nutzung von Alexa denn die 
Lebensqualität ein?
Das geht doch nur, wenn man eh schon ein armseliges Leben führt.

Du tust mir leid!

von Peter King (Gast)


Lesenswert?

Hier mal paar Infos zu Alexa:

https://www.teltarif.de/alexa-hoert-heimlich-mit/news/71102.html

und

https://www.heise.de/newsticker/meldung/Ermittlungen-zu-mutmasslichem-Mord-Amazon-haendigt-Alexa-Aufnahmen-aus-3646131.html

Was im Amiland praktiziert wird, auf die Idee kommen dann auch 
irgendwann deutsche Ermittler.

Aber Diejenigen sollen ruhig glauben, dass sie völlig uninteressant 
sind.

von C. A. Rotwang (Gast)


Lesenswert?

Andreas Müller schrieb:
> C. A. Rotwang schrieb:
>> Statt mikrocontroller, solltest du auch in Richtung DSP schauen, das
>> sind vereinfacht gesprochen µC mit Hardwaremultiplizierer.
>
>
> Also das ist mit Sicherheit eines der ungeeignetsten
> Unterscheidungsmerkmale. Den Hardwaremultiplizierer haben ja heutzutage
> schon schwache 8-Bit-Controller meistens eingebaut...

Nö, das ist das gängigste gelehrte Unterscheidungsmerkmal zwischen DSP 
und General Purpose processor. Schau mal in Lehrbücher, dort wird es 
ausführlicher als Vorhandensein eine Multiply-ADD Operation beschrieben 
und damit begründet das die Audioalgorithmen wie FIR etc auf 
Skalarprodukte und damit multiply-add rückführbar sind.
http://www.cosy.sbg.ac.at/~rkutil/dsp04/dsp.pdf

Auch beim Alexa-processor, dem TI DMS3730, werden die 
Hardware-multiplizier als Kernelement der DSP-Engine hervorgehoben: "Two 
Multipliers Support Four 16 x 16-Bit or Eight 8 x 8-Bit Multiplies 
(16-Bit result) "

DSP haben noch ein paar andere Spezialstrukturen wie parallelen 
Addressdecrement, bitreverse Adressing, saturated rounding etc aber der 
Hardwaremultiplizierer ist der mit der grössten beschleunigung (1 takt 
statt 10+), aber auch der mit einem hohen Bedarf an Chipfläche (deshalb 
"fehlt(e) der multiplier in klassischen controllern).

 Und ja, mit dem Hardwaremultiplizierer kommen die µC in den Bereich der 
"damals" DSP vorbehalten war. Allerdings wird sich keiner mit einer 8 
bit Quantisierung bei Audiodaten zufrieden geben.

von C. A. Rotwang (Gast)


Lesenswert?

Peter King schrieb:

> Alexa besteht aus einem sehr impotenten Prozessor. Da bleibt kein
> anderer Weg übrig, als das aufgenommene Audiospektrum an eine Zentrale
> Stelle - die Cloud - zu schicken. So wie ich informiert bin, schafft das
> Ding gerade das Wort "Alexa" selbst zu erkennen. Der Rest danach geht in
> die Cloud.

Nö, der prozessor ist recht potent, 
https://de.ifixit.com/Teardown/Amazon+Echo+Teardown/33953. Von 
algorithmus her ist eine Datenweiterleitung in das amazon-Rechenzentrum 
nicht nötig, zum Ausführen der Bestellung und Gnerierung von 
Nutzerprofilen und darauf angepasste Marketingkampagnen schon.

von Klaus (Gast)


Lesenswert?

Alex G. schrieb:
> Die NSA oder die US-Regierung ist nicht daran interessiert was du mit
> deiner Hausautomation laberst >_>

Man kann die Daten aber möglicherweise verkaufen (oder an befreundete 
Firmen weitergeben), so als "Küchen Talk CDs". Die werden dann 
ausgewertet, wenn man sich irgendwo bewirbt, einen Kredit braucht oder 
eine Versicherung abschließen will. Eine Art Führungszeugnis++

Aber du hast ja nichts zu verbergen ...

MfG Klaus

von Mr. Big (Gast)


Lesenswert?

C. A. Rotwang schrieb:
> Nö, das ist das gängigste gelehrte Unterscheidungsmerkmal zwischen DSP
> und General Purpose processor. Schau mal in Lehrbücher, dort wird es
> ausführlicher als Vorhandensein eine Multiply-ADD Operation beschrieben


Falsch. Schau Du Dir mal den Unterschied zwischen einem 
Hardware-Multiplizierer und einer MAC-Einheit an. Du hast oben von einem 
Hardware-Multiplizierer geschrieben.

Im Übrigen bieten die hier so beliebten Cortex-M4 (und auch M7) 
ebenfalls eine Single-Cycle-MAC-Einheit sowie SIMD-Befehle.

von Ochje (Gast)


Lesenswert?

Keiner!

Man nimmt hierfür Dinge wie den Raspberry PI, ein i.MX6-Board oder einen 
Industrie-PC.

Darauf tut man Linux und sucht sich eine Spracherkennungssoftware.

Warum?
- Spracherkennung braucht sehr viel Rechenleistung
- Viel Speicher
- Eine Ethernet-Stack
- sehr komplexe Software
- Aber wenig Peripherie
- und hat keinerlei harte Echtzeitanforderung.
Da ist ein Microcontroller nur sehr schlecht geeignet.

Ein System mit Prozesor und Betriebssystem eignet sich dafür umso besser 
- das bringt schon von Haus aus viele Dinge mit, die man brauchen kann. 
Filesystem, Audiorecording, dynamische Speicherverwaltung und so weiter.

Ich denke, ein Raspberry PI ist ein guter Start.

Google sagt:
https://diyhacking.com/best-voice-recognition-software-for-raspberry-pi/

Hat mich 5s gekostet, das zu finden...

von Mr. Big (Gast)


Lesenswert?


von Md M. (Firma: Potilatormanufaktur) (mdma)


Lesenswert?

Ochje schrieb:
> Hat mich 5s gekostet, das zu finden...

Ein paar s mehr und du hättest den thread lesen können.

von Sheeva P. (sheevaplug)


Lesenswert?

Peter King schrieb:
> Alexa besteht aus einem sehr impotenten Prozessor. Da bleibt kein
> anderer Weg übrig, als das aufgenommene Audiospektrum an eine Zentrale
> Stelle - die Cloud - zu schicken. So wie ich informiert bin, schafft das
> Ding gerade das Wort "Alexa" selbst zu erkennen. Der Rest danach geht in
> die Cloud.
>
> Ja, das sehe ich als ein extremes Problem an und finde es schlimm, dass
> sogar nach Snowden, darüber gelächelt wird.
>
> Dieser Mann hat sein Leben versaut, um der Gesellschaft aufzuzeigen, was
> sie als Aluhut-Theorien abgetan hat. Leider wusste er nicht, dass die
> Gesellschaft aus 99,9% Idioten besteht, die darauf schxxxen

Entschuldige, aber die primäre Aufgabe von Geheimdiensten war es, ist 
es, und wird es auch bleiben, Informationen zu beschaffen. Man mußte 
schon ziemlich naiv sein, anzunehmen, daß die Geheimdienste aller 
Staaten nicht alles dafür tun würden, die Informationsflut im Internet 
zu nutzen. Jeder konnte, nein: mußte das wissen. Snowden verdanken wir 
nur, daß wir heute die Namen und die Grundlagen der verwendeten 
Techniken einer Seite kennen.

Dabei mache ich mir über die us-amerikanischen Geheimdienste sogar noch 
die wenigsten Sorgen, ehrlich gesagt. Denn am Ende sind die nämlich 
immer noch Institutionen eines demokratischen Rechtsstaats. Daß dessen 
Demokratie nach Naivlingen wie G. W. Bush und Obama und mit dem 
aktuellen "Präsidenten" in einem erbärmlichen Zustand ist: geschenkt. 
Aber der Rechtsstaat scheint da noch immer ganz gut zu funktionieren, 
wie zum Beispiel die Gerichtsurteile gegen Trumpels Einreisedekrete 
beweisen.

Tatsächlich mache ich mir da viel mehr Sorgen über die imperialistischen 
und militärischen Aktivitäten chinesischer und russischer Führer. Das 
geht mit Putlers propagandistische Trollfabriken, der Unterstützung von 
rechts- und linksextemen Parteien und Propagandisten, territorialen, 
kriegerischen und imperialistischen Aktivitäten Putlers in Moldawien, 
Georgien und der Ukraine los und endet nicht mit den Aktivitäten Chinas 
in den Territorien seiner Nachbarstaaten und dem afrikanischen 
Kontinent. Und ehrlich: weder Rußland noch China sind auch nur 
ansatzweise Rechtsstaaten, und schon gar keine Demokratien. Die USA sind 
keineswegs ohne Fehl und Tadel, aber wenn ich die Wahl hätte, in den 
USA, Putistan oder China zu leben, wähle ich jederzeit immer die USA -- 
sogar unter dem Trumpel.

Was Edward Snowden angeht, bin ich immer noch unsicher, ob er ernsthaft 
hehere Motive hat(te) oder nur ein gekaufter Verräter ist .. oder sogar 
beides: jemand, der zunächst hehere Motive hatte und sich dann in einer 
Situation der Ausweglosigkeit verkauft hat .. Ich kenne ihn nicht und 
erlaube mir daher kein Urteil darüber, ob er ein großer Dummkopf oder 
vielleicht sogar ein böswilliger Verräter ist. Er und seine Story haben 
einen merkwürdigen Geruch, da bleibe ich misstrauisch. Leute zu kaufen, 
gehört schließlich zum Kerngeschäft jedes Geheimdienstes.

: Bearbeitet durch User
von C. A. Rotwang (Gast)


Lesenswert?

Mr. Big schrieb:
> C. A. Rotwang schrieb:
>> Nö, das ist das gängigste gelehrte Unterscheidungsmerkmal zwischen DSP
>> und General Purpose processor. Schau mal in Lehrbücher, dort wird es
>> ausführlicher als Vorhandensein eine Multiply-ADD Operation beschrieben
>
>
> Falsch. Schau Du Dir mal den Unterschied zwischen einem
> Hardware-Multiplizierer und einer MAC-Einheit an.

Nö, richtig, schau in die Lehrbücher, schau in FPGA-Datenblätter, bspw 
in die Beschreibung der DSP-Slices der FPGA's wie das 
https://www.xilinx.com/support/documentation/user_guides/ug479_7Series_DSP48E1.pdf 
Kern eines DSP ist der Hardware-Multiplizierer. Er ist nicht die einzige 
beschleunigende Ressource, aber die mit dem grössten Impact. Rechne dir 
einfach mal die Takte das bspw 16 Tap FIR mit Software-Multiplikation 
benötigt und eins mit MAC-Unit

> Du hast oben von einem
> Hardware-Multiplizierer geschrieben.

Ja, weil es der der grösste block  ist(oder 'war' wenn man die caches 
heute mitbetrachtet) und ein Accumulator aka Adder bereits zur 
Grundausstattung eines GeneralPurpose-Processor gehört. Es ist nicht der 
einzige Block der aus einem Prozessor einen optimalen/schnellen DSP 
macht, das habe ich auch nicht behauptet. Du kannst dir auch gerne die 
ersten DSP's von anno dunnemals anschauen, Hauptunterschied ist immer 
das Vorhandensein eines Hardware-multiplizierers:
http://www.computerhistory.org/siliconengine/single-chip-digital-signal-processor-introduced/

> Im Übrigen bieten die hier so beliebten Cortex-M4 (und auch M7)
> ebenfalls eine Single-Cycle-MAC-Einheit sowie SIMD-Befehle.

Ja von der sogenannten DSP-Unit, die gerade deshalb so heisst.

von Ochje (Gast)


Lesenswert?

Md M. schrieb:
> Ochje schrieb:
>> Hat mich 5s gekostet, das zu finden...
>
> Ein paar s mehr und du hättest den thread lesen können.

Achso?

Mr. Big (Gast)  schrieb:
>https://www.nxp.com/support/developer-resources/ha...

Mal ehrlich: Solche Dinge setzt man nur ein, wenn man wirklich MUSS. Aus 
Gründen des Stroverbrauchs, oder Platzgründen.
Ich denke, im Allgemeinen ist man mit einem richtigen PC oder Raspberry 
PI viel einfacher dabei. Wegen der von mir genannten Gründe.

von Joachim S. (oyo)


Lesenswert?

Ochje schrieb:
> Ich denke, ein Raspberry PI ist ein guter Start.
>
> Google sagt:
> https://diyhacking.com/best-voice-recognition-software-for-raspberry-pi/
>
> Hat mich 5s gekostet, das zu finden...

Zitat aus dem von Dir verlinkten Artikel:

> How Does it Work?
>
> The software being described here uses Google Voice and speech APIs. The
> voice command from the user is captured by the microphone.This is then
> converted to text by using Google voice API.

Zum Thread-Thema:
Vermutlich macht es wirklich mehr Sinn, die eigentliche Spracherkennung 
etc. nicht auf der Alexa-artigen Eigenbau-Hardware auszuführen, sondern 
auf einem zentralen Server - aber eben nicht bei einem ominösen 
Datenkrake-Cloud-Server von Google oder Amazon, sondern halt einem vglw. 
potenten eigenen Server im eigenen Haus, auf dem dann eine Software a la 
Mozilla DeepSpeech die Spracherkennung usw. usw. zentral für den ganzen 
Haushalt übernimmt.

Wie bei Alexa/Google Home müsste das Alexa-artige Endgerät dann nur die 
Aktivierungssequenz erkennen, und würde ansonsten relativ dumm nur 
Audiostreams an den zentralen Server weiterleiten/von diesem empfangen.

Und die Erkennung der Aktivierungssequenz könnte man theoretisch so 
simpel gestalten, dass sie auch auf vglw. schwachbrünstigen 
Mikrocontrollern funktioniert; theoretisch denkbar wäre ja z.B., dass 
die Aktivierungssequenz gar kein Wort a la "Alexa" ist, sondern eine 
kurze Tonfolge, die man pfeift, und die vom Mikrocontroller per 
einfacher FFT/Frequenzspektrum-Analyse erkannt wird.

von C. A. Rotwang (Gast)


Lesenswert?

Joachim S. schrieb:

> Zum Thread-Thema:
> Vermutlich macht es wirklich mehr Sinn, die eigentliche Spracherkennung
> etc. nicht auf der Alexa-artigen Eigenbau-Hardware auszuführen, sondern
auf einem zentralen Server

Nein, Spracherkennung braucht keine verteilte Rechenpower, 
Spracherkennung kann locker auf einen Einzelplatz-Rechner laufen, der 
nicht mal mit dedizierter Signal Processing Rechenpower ausgerüstet. 
Dragon NaturallySpeaking liefert seit 20 Jahren den Beweis, das 
Spacherkennung auch auf Büro-PC's läuft: 
https://de.wikipedia.org/wiki/Dragon_NaturallySpeaking

Oder Luftfahrtindustrie, die schon aus Sicherheitsgründen nicht auf eine 
Lösung setzen kann, die auf eine 100% stabile Kommunikationsverbindung 
angewiesen ist:
http://www.davi.ws/avionics/TheAvionicsHandbook_Cap_8.pdf

Und Spracherkennung ist gerade auf Latenzfreie Reaktion angewiesen um 
praktikabel zu sein, eine Hausnummer sind so 200 ms in der die Erkennung 
abgeschlossen sein muß um natürliche Sprache zu verarbeiten. Ich 
bezweifle das 200 ms ausreichen um den Audiostream zu digitalisieren und 
über Hausnet ins Internet zu routen, dort auf die Serverfarm zu lenken , 
zu analysieren und die Antwort zurückzu senden.

Google hat mit Chromebook unfreiwillig aufgezeigt das das Konzept "The 
network is the computer" schon für simple Aufgaben wie Office und 
Photoshop mangelhaft ist und die Arbeitszeit nicht verkürzt.

Ferner bedeudet eine stetige schnelle breitbandige Internetverbindung zu 
mindestens bei den Datentarifen in deutschland, das man das Programm nur 
solange einsetzen kann bis die mobile Flat aufgebraucht ist. Dann kann 
die Speechregognition nur an Geräten einsetzen die eine wirkliche 
Flatrate bieten, also daheim.

von Joachim S. (oyo)


Lesenswert?

C. A. Rotwang schrieb:
> Joachim S. schrieb:
>
>> Zum Thread-Thema:
>> Vermutlich macht es wirklich mehr Sinn, die eigentliche Spracherkennung
>> etc. nicht auf der Alexa-artigen Eigenbau-Hardware auszuführen, sondern
> auf einem zentralen Server
>
> Nein, Spracherkennung braucht keine verteilte Rechenpower,
> Spracherkennung kann locker auf einen Einzelplatz-Rechner laufen

Von "verteilter Rechenpower" habe ich doch gar nicht geredet, sondern 
nur von einem "zentralen Server" (der lokal im eigenen Netzwerk steht, 
und in der Regel wohl tatsächlich ein gewöhnlicher Einzelplatz-Rechner 
sein wird).

Und dass es grundsätzlich sehr wohl möglich ist, die Spracherkennung 
direkt auf einem Alexa-ähnlichen Endgerät durchzuführen, bestreite ich 
doch auch gar nicht - ich vermute lediglich, dass der 
Alexa/Google-Home-Ansatz, die Spracherkennung etc. nicht auf den 
jeweiligen Endgeräten, sondern auf einem eigenen zentralen Server 
durchzuführen, unter'm Strich letztlich mehr Sinn macht.

> Und Spracherkennung ist gerade auf Latenzfreie Reaktion angewiesen um
> praktikabel zu sein, eine Hausnummer sind so 200 ms in der die Erkennung
> abgeschlossen sein muß um natürliche Sprache zu verarbeiten. Ich
> bezweifle das 200 ms ausreichen um den Audiostream zu digitalisieren und
> über Hausnet ins Internet zu routen, dort auf die Serverfarm zu lenken ,
> zu analysieren und die Antwort zurückzu senden.

Alexa/Google Home tun meinem Verständnis nach aber doch genau das, und 
sind doch durchaus praktikabel?
Davon abgesehen redest Du hier ja wieder davon, die Spracherkennung von 
irgendeinem Internet-Cloud-Service erledigen zu lassen, während ich wie 
gesagt meine, die Spracherkennung von einem zentralen und halbwegs 
leistungsstarken Server im eigenen Netzwerk erledigen zu lassen.

: Bearbeitet durch User
von C. A. Rotwang (Gast)


Lesenswert?

Joachim S. schrieb:
> C. A. Rotwang schrieb:
>> Joachim S. schrieb:
>>
>>> Zum Thread-Thema:
>>> Vermutlich macht es wirklich mehr Sinn, die eigentliche Spracherkennung
>>> etc. nicht auf der Alexa-artigen Eigenbau-Hardware auszuführen, sondern
>> auf einem zentralen Server
>>
>> Nein, Spracherkennung braucht keine verteilte Rechenpower,
>> Spracherkennung kann locker auf einen Einzelplatz-Rechner laufen
>
> Von "verteilter Rechenpower" habe ich doch gar nicht geredet, sondern
> nur von einem "zentralen Server" (der lokal im eigenen Netzwerk steht,
> und in der Regel wohl tatsächlich ein gewöhnlicher Einzelplatz-Rechner
> sein wird).

Das ist verteilte Rechenpower - der Server im Netzwerk.

> Und dass es grundsätzlich sehr wohl möglich ist, die Spracherkennung
> direkt auf einem Alexa-ähnlichen Endgerät durchzuführen, bestreite ich
> doch auch gar nicht - ich vermute lediglich, dass der
> Alexa/Google-Home-Ansatz, die Spracherkennung etc. nicht auf den
> jeweiligen Endgeräten, sondern auf einem eigenen zentralen Server
> durchzuführen, unter'm Strich letztlich mehr Sinn macht.

Aus meiner Sicht macht es keinen Sinn die Audio daten zu irgendeinen 
Compute-Server weiterzuleiten, wenn heute GHz-DSP locker in der Lage 
sind die Spracherkennung vor Ort durchzuführen. Schau dir mal das 
Datenblatt der Alexa-CPU an, das ist Leistungsklasse RasPi plus 
integrierten DSP plus weiter Coprozessoren: 
http://www.ti.com/product/dm3725

>
>> Und Spracherkennung ist gerade auf Latenzfreie Reaktion angewiesen um
>> praktikabel zu sein, eine Hausnummer sind so 200 ms in der die Erkennung
>> abgeschlossen sein muß um natürliche Sprache zu verarbeiten. Ich
>> bezweifle das 200 ms ausreichen um den Audiostream zu digitalisieren und
>> über Hausnet ins Internet zu routen, dort auf die Serverfarm zu lenken ,
>> zu analysieren und die Antwort zurückzu senden.
>
> Alexa/Google Home tun meinem Verständnis nach aber doch genau das, und
> sind doch durchaus praktikabel?

Das bezweifle ich, Alexa ist mit einem sehr potenten DSP ausgerüstet, es 
spricht vieles dafür das die Internetverbindung für die Spracherkennung 
nicht nötig ist. Es gibt viele Beispiele dafür das Spacherkennung ohne 
Serverbindung funktioniert, die Aussage das die Internetverbindung nötig 
wäre ist m.E. ein Marketing-Trick um Ahnungslosen Kunden einen 
Dauerlauscher unterzuschieben.

> Davon abgesehen redest Du hier ja wieder davon, die Spracherkennung von
> irgendeinem Internet-Cloud-Service erledigen zu lassen, während ich wie
> gesagt meine, die Spracherkennung von einem zentralen und halbwegs
> leistungsstarken Server im eigenen Netzwerk erledigen zu lassen.

Ob Heim-Server oder Server im Internet stehen zu haben ist hinsichtlich 
der latenz nicht gross anders. Bei beiden müssen der Stream in Paket 
zerlegt und geroutet werden.

--
Ich seh grad, da gibt es ein projekt das alexa statt mit dem Internet 
mit einem RaSpi auf dem die Amazon speech software läuft, verbindet:
https://github.com/alexa/alexa-avs-sample-app

Unbeachtet der Sinnhaftigkeit Spacherkennung von einem Cortex-A8 (Alexa) 
auf einen anderen Cortex-A7 (RasPi) auszulagern könnte das ein 
Experiment in Richtung "private" Spracherkennung sein. Wenn man Amazon 
und seinen eigenen Fähifkeiten in sachen Netzwerksicherheit vertraut.

von Mr. Big (Gast)


Lesenswert?

@C. A. Rotwang:

Du willst es wohl nicht verstehen. Du hast geschrieben:
> Statt mikrocontroller, solltest du auch in Richtung DSP schauen, das
> sind vereinfacht gesprochen µC mit Hardwaremultiplizierer.

Nach Deiner Definition sind also MSP430, AVR, CortexM also DSPs.
Soso...
Ich habe nur geschrieben, dass das Vorhandensein eines 
Hardware-Multiplizierers nicht als Unterscheidungsmerkmal taugt. Schon 
MSP430er haben MAC-Einheiten auf dem Chip, ebenso die M4/M7, das taugt 
also auch nicht.


> Nö, richtig, schau in die Lehrbücher, schau in FPGA-Datenblätter, bspw
> in die Beschreibung der DSP-Slices der FPGA's wie das
> https://www.xilinx.com/support/documentation/user_...
> Kern eines DSP ist der Hardware-Multiplizierer. Er ist nicht die einzige
> beschleunigende Ressource, aber die mit dem grössten Impact. Rechne dir
> einfach mal die Takte das bspw 16 Tap FIR mit Software-Multiplikation
> benötigt und eins mit MAC-Unit


Und? Ich habe nie behauptet, dass das nicht wichtige Elemente eines DSPs 
sind. Aber sie taugen nicht zur Unterscheidung, da - siehe oben - viele 
MCs sowas auch haben. Und genau das hast Du ja behauptet.


> http://www.computerhistory.org/siliconengine/singl...


Was soll jetzt dieses uralte Beispiel hier? Ist die Zeit stehen 
geblieben?


>> Im Übrigen bieten die hier so beliebten Cortex-M4 (und auch M7)
>> ebenfalls eine Single-Cycle-MAC-Einheit sowie SIMD-Befehle.
>
> Ja von der sogenannten DSP-Unit, die gerade deshalb so heisst.


Na und? Sind die CortexM deswegen keine Mikrocontroller mehr?
Ach, stimmt ja, nach Deiner Definition sind das ja DSPs...

von avr (Gast)


Lesenswert?

C. A. Rotwang schrieb:
> Das ist verteilte Rechenpower - der Server im Netzwerk.

Nein das nennt sich Auslagerung. Verteilt impliziert, dass mehrere 
Rechner an einer Aufgabe arbeiten. Du scheinst allgemein eine recht 
eigene Auffassung von Definitionen zu besitzen. Deine DSP Definition ist 
auch nicht mehr aktuell (oder ist ein  Cortex  m0 mit 32-cycle 
multiplier ein DSP).

von Joachim S. (oyo)


Lesenswert?

C. A. Rotwang schrieb:
>> Alexa/Google Home tun meinem Verständnis nach aber doch genau das, und
>> sind doch durchaus praktikabel?
>
> Das bezweifle ich, Alexa ist mit einem sehr potenten DSP ausgerüstet, es
> spricht vieles dafür das die Internetverbindung für die Spracherkennung
> nicht nötig ist.

Aber in der Praxis machen Alexa und Google Home nun mal genau das: Nur 
das Aktivierungswort wird von der Alexa/Google Home-Hardware selbst 
erkannt, danach wird der Audiodatenstrom einfach an die 
Amazon/Google-Cloud durchgereicht und die eigentliche Spracherkennung 
geschieht dort.
Das mag in der Tat keineswegs nötig sein, wie Du sagst - aber dass es 
bei Alexa und Google Home so gemacht wird, beweist doch zumindest, dass 
eben auch dieser Ansatz (trotz der damit verbundenen Latenzen etc.) aus 
Nutzersicht sehr wohl praktikabel ist.

von Horst (Gast)


Lesenswert?

Marc H. schrieb:
> Sebastian S. schrieb:
>> Für das, was Du da vorhast, brauchst Du ordentlich Rechenpower.
>
> http://www.instructables.com/id/Speech-Recognition...

Ochje schrieb:
> Warum?
> - Spracherkennung braucht sehr viel Rechenleistung

-> http://www.instructables.com/id/Speech-Recognition-with-Arduino/

:-D

C++ schrieb:
> Ich würde mich mal mit CMUSphinx beschäftigen:
> https://cmusphinx.github.io/wiki/raspberrypi/

von C. A. Rotwang (Gast)


Lesenswert?

avr schrieb:
> C. A. Rotwang schrieb:
>> Das ist verteilte Rechenpower - der Server im Netzwerk.
>
> Nein das nennt sich Auslagerung. Verteilt impliziert, dass mehrere
> Rechner an einer Aufgabe arbeiten.

Nö, distributed heist verteilt und inkludiert damit den Fall das die 
Rechenaufgabe an einem Numbercruncher im Netzwerk weitergereicht wird. 
Und dank multitheading und multicores kann ein einzelner "Rechner" schon 
ein System aus meherenen Rechenkernen beinhalten. Davon abgesehen, ist 
nicht gesagt das Alexa die Aufgabe an mehrere Rechner im Rechenzentrum 
weiterleitet.

> Du scheinst allgemein eine recht
> eigene Auffassung von Definitionen zu besitzen. Deine DSP Definition ist
> auch nicht mehr aktuell (oder ist ein  Cortex  m0 mit 32-cycle
> multiplier ein DSP).

Die Frage habe ich bereits fur einen M3 (single cycle multiplier) 
beantwortet und es ist nicht meine eigene definition sondern die die man 
in den üblichen Lehrbüchern nachlesen kann. Mit hardware multiplizierer 
ist übrigens ein single cycle multiplizierer gemeint. Den itterativen 
multiplier des Cortex-M0 als hardware-multiplizierer zu bezeichnen ist 
schon a bisserl dumm-dreist. BTW, es gibt beide Optionen beim M0: 1 
cycle und 32 cycle multiplikation: 
http://infocenter.arm.com/help/topic/com.arm.doc.ddi0432c/BABBFCGC.html

Erstere schiebt den M0 deutlich in Richtung DSP-Funktionalität.

von Iwan (Gast)


Lesenswert?

Sheeva P. schrieb:
> Tatsächlich mache ich mir da viel mehr Sorgen über die imperialistischen
> und militärischen Aktivitäten chinesischer und russischer Führer. Das
> geht mit Putlers propagandistische Trollfabriken, der Unterstützung von
> rechts- und linksextemen Parteien und Propagandisten, territorialen,
> kriegerischen und imperialistischen Aktivitäten Putlers in Moldawien,
> Georgien und der Ukraine los und endet nicht mit den Aktivitäten Chinas
> in den Territorien seiner Nachbarstaaten und dem afrikanischen
> Kontinent. Und ehrlich: weder Rußland noch China sind auch nur
> ansatzweise Rechtsstaaten, und schon gar keine Demokratien.

Владимир, я же сказал, мы должны исключить Sheeva Plug!

von Iwan (Gast)


Lesenswert?

О, дерьмо, Владимир, ты можешь удалить это? Срочно!

von -=-=-=- (Gast)


Lesenswert?

Ich glaube, dass hier viele das Erkennen von Sprache mit dem Erkennen 
des Sinnes eines gesprochenen Satzes/Textes verwechseln. Für Letzteres 
braucht man Rechenpower und möglichst viele Zusatzinformationen.
Wenn man zum Beispiel in der Stadt ist und Google nach dem nächsten 
Restaurant fragt, müssen auch Position, Öffnungszeiten und eventuelle 
Vorlieben bekannt sein. Diese Informationen sind aber nicht lokal 
sondern in der Cloud gespeichert, weil die Daten anderer in die 
Auswertung mit einfließen. Außerdem hilft jede Nutzung dieser Dienste 
bei der Verbesserung der persönlichen Suchergebnisse.

Wenn es nur um einfache Spracherkennung geht, reicht eine einfache 
Sprach>Text Software und eine Auswertung des Satzes.
zB:
Eine Suche nach Begriffen wie Licht, Rollo, Fenster, nicht, aus, an, 
runter, rauf, auf, ab, hoch, zu, neu, Kontakt, Termin, Zeit, löschen, 
speichern, ...

Eine Sprachsteuerung kann sich jeder auf einem Pi bauen, einen 
Assistenten nicht.

von C. A. Rotwang (Gast)


Lesenswert?

Joachim S. schrieb:

> Das mag in der Tat keineswegs nötig sein, wie Du sagst - aber dass es
> bei Alexa und Google Home so gemacht wird, beweist doch zumindest, dass
> eben auch dieser Ansatz (trotz der damit verbundenen Latenzen etc.) aus
> Nutzersicht sehr wohl praktikabel ist.

Was die Nutzer glauben und was Alexa und Google home in Praxis machen 
ist zweierlei. Wenn ich überschlagmäßig die pingzeiten zum amazonserver 
anschaue bspw. per http://www.cloudping.info/ bleibt nicht viel von den 
200ms an rechenzeit übrig die ein potenter numbercruncher zum 
beschleunigen des Netz-gerätes hat. Wenn man mehr Latenz akzeptiert, ok 
aber das ist dann keine natürliche Sprache mehr.

Im Sinner einer technisch effizienten und die Privatsphäre schützende 
Lösung sollte man Netzwerklösungen ausschliessen.Die Netzwerklösung 
istm.E. die technisch aufwendigere und mit deutlichen Kundennachteile 
verbundene. Wenn man die Spracherkennung nicht von den amazonserver 
lassen machen will, dann sollte man m.E. zuerst anStandalonelösungen 
denken.


> C. A. Rotwang schrieb:
>>> Alexa/Google Home tun meinem Verständnis nach aber doch genau das, und
>>> sind doch durchaus praktikabel?
>>
>> Das bezweifle ich, Alexa ist mit einem sehr potenten DSP ausgerüstet, es
>> spricht vieles dafür das die Internetverbindung für die Spracherkennung
>> nicht nötig ist.
>
> Aber in der Praxis machen Alexa und Google Home nun mal genau das: Nur
> das Aktivierungswort wird von der Alexa/Google Home-Hardware selbst
> erkannt, danach wird der Audiodatenstrom einfach an die
> Amazon/Google-Cloud durchgereicht und die eigentliche Spracherkennung
> geschieht dort.

Das bezweifle ich und es finden sich auch Funktionsbeschreibungen das 
Alexa die Spracherkennung soweit vor Ort betreibt, das nur noch ein 
kommando-String übrigbleibt, der dann weitergereicht wird.

Obwohl, aus Sicht von Amazon macht es schon Sinn sich die Aufzeichnung 
zuzusenden, auch wenn eine Erkennung im Gerät selber möglich ist:
-man bindet die Geräteapp andie Amazon-Webservices und verdient so an 
3rd party apps mit
-man kann aus dem recording Daten für ein Nutzerprofil ableiten 
(Geschlecht, Alter, Trunkenheit (lallfaktor ;-),lokale zugehörigkeit 
(Dialekt), Bildungsgrad (undeutliche Grammatik, falsche Wortbildung), 
Soziale Umgebung (Hintergrundgeräusche).

Insofern kann es auch sein das Amazon schon die Analyse daheim macht, 
obwohl es auch im Gerät möglich wäre. Es ist nicht immer die beste 
Lösung für den Kunden die auf dem Markt angeboten wird.


PS1:
Danke für die vielen Anregungen bis jetzt, ich kling mich aber aus 
diesem Thread aus un mich anderen Projekten zu widmen.

PS2: Hat zwar nichts mit technischen Aspekten zu tun, trotzdem ist 
dieses Alxa-thematisierende Video sehenswert ;-):
https://www.youtube.com/watch?v=kty0xCgIYjA

von guest...Rainer (Gast)


Lesenswert?

Hallo Leute, ich habe mir jetzt nicht alles durchgelesen, aber ich 
denke, dass man für so einen Anwendungsfall zwischen dem Training eines 
NN und dem eigentlichen Programm unterscheiden sollte. Trainieren kannst 
du locker auf einem PC mit Soundkarte und Micro. Wie du dann die 
Berechnungen mit den Koeffizienten-Matrizen auf einem Kontroller 
realisierst, ist eine ganz andere Frage. Natürlich brauchst du auch hier 
eine Rechenleistung, die etwas mehr als LED-Blinken kann, aber wie 
gesagt, die Aufgabe sollte auf jeden Fall geteilt werden!
Viel Spass, Rainer

von Wurstfresser (Gast)


Lesenswert?

Mir scheinen die wnigsten Poster hier eine Ahnung einer MAC Einheit in 
derem Kontext zu kennen. In einem DSP, resp einem DSP aenlichen 
controller ist eine MAC nicht einfach Multiply-Accumulate - fertig.
Nein. Das kann zB ein Arraypointer & Zaehler, DMA Kanal und eine MAC 
Einheit sein. Der sage ich 'da array', 'da zaehler', 'da DMA kanal' und 
der geht mit Multiply-Accumulate ueber das array, kostet mich keine 
weitere instruktion. Oder ich habe ein Koeffizienten-Array, das wird mit 
dem Daten Array, oder Datenstream Multiply-Accumuliert, ohne weiteres 
zutun. Ein groesserer DSP hat davon mehrere Einheiten, die parallel 
arbeiten koennen.

Ein blackfin (Analog Devices) kann vielleicht 800M MAC rechnen, mit 
16bit, 32bit, 16bit complex Einheiten.
Ein Sharc (Analog Devices) kann vielleicht 1800M MAC rechnen. Eine 1k 
Punkt FFT macht der in 5us.
Andere Hersteller von DSP schieben diese Zahlen nicht so in den 
Vordergrund.

Die Rechenleistung reicht ganz sicher fuer Spracherkennung on board in 
echtzeit.

von Joachim S. (oyo)


Lesenswert?

C. A. Rotwang schrieb:
>> Aber in der Praxis machen Alexa und Google Home nun mal genau das: Nur
>> das Aktivierungswort wird von der Alexa/Google Home-Hardware selbst
>> erkannt, danach wird der Audiodatenstrom einfach an die
>> Amazon/Google-Cloud durchgereicht und die eigentliche Spracherkennung
>> geschieht dort.
>
> Das bezweifle ich und es finden sich auch Funktionsbeschreibungen das
> Alexa die Spracherkennung soweit vor Ort betreibt, das nur noch ein
> kommando-String übrigbleibt, der dann weitergereicht wird.

Dann sind diese Funktionsbeschreibungen entweder falsch, oder schlecht 
bzw. missverständlich formuliert. Tatsache ist: Lediglich das Signalwort 
am Anfang ("Alexa"/"Computer"/whatever) wird lokal auf der 
Alexa-Hardware erkannt, der Rest der Audiodaten wird an die 
entsprechende Cloud weitergereicht und dort verarbeitet etc. Schon die 
Spracherkennung findet also in der Cloud statt. Ausser der Erkennung des 
Signalwortes leiten Alexa & Co. also relativ stupide nur 
Audio-Datenströme an die firmeneigenen Server weiter.

> Obwohl, aus Sicht von Amazon macht es schon Sinn sich die Aufzeichnung
> zuzusenden, auch wenn eine Erkennung im Gerät selber möglich ist:
> [...]

Eben, Google und Amazon sind aus diversen Gründen einfach so sehr an den 
Sprach-Samples interessiert, dass sie sich schon deshalb die 
Roh-Audio-Daten zusenden lassen und speichern. Selbst wenn die 
Spracherkennung völlig problemlos lokal auf den Alexa-Endgeräten möglich 
wäre: Irgendeine fadenscheinige Begründung würden die immer finden, 
warum Alexa & Co. stattdessen die Roh-Audio-Daten an die firmeneigene 
Cloud senden MUSS ;-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.