Microsoft Speech Recognition Custom Training

I wanted to create an application using Microsoft Speech Recognition.

It is expected that users of my application will often say abbreviated things, such as "LHC" for the "Large Hadron Collider" or "CERN". Given the exact order, my application will return

You said: At the age of C.

You said: cern

While this worked for CERN, for “LHC” it ​​did not work out well.

However, if I could create my own training files, I could easily place the term “LHC” somewhere there. Then I could force the user to access the speech control panel and run my training file.

All the links I found for this were useless because they just say things like "This is ----, you should try going to the forum ----".

If this helps, here is a list of links:

http://compgroups.net/comp.speech.users/add-my-own-training/153194

https://groups.google.com/forum/#!topic/microsoft.public.speech.server/v58SH1ov22s

http://social.msdn.microsoft.com/Forums/en/servercorefordevelopers/thread/f7a35f3f-b352-464a-b264-e16eb4afd049

Is my problem even possible? Or the training files themselves in a special format? If so, can this format be played back?

A solution that could also work on Windows XP would be ideal.

Thanks in advance!

PS If there are any libraries or modules for this, can someone tell me some? A Python or C / C ++ solution would be great. Also, since I would rather not ask another question regarding this, is it possible to use utilities for trains from the command line (or without a visible GUI, but still having the full command of all controls)?

+4
source share
1 answer

Well, pulling this out of a thing I wrote three or four years ago , but I think you want to do something like this.

A grammar library is a learning system that can recognize words. You can create your own grammar library, tied to specific words.

C # sorry

using System.Speech using System.Speech.Recognition using System.Speech.AudioFormat SpeechRecognitionEngine sre = new SpeechRecognitionEngine(); string[] words = {"LHC", "CERN"}; Choices choices = new Choices(words); GrammarBuilder gb = new GrammarBuilder(choices); Grammar grammar = new Grammar(gb); sre.LoadGrammar(grammar); 

This is how much I can help you. From the docs, it looks like you are somehow defining a pronunciation. Thus, perhaps in this way you could match the LHC with one word. Here are the documents for the grammar class - http://msdn.microsoft.com/en-us/library/system.speech.recognition.grammar.aspx

A small update - see an example in your docs here http://msdn.microsoft.com/en-us/library/ms554228.aspx

+2
source

Source: https://habr.com/ru/post/1414481/


All Articles