Search code examples
nlpspeech-recognitionhtk

Building Jarvis like application for local languages


The jarvis application that is currently developed, is in English. I want to customize it to use local language. How to develop this kind of app for local languages? what kind of programming languages I must know to proceed to the development? I have tested the english version of the jarvis, it works well for me. How to attach the c# with HTK for the purpose of the development?


Solution

  • How to develop this kind of app for local languages?

    You don't need to develop from scratch, take existing software and build on it. For example you can consider https://github.com/jasperproject/jasper-client, it's pretty actively developed.

    what kind of programming languages I must know to proceed to the development?

    Most NLP libraries are in Python or Java. You also need shell scripting (awk/perl) experience because often models are built with Linux tools.

    For speech recognition it's easiest to use CMUSphinx, the tutorial to add your language to CMUSphinx is at http://cmusphinx.sourceforge.net/wiki/tutorialam.

    I have tested the english version of the jarvis, it works well for me. How to attach the c# with HTK for the purpose of the development?

    There are many ways for interoperability:

    1) C# can invoke HTK tools as binaries through Process.Start http://msdn.microsoft.com/en-us/library/system.diagnostics.process.start(v=vs.110).aspx

    2) You can build a library from HTK and invoke it with PInvoke through interop framework

    3) You can build a TCP or HTTP server with HTK tools and connect to this server from C# application to get speech recognition results.

    Overall, you could probably use existing solutions like mentioned above, they have all hard things implemented, you only need to configure your local language.