1

I was trying to learn and work with a Speech Recognition application, Searched and searched for too long, Found many useful information and guides..

Finally i found and used this project : HERE

It worked perfectly, until i tried with Some Noisy background samples..

I tried to add a custom Grammar along with Dictation , tried using Custom Grammar only, but still get same result (or worse)..

_speechRecognitionEngine.LoadGrammar(_dictationGrammar);
        _speechRecognitionEngine.LoadGrammar(new Grammar(new GrammarBuilder(new Choices("a", "b", "c",
            "d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u",
            "v","w","x","y","z","please","type","the","letters","you","hear"))) { Name = "NewGrammar" });
        _speechRecognitionEngine.RecognizeAsync(RecognizeMode.Multiple);

Always same result : Please Type The Letters You Hear its staff..

any letters always result : its staff.

So, is there any way to Reduce the background Noise? or edit the WAV sample?

and a newbie question : is it possible to use some audio sample as Choice? (read it in bytes then compare or whatever).

Audio Sample to test : Audio Sample

Correct Result for this sample Should be : Please Type The Letters You Hear H C D V A.

Dr.Vision
  • 85
  • 1
  • 5
  • 14
  • a comment with a little explanation would be better than Voting down !! Thanks. – Dr.Vision Oct 09 '14 at 10:21
  • Can you check the sample you provided? I can't hear it properly, and this is the output of `soxi` run on it: "soxi FAIL formats: can't open input file `HCDVA.wav': WAVE: RIFF header not found" – lCapp Oct 10 '14 at 15:15
  • I Used Spectro and got These Values : Sample Rate: 22KHz Channels: 1 Bits Per Sample: 16 Size: 0.27MB Average Bitrate: 353kbps .... – Dr.Vision Oct 11 '14 at 02:59
  • I'm sorry i really don't have any experience in working with Audio files. – Dr.Vision Oct 11 '14 at 03:00
  • PROGRESS : Using Audacity, 1- select the part that's silent except for the noise, Then choose Effect > Noise Removal and click "Get Profile". 2-Apply Noise Removal Twice. Then Exported the new audio file to test with Speech Recognition Project. Result : Please type letters you hear a CDV 8 (a CDV 8 = H CDV A) almost 80% Success.. any idea how to do this Noise Removal in C# code?!! – Dr.Vision Oct 11 '14 at 18:14
  • Any Help?! Anyway to remove Background Noise Programmatically ? – Dr.Vision Oct 14 '14 at 16:11

1 Answers1

0

I'm exploring a similar problem. You could filter the file in question through another application that had a noise removal feature and a scripting or command line mode (such as Audacity's or Sox). Those could be called from a C# program using the Process class.

Alternately, there is a commercially licensed .NET library for this purpose https://visualstudiogallery.msdn.microsoft.com/53d1f3fc-44d2-4a53-8211-99ca4b70536d.

Community
  • 1
  • 1
jonnybot
  • 2,435
  • 1
  • 32
  • 56