Android: Implementierung Sprach-/Sprecherkennungungskomponente für eigene Apps

  • Antworten:11
Stefan K
  • Forum-Beiträge: 12

12.08.2011, 10:43:50 via Website

Hallo,

hat hier vielleicht jemand in diesem Bereich Erfahrung gesammelt?
Bei meiner Recherche bin ich auf folgende OpenSource Frameworks gestoßen:

- Sphinx4:
leicht umsetzbar, läuft aber nicht auf android

- Pocketsphinx:
soll angeblich laufen, aber wie habe ich noch nicht herausgefunden

- Java Speech API:
die Packages stehen für alle Plattformen zur Verfügung, aber wie man damit
eine taugliche Sprecherkennung für ein paar wenige Keywords schreiben
soll ist mir leider noch ein Rätsel.

Bitte teilt mir eure Erfahrungen und Meinungen mit.

Viele Grüße,
Stefan

Antworten
Stefan K
  • Forum-Beiträge: 12

12.08.2011, 13:09:12 via Website

Hey, ja danke. Das ist ein guter Tipp!!! Das Ganze ist aber eine Online Variante oder?
Ist nicht schlimm, wäre nur mal gut zu wissen. Der reine Offlinebetrieb wäre zwar perfekt,
aber wenn es anders nicht geht, dann ist es auch nicht schlimm.

Pocketsphinx wäre offline betreibbar, aber man muss es förmlich in das Android reinwürgen,
bis es läuft. Das macht es mir dann doch eher unsympathisch. Dazu muss man noch eigene
Akustikmodelle und Wörterbücher für die deutsche Sprache erstellen. (Sprich: Man muss
jedes einzelne Wort einpflegen. Also es kann viel Arbeit sein).

Ich werde jetzt mal meine erste einfache Steuerungsapp mit Google Voice Search erstellen
und dann poste ich hier mal mein Fazit...

Ansgar M

Antworten
Gelöschter Account
  • Forum-Beiträge: 281

12.08.2011, 15:10:00 via Website

Ja, ist definitiv online - die Sprache wird lokal aufgezeichnet, an Google-Server gesendet und du bekommst eine Liste mit möglichen Treffern / erkannten Strings zurück.

Antworten
Ibrahim Armac
  • Forum-Beiträge: 1

26.08.2011, 14:30:06 via Website

Hallo zusammen,

kennt Ihr auch schon das Nuance Mobile Developer Program (NMDP)?

http://nuancemobiledeveloper.com/welcome/Site/NMDP.html

Es ermöglicht eine sehr einfache Integration von Text-to-Speech und Speech-to-Text in mobile Apps, sowohl fürs iOS als auch für Android.

Dahinter steckt die Nuance Dragon-Technik, die Ihr vielleicht bereits kennt. Es unterstützt mehrere Sprachen, ein Einblick lohnt sich.

Viele Grüße,
Ibrahim (Nuance)

Antworten
Stefan K
  • Forum-Beiträge: 12

12.09.2011, 17:32:59 via Website

Hallo Ibrahim,
erst mal danke für den Tipp. Aber bislang habe ich erst mal nur versucht die google Sprachsuche auszuprobieren.
Leider bisher ohne Erfolg. Denn wie zum Teufel bekomme ich die "google Sprachsuche" auf meinem virtuellen Android Device
nachinstalliert?

Meine Schritte:

- Über den SDK Manager starte meine virtuelle Android Maschine (Version 2.2.1)
- Über den Web-Browser öffne ich die Seite "https://market.android.com" und suche die "Google Sprachsuche"
- Danach logge ich mich mit meinem einzigen google Account ein
- Und dann sehe ich, dass diese Mail Adresse nur mit meinem echten Android Smartphone verknüpft ist und ich somit
diese nicht in meiner virtuellen Maschine nachinstallieren kann.
- Jedes mal mein so schon langsames Handy zum Testen der Software zu verwenden finde ich total kompliziert.

@Thomas: Kannst du mir da vielleicht mal einen Tipp geben, wie du an das ganze herangegangen bist? Meine Android Entwickler-Erfahrungen
sind da leider noch zu gering. Das Entwickeln selbst ist wahrscheinlich mal wieder ganz einfach. Aber die vorab Konfiguration macht mich echt wahnsinnig... :D

Viele Grüße,
Stefan Kornet

Antworten
San Blarnoi
  • Forum-Beiträge: 2.545

13.09.2011, 09:39:10 via Website

Denn wie zum Teufel bekomme ich die "google Sprachsuche" auf meinem virtuellen Android Device
nachinstalliert?

