How to use Speech recognition ?


I’m currently working on how to use Speech recognition.
Having googled all this day, I found many libraries such as :

  • Microsoft Speech API (SAPI) => Windows
  • CMU Sphinx (PocketSphinx) => Cross platform (written in C)
  • They love games’ pluggin (Doesn’t work well) => Cross platform
  • Google Web Speech API (Online) => Online devices, webplayer
  • Google Speech API => Android

(And other like SILVIA, but it seems (very) expensive… …List of speech recognition software - Wikipedia)

To begin with, I’m trying to test the SAPI one, but System.Speech is not available in the Mono version. I tried to find the library dll or a similar project…

If you know other libraries or packages, or even theorical documentation to code that (last resort ^^'), I’d be very grateful :slight_smile:

My goal is to compare an AudioClip (registered with Microphone class) with 3 other AudioClips to get the one that must be the correct sentence (or ‘not understood’) : the problem is I don’t know if it’s possible to do a quick check or if I must use speech recognition.

Thank you for your help,


Edit : errors (within lib names :p)

Edit 2 : I have a simple solution (I don’t like) : don’t use unity to do the speech recognition.

  • do it in another process => Not web player, depends on the device.
  • or use a server => For online devices.

Edit 3 : correction (english syntax error :p)

Edit 4 : pocketsphinx is cross platform

There is a speech kit in the Asset Store which I tried but had no luck with. I would look into using SAPI on Windows or Google on mobile/web, I think those are the best bet.

CMU SPHINX (PocketSphinx, OpenEars) seems to be best solution but someone have to make a plugin or module for Unity. I think about creating a group of developer for that work for Unity.