Currently I have been working with speech recognition in java, and more or less have tried out sphinx where in I have been able to successfully get the word the person is trying to speak. So functionally I am trying to automate a software where in a person will speak, and my code will do the required action in java.

But what approach would be the best to do so. I need to evolve my code so that my code will train as and when it encounters more data, but that is still long. Currently how should I move on after I am done recognising the data.

For eg: launch the browser, here launch and browser are two keywords and it means I will have to invoke a method to launch the browser.

Which approach would be the best fit for me. I was planning to use drools rule engine, but any other suggestion better than this would be most welcome.

  • 2
    Are you asking how to do actions such as launching a browser, or are you asking how to develop a grammar which is convenient for your users to speak?
    – Cort Ammon
    Commented May 1, 2017 at 16:48
  • No considering I know how to do actions, but I just wanted an approach that how should I develop the logic of calling such methods doing actions after I have done recognising words.I know I can do it using if else logic, but what would a best approach?
    – log N
    Commented May 1, 2017 at 17:05
  • My recommendation would be to do the if/else logic for now, until you have more use cases. There's perhaps a few dozen different ways to handle dispatching commands like this, each with their own pros and cons. For example, there's a big difference between what you want for "launch firefox" and "open Excel" and "tell Excel: set text of current cell to 'hello world'" (the latter is phrased in apple-script notation to fit well with how AppleScript dispatched commands)
    – Cort Ammon
    Commented May 1, 2017 at 17:18


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.