2013-09-29 15 views
8

Örneğin "Merhaba George" diyerek bir android telefon uyandırmak istiyorum, ancak herhangi bir yararlı cevap bulamadım. Her şeyden önce, bu uygulama için arka planda hizmet olarak dinlemek için android uygulaması ihtiyacı var? Bu sorunu nasıl uygulayacağını bilen veya herhangi bir ipucu varsa, çok memnun olurum.Hi Galaxy veya Ok Google gibi belli kelimelerle android telefonu uyandırın

Saygılarımızla Ne istediğini çok benzer bir şey yapar Açık Mic + http://OpenMic.RSenApps.com, geliştiricisi olduğum size

+2

'sesli komutla uyanmak' bir özelliğidir

Dinleme basittir, bir tanıyıcı oluşturabilir ve sadece kelime yakalama arama eklemek Cihaz bekleme modundayken ses komutunu dinlemek için özel bir CPU kullanan Moto X, büyük pil tüketimini önlemek için. Bu özelliği iyi yapmak için kendi cihazınızı ve özel ROM'unuzu oluşturmalısınız. –

cevap

7

Hi ederiz. Gerçek şu ki, bu sesler göründüğünden çok daha karmaşık ve ben sadece gerçekten verimli olan sistemleri uygulamaya başlıyorum. Yani sanırım ana şey ne kadar gitmek istiyorsun? Google Speech Recognition'ı uygulayabilirsiniz, ancak sonunda, buggy çok yorucu ve gerçekten uzun vadede işe yaramıyor ya da kendi konuşma tanıma yeteneğinizi uygulayabiliyorsunuz, işte yaptığım şey budur ...

3

CMUSphinx, yakın zamanda Android platformunda sürekli dinleme gerçekleştirdi. Demoyu wiki sayfasında bulabilirsiniz

Dinlemek için bir veya daha fazla anahtar sözcüğü yapılandırabilirsiniz, varsayılan anahtar kelime "oh mighty computer" dır. Ayrıca algılama eşiğini de yapılandırabilirsiniz. Şu anda desteklenen diller ABD İngilizcesi ve diğer birkaç tanesidir (Fransızca, İspanyolca, Rusça, vb.). Kendi modelinizi dilinize göre eğitebilirsiniz. bir dinleyici

recognizer = defaultSetup() 
     .setAcousticModel(new File(modelsDir, "hmm/en-us-semi")) 
     .setDictionary(new File(modelsDir, "lm/cmu07a.dic")) 
     .setKeywordThreshold(1e-5f) 
     .getRecognizer(); 

recognizer.addListener(this); 
recognizer.addKeywordSearch(KWS_SEARCH_NAME, KEYPHRASE); 
switchSearch(KWS_SEARCH_NAME); 

ve tanımlar::

@Override 
public void onPartialResult(Hypothesis hypothesis) { 
    String text = hypothesis.getHypstr(); 
    if (text.equals(KEYPHRASE)) 
     // do something 
} 
İlgili konular