Spracherkennungslibary die ständig zuhört

Also wenn ich deine App starte und sie nicht vorher eingetragen habe wird beim click auf start die Standard Einrichtung gestartet.

Wenn eingetragen wird deine TestInteractionActivity getartet.
Wie macht du dann weiter?

Durch was welche Aktion wird den dein
MainInteractionService aufgerufen?
 
Direkt nachdem man das in den Einstellungen ausgewählt hat. Dann müssten die Toasts davon erscheinen. Warscheinlich hört das ja dann im Hintergrund nach dem Hotword.
 
ok der toast kommt. aber was macht du in der Methode "nichts" Log und Toast mehr nicht.
 
Oh ja du müsstest in onReady Folgenden Code mal aus den Kommentaren rausmachen.

Code:
mHotwordDetector = createAlwaysOnHotwordDetector(
                "Hallo", Locale.GERMAN, mHotwordCallback);

Außerdem wenn du einfach mal "Ok Google" sagst sieht man dass was versucht wird zu starten aber dann wieder abstürzt.

Also der Code soll halt ein neues Hotword setzen. Das funktioniert halt nicht.
 
Also der Code soll halt ein neues Hotword setzen. Das funktioniert halt nicht.

Und ich hatte dir bereits anfangs erklärt , dass du damit nicht das "Ok Google" hotword ersetzen kannst,
da "ok/hey Google" Bestandteil des Kernels ist
 
und was genau macht der Code dann? Setzt der ein neues Hotword?
Also das man das noch zusätzlich verwenden kann?
[doublepost=1556356319,1556355896][/doublepost]Ich versteh halt allgemein nicht warum selbst "Ok Google" nicht funktioniert.
 
Nein, der Code reagiert lediglich auf "OK Google" oder Hometaste und übergibt Dir bei richtiger Anwendung deine Sprachauswertung an die APp als ASCII zurück. - Mehr nicht.

Für einen Ersatz von "OK Google" musst du - wie bereits Anfangs erklärt - eine eigene Sprach-Library , die kontinuierlich
in einem Service auf das Mikrofon zugreift und PCM auswertet.
"Ok Google" wird dann eliminiert ..
Dieser Service benötigt dringend einen Heartbeat , damit der Garbage-Collector deinen Service nicht von sich aus beendet.

Das hat allerdings den Nachteil , dass du innerhalb des Services auf den PID-Tree reagieren musst und diesen Service pausierst,
da manche Apps nun mal das Mikrofon wieder benötigen
(Telefon, Whatsapp, Memo etc etc)

https://play.google.com/store/apps/details?id=de.itedahlheimer.another_keyword_test

Und da das Ganze nicht auf allen Devices läuft , gibt es seit zwei Jahren nur noch die Demo-Version
 
Ah ok.
Man kann sich ja auch Alexa oder Cortana auf Android downloaden.
Machen die das dann auch so?
[doublepost=1556356701,1556356645][/doublepost]
swa00 schrieb:
Dieser Service benötigt dringend einen Heartbeat , damit der Garbage-Collector deinen Service nicht von sich aus beendet.
Was genau meinst du mit Heartbeat hast du da ein Beispiel?
 
Was genau meinst du mit Heartbeat hast du da ein Beispiel?

Android beendet von sich aus Apps und Services - Das ist die eigenschaft von Android und ist so gewollt
programmiert.

Bei einen 24/7 Service musst du dich selbst darum kümmern , dass dieser Service bei Beendigung wieder selbst gestartet wird.

Reine 24/7 Services, wie z.b. FCM sind bereits im Kernel beinhaltet ( Linux c/C++ daemon)
 
Ok dann funktioniert das doch nicht so wie ich gedacht hab.
Ich hab halt bisher ein Homescreenwidget mit einem Button der die Activity aufruft.
Ich wollte die Sprachsteuerung eigentlich triggern ohne dass man da irgendwas am Handy machen muss.
 
Schau dir die demo von oben an , dann weisst du was machbar wäre - mehr nicht

Ok dann funktioniert das doch nicht so wie ich gedacht hab.

Wenn du meinen Anfangs-Post aufmerksam gelesen hättest , dann wäre das Ganze hier nicht notwendig gewesen :)
 
Ok ich schaus mir mal an gibts da villeicht auch ein paar Codebeispiele?
 
Sorry für meine Hartnäckigkeit aber das Stückchen Code hat mich neugierig gemacht.
Code:
mHotwordDetector = createAlwaysOnHotwordDetector(
                "Hallo", Locale.GERMAN, mHotwordCallback);
Was genau soll das?

Und mit der Pocketsphinx Libary hab ich auch schon bissle was gemacht. Der erkennt aber auch des Wort wenn ich was anderes sag.

Ah und hättest du da villeicht ein Wörterbuch auf Deutsch dafür?
 
Dies ist die Erweiterung NACH Ok-Google oder wenn bereits Hotkey getriggert ist
(Also deine app oder der user hat bereits den assists gestartet)

VoiceInteractionService | Android Developers

Es triggert einen Hotkey, wie es derzeit z.b. bei IFTT verwendet wird.
Bsp : Licht, Rolladen,

Auch wird es für die Zuweisung verwendet :
Bsp : "Mach das Licht im Wohnzimmer an" = "Die Banane ist grün"

[doublepost=1556358777,1556358185][/doublepost]
Ah und hättest du da villeicht ein Wörterbuch auf Deutsch dafür?

CMU Sphinx - Browse /Acoustic and Language Models at SourceForge.net

Das ist allerdings nicht wirklich in Deutsch zu gebrauchen , ich habe dazu meinen eigenen Modelle erstellt.
Englisch ist ganz gut gelungen

Der erkennt aber auch des Wort wenn ich was anderes sag.
Richtig , deshalb musst du zusätzlich einstellbare Hi/Low Filter verwenden - Jedes Mikrofon arbeitet anders
und besonders mindestens zwei Wörter - besser drei - als Match
 
Zuletzt bearbeitet:
Ok dann muss der User die App halt anders triggern.
Man könnte theoretisch auch Google sagen das er die App starten soll.

Vielen vielen Dank für eure Hilfe. Soche Leute wie euch sollte es echt öfters geben.
 
Dann möchten wir Dich allerdings in Zukunft bitten , die Posts von uns genauer zu lesen.

Wir helfen ja gerne , aber stundenlang nach einem Fehler zu DRITT zu suchen,
nur weil du mit dem Kopf durch die Wand willst, ist nicht gerade motivierend :)

Wir opfern ja unsere Freizeit auf freiwilliger Basis
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Oli95 und jogimuc
@swa00 und @jogimuc das schätze ich auch sehr.
Vielen Dank dafür
 

Ähnliche Themen

A
Antworten
3
Aufrufe
674
swa00
swa00
K
Antworten
1
Aufrufe
796
swa00
swa00
OnkelLon
Antworten
7
Aufrufe
1.187
thomaspan
thomaspan
Zurück
Oben Unten