0

I'm learning on Speech recognition. I'm using System.Speech

this is the code:

var currentCulture = (from r in SpeechRecognitionEngine.InstalledRecognizers()
                              where r.Culture.Equals(Thread.CurrentThread.CurrentCulture)
                              select r.Culture).FirstOrDefault();

        recognizer = new SpeechRecognitionEngine(currentCulture);

I get currentCulture equals to null, since in debug I get SpeechRecognitionEngine.InstalledRecognizers().Count is equal to 0.

I found this question: SpeechRecognitionEngine.InstalledRecognizers returns No recognizer installed

He says he solved using Microsoft.Speech instead of System.Speech.

I searched in Reference->add reference->assembly, I don't find Microsoft.Speech. Tried Nuget Package Manager searching Microsoft.Speech, but not found it.

Googling I found MSI package to install Microsoft.Speech here: https://www.microsoft.com/en-us/download/details.aspx?id=27225

Restarted my machine, still I searched in Reference->add reference->assembly, I don't find Microsoft.Speech.

Now my doubts are:

  1. System.Speech Vs Microsoft.Speech differences
  2. How to install recongnizers for System.Speech, if it fits better.
  3. How to add reference to Microsoft.Speech
  4. How to use Microsoft.Speech, if it fits better, maybe the code to use will be

different.

Falco
  • 1,458
  • 3
  • 19
  • 47
  • 1
    If you want Italian from System.Speech then you have to [buy the voice](https://superuser.com/questions/1020849/get-more-microsoft-text-to-speech-voices). Everything you need to know about Microsoft.Speech is in the download details. Key points is that it only runs on a server machine and that the SDK you need is a separate download. – Hans Passant Feb 10 '19 at 11:09

1 Answers1

2

See What is the difference between System.Speech.Recognition and Microsoft.Speech.Recognition?

Versions of desktop Windows starting with Vista shipped with a recognizer that implements System.Speech. These are "desktop" recognizers. They can be trained for a specific speaker, can support higher quality audio than phone calls, and provide a dictation grammar.

Micorosft.Speech is a similar, but different, API that provides "server" recognition features. It is a separate download. See "Microsoft Speech Platform - https://www.microsoft.com/en-us/download/details.aspx?id=27225. Server recognition allows higher performance, is expected to be used by multiple users (like in phone systems), and it does not require training.

Michael Levy
  • 13,097
  • 15
  • 66
  • 100