Forum: Mikrocontroller und Digitale Elektronik Hardware-Mindestanforderungen bei Spracherkennung


von Tessa von Tesla (Gast)


Lesenswert?

Hallo,

mit welcher Mindestanforderung an die Hardware muss ich rechnen, wenn 
ich eine 'rudimentäre' Spracherkennung in einem Embedded-Device 
realisieren will? Rudimentär heißt: Es sollen ein paar einfache Wörter 
bzw. Kommandos oder kurze Phrasen erkannt werden. Ein sematisches 
Sprachmodell, Ontologien oder sowas ist nicht erforderlich.

Die Erkennung sollte in Echtzeit oder zumindest mit Verzögerungen unter 
einer Sekunde erfolgen.

Das Training des Modells muss nicht unbedingt auf dem Device ablaufen, 
kann also z.B. auf einen PC ausgelagert werden. Eine integrierte Lösung 
wäre natürlich schon eine feine Sache.

Ich habe im Moment nur Erfahrung mit 8Bit Atmels, wäre aber bereit, mich 
auch in eine andere Architektur einzuarbeiten. Wären FPGAs eine gangbare 
Alternative?

Viele Grüße

von Marc P. (marcvonwindscooting)


Lesenswert?

Du hast Dich offensichtlich schon informiert. Also weisst Du was Du f"ur 
'ne Rechenpower brauchst und da ist embedded oder nicht doch 
irrelevant!?

Also wenn ich meine Kollegen so beobachte, dann hab ich das Gef"uhl dass 
aktuelle High-End Smartphones es immer noch nicht auf die Reihe 
bekommen...

von und (Gast)


Lesenswert?

Wie soll eine Spracherkennung denn vor sich gehen ? Eine Library 
herunterladen, die das kann ? Moeglicherweise. Dann mach das mal und 
schau dir die Anforderungen an. Falls du's selbst impementieren 
willst...
Was fuer ein Konzept soll denn verfolgt werden ? Eine Wavelet Transform 
und einen Match Algorithmus drueber laufen lassen ?

Ich denke da ist noch etwas Vorarbeit noetig.

von ●● pit ●. (Gast)


Lesenswert?


von Tessa von Tesla (Gast)


Lesenswert?

pit p. schrieb:
> https://github.com/arjo129/uSpeech

Interessant. Scheint ja doch was rauszuholen zu sein aus den kleinen 
Atmels. Danke für den Link.

von Tessa von Tesla (Gast)


Lesenswert?

pit p. schrieb:
> https://github.com/arjo129/uSpeech

Da sind doch sicher noch bessere Ergebnisse zu erwarten, wenn man einen 
Bandpass für Sprache davorschaltet.

von Frank K. (fchk)


Lesenswert?

Die gängigen sprecherunabhängigen Sprachsteuerungsalgorithmen möchten 
gerne einen 32 Bit DSP in der Größenordnung eines Blackfin oder TI C6000 
haben. Diese Algorithmen brauchen keinerlei Training und sind 
beispielsweise für Anwendungen in der Telekommunikation gedacht, wo der 
Spracherkenner möglichst mit jedem Anrufer funktionieren soll und 
keinerlei Training möglich ist. Oder die Steuerung in Automotive 
Anwendungen.

Bei den kommerziellen Lösungen ist Nuance inzwischen Quasi-Monopolist. 
Die haben alles in der Branche aufgekauft, was nicht bei 3 auf nem Baum 
war.

fchk

von ●● pit ●. (Gast)


Lesenswert?

Tessa von Tesla schrieb:
> Da sind doch sicher noch bessere Ergebnisse zu erwarten, wenn man einen
> Bandpass für Sprache davorschaltet.

keinen Schimmer, denke nicht das man da viel rausholen kann, am besten 
ein schlechtes Mikro benutzen :)

ich habe damit ein video-conferencing tool gebaut:

mit einem zweiten AVR und 4x Mics positioniere ich ein gestell mit einem 
iPad Mini dahin, wo es laut war, wenn ein Schlüsselwort gesprochen 
wurde. Klappt ganz gut, leider nicht im vollen Büro.

Ist eine Kombination aus dem bereits geposteten Link und dem hier:
http://coolarduino.wordpress.com/2012/10/01/sound-localization/

von Tessa von Tesla (Gast)


Lesenswert?

Die STM32F3-Serie scheint ganz interessant. Die hat schon 
DSP-Funktionalitäten integriert. Damit müsste man doch schon was 
ordentliches auf die Beine stellen können, oder?

von Christian B. (casandro)


Lesenswert?

Die Frage ist, was Du machen willst. Automatische Spracherkennung ist 
alles von so was:
http://www.youtube.com/watch?v=T35A3g_GvSg (übrigens kein Fake, den gab 
es früher wirklich, und nein, da saß keiner im Hintergrund und hat 
Knöpfe gedrückt)
bis hin zu sprecherunabhängiger Spracherkennung für große Vokabulare.

Zum Beispiel hat man in der Vergangenheit einfache Hüllkurvendetektoren 
verwendet. Damit kann man Wörter zählen, aber nicht unterscheiden. Oder 
man macht einen Hoch- und einen Tiefpass und misst dahinter die Zahl der 
Nulldurchgänge. Damit kann man Frikale von Vokalen unterscheiden. Für 
ein kleines Vokabular reicht das auch, und man kann es locker selbst in 
Hardware machen.

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.