Mal nachdenken:
- Woher kennt der Web-Market dein Handy? Genau, weil du dich da mit dem Market auf deinem Handy angemeldet hast.
- Hast du das auch mit dem Emulator getan? Genau, das kannst du nicht, weil der Emulator keinen Market enthält.
=> Mit dem Standard-Emu bekommst du das gewünschte Paket aus dem Maket gar nicht installiert.

Optionen:
a) im Internet gibt es Anleitungen zum Aufsetzen eines Emulators mit integriertem Market
b) das Paket läßt sich vermutlich auf dein Phone herunterladen, von wo du ein Backup auf die SD machen kannst und von dort wiederum läßt sich das .apk auf den Emu transportieren


Jedes mal mein so schon langsames Handy zum Testen der Software zu verwenden

Dein Handy ist langsamer als der Emu? :huh:
Dann isses kaputt :grin:


finde ich total kompliziert.

Was genau ist daran kompliziert?
Debugging und Fremdquellen aktivieren, per USB anstöpseln und sofort loslegen;
beim Emu musst du jeweils warten, bis der endlich fertig gestartet ist, und das auch gerne mehrfach, weil der sich auch mal einfach als Gerät ausblendet - von der Geschwindigkeit der Emulation mal gar nicht angefangen.

Antworten
Stefan K
  • Forum-Beiträge: 12

13.09.2011, 16:54:58 via Website

Hallo,
danke erneut für die schnelle Antwort. Ich habe es jetzt endlich hinbekommen meinen USB-Treiber für mein LG p350 zu inastallieren, sodass
ich jetzt direkt aus Eclipse heraus auf dem Handy debuggen kann. Nachdem ich mir allerdings beim ersten Versuch meine Win USB Treiber
zerschossen hatte und ich schon kurz vor einer Neuinstallation war, habe ich dann da eine Lösung gefunden: infcache löschen, treiber löschen
und Neustarten. Dann die Handy USB-Treiber neuinstalliert und jetzt läuft alles wie astrein. Durchatmen... :)

@and dev: Jetzt wo alles klappt, sehe ich ein, dass es vieeeeeel einfacher ist direkt auf dem Handy zu debuggen. Ich denke jetzt muss ich
mich mal genauer mit der google Sprachsuche befassen und schauen, wie man sie implementiert. Das Beispielprogramm werde
ich jetzt testen und dann wird das hoffentlich alles unproblematischer.

Vielen Dank für die Unterstützung.

Stefan

Antworten
Stefan K
  • Forum-Beiträge: 12

13.09.2011, 17:05:55 via Website

So, das Beispielprogramm:

http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/VoiceRecognition.html

wird unerwartet beendet, wenn ich es auf meinem Gerät teste. Das gleiche passiert leider in in der virtuellen Android Device.

Fehlermeldung:

"Tut uns leid!
------------------------------------
Die Anwendung <applicationname> (Prozess <packagename>) wurde unerwartet beendet.
Versuchen Sie es erneut."

Antworten
Stefan K
  • Forum-Beiträge: 12

13.09.2011, 17:43:58 via Website

Okay, ich bin wieder schlauer:

nachdem ich den android.util.Log eingebaut habe, konnte ich erkennen, dass die App nach folgender Aktion
abfliegt:

setContentView(R.layout.voice_recognition);


Die XML sieht wie folgt aus:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">

<Button
android:id="@+id/btn_speak"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Speak!"
/>


<View
android:id="@+id/list"
android:text="view content"
/>

</LinearLayout>

Antworten
Stefan K
  • Forum-Beiträge: 12

13.09.2011, 18:09:47 via Website

jaaaaaa, es läuft.

View war natürlich völliger Käse. Eine Listview war hier erwünscht. Die Testapp läuft. Die Sprachsuche funktioniert und es werden
die richtigen Wörter gefunden.

Danke für die Hilfen und für die Inspiration.

Stefan

Antworten
San Blarnoi
  • Forum-Beiträge: 2.545

13.09.2011, 19:54:00 via Website

Jetzt wo alles klappt, sehe ich ein, dass es vieeeeeel einfacher ist direkt auf dem Handy zu debuggen.
:grin:


nachdem ich den android.util.Log eingebaut habe, konnte ich erkennen, dass die App nach folgender Aktion abfliegt
...und beim nächsten mal wenn sowas passiert, schaust du einfach direkt ins LogCat, statt deinen Source erst mit Testausgaben zu pflastern - geht schneller und ist genauer :bashful:

Antworten