语音识别WAV To String
2013-01-10 16:17
579 查看
由于项目需要在网上找了好多,修改下,下面是个样例,大家看下
这个是测试可用的
using System; using System.Collections.Generic; using System.Text; using DotNetSpeech; using System.Threading; namespace TestSpRecognize { class Program { static void Main(string[] args) { WavToCaption obj = new WavToCaption(); obj.openWAV(); } } class WavToCaption { private SpInProcRecoContext m_wavRecoContext; private ISpeechRecoGrammar m_Grammar; private SpFileStream m_infile; public WavToCaption() { SpInprocRecognizer recognizer = new SpInprocRecognizer(); m_wavRecoContext = (SpInProcRecoContext)recognizer.CreateRecoContext(); m_wavRecoContext.RetainedAudio = SpeechRetainedAudioOptions.SRAORetainAudio; m_infile = new SpFileStreamClass(); m_infile.Format.GetWaveFormatEx(); } public void openWAV() { m_Grammar = m_wavRecoContext.CreateGrammar(0); m_Grammar.DictationLoad("", SpeechLoadOption.SLOStatic); //register an event handler everytime the engine recognizes something from teh file m_wavRecoContext.Recognition += new _ISpeechRecoContextEvents_RecognitionEventHandler(RecoContext_Recognition); //register an event handler when the engine is done reading the file m_wavRecoContext.EndStream += new _ISpeechRecoContextEvents_EndStreamEventHandler(RecoContext_EndRecognition); //try to open the file try { m_infile.Open(@"c:\1.wav", SpeechStreamFileMode.SSFMOpenForRead, false); Console.Out.WriteLine("Succesfully opened file"); } catch (Exception e) { Console.Out.Write("Could not find file"); return; } //this makes it so the engine recognizes we're reading in from a wav, vs. a microphone m_wavRecoContext.Recognizer.AudioInputStream = m_infile; //starts reading the file here m_Grammar.DictationSetState(SpeechRuleState.SGDSActive); Console.ReadKey(); } void RecoContext_Recognition(int StreamNumber, object StreamPosition, SpeechRecognitionType RecognitionType, ISpeechRecoResult Result) { //Result.PhraseInfo.GetText(0, -1, true); Console.Out.Write("recognized something"); Console.ReadKey(); } void RecoContext_EndRecognition(int StreamNumber, object StreamPosition, bool f) { m_infile.Close(); m_Grammar.DictationSetState(SpeechRuleState.SGDSInactive); } }
这个是测试可用的
相关文章推荐
- LINQ to Entities 不识别方法 System.String get_Item(System.String)
- LINQ to Entities 不识别方法“System.String ToString()”,因此该方法无法转换为存储表达式。
- Linq LINQ to Entities 不识别方法“System.String ToString(System.Object)”
- LINQ to Entities 不识别方法system.string的处理
- 微信小程序语音识别开发过程记录 微信小程序silk转mp3 silk转wav 以及ffmpeg使用 微信小程序语音红包
- 【福分系统】 LINQ to Entities 不识别方法“System.DateTime ToDateTime(System.String)”,因此该方法无法转换为存储表达式。
- java 微信小程序 语音识别成文字 音频格式转换 silk pcm wav
- LINQ to Entities 不识别方法“System.String ToString()”,因此该方法无法转换为存储表达式。
- LINQ to Entities 不识别方法“System.String ToString(System.String)”因此该方法无法转换为存储表达式
- LINQ to Entities 不识别方法“Int32 ToInt32(System.String) 或 “Int32 Parse(System.String)”
- LINQ to Entities 不识别方法“System.String ToString()”,因此该方法无法转换为存储表达式。
- LINQ to Entities 不识别方法“Boolean IsNullOrWhiteSpace(System.String)”
- LINQ to Entity 不识别方法“System.String ToString()”,因此该方法无法转换为存储表达式。
- “LINQ to Entities 不识别方法"System.String ToString()",因此该方法无法转换为存储表达式。”
- LINQ to Entities 不识别方法“Boolean IsNullOrWhiteSpace(System.String)”
- LINQ to Entities 不识别方法“System.String ToString()”,因此该方法无法转换为存储表达式。
- LINQ to Entities 不识别方法system.string
- Linq中int转String(解决LINQ to Entities 不识别方法"System.String ToString()",因此该方法无法转换为存储表达式.)
- LINQ to Entities 不识别方法"System.String ToString()"
- LINQ to Entities 不识别方法“System.String ToString()”,因此该方法无法转换为存储表达式。