摘要:public static extern int QISRBuildGrammar([MarshalAs(UnmanagedType.AnsiBStr)] string grammarType, [MarshalAs(UnmanagedType.AnsiBSt
前面简单摸索了一下语音唤醒;今天继续分享关于离线命令词的效果,如下图:
2、识别我们用到的方法:
[DllImport("msc", CallingConvention = CallingConvention.StdCall)]public static extern IntPtr QISRSessionBegin(string grammarList, string _params, ref int errorCode);[DllImport("msc", CallingConvention = CallingConvention.StdCall)]public static extern int QISRAudioWrite(IntPtr sessionID, byte waveData, uint waveLen, AudioStatus audioStatus, ref EpStatus epStatus, ref RecogStatus recogStatus);[DllImport("msc", CallingConvention = CallingConvention.StdCall)]public static extern IntPtr QISRGetResult(IntPtr sessionID, ref RecogStatus rsltStatus, int waitTime, ref int errorCode);[DllImport("msc", CallingConvention = CallingConvention.StdCall)]public static extern int QISRSessionEnd(IntPtr sessionID, string hints);3、开始录音识别:
/// /// 开始录音/// public void StartRecording{ if (waveIn != ) { waveIn.Dispose; waveIn = ; } if (waveIn == ) { waveIn = new WaveIn; waveIn.WaveFormat = new WaveFormat(SampleRate , BitDepth, ChannelCount); waveIn.BufferMilliseconds = BufferTime; waveIn.DataAvailable += (sender, e) => { OnDataReceived (e.Buffer, e.BytesRecorded); }; } waveIn.StartRecording;}4、识别的流程:
5、分析识别结果:
最终简单的效果先这样吧
;
以后有时间的话,可以再去摸索一下更复杂的效果
;编程不息、Bug不止、无Bug、无生活;
改bug的冷静、编码的激情、完成后的喜悦、挖坑的激动 、填坑的兴奋;这也许就是屌丝程序员的乐趣吧;今天就到这里吧;希望自己有动力一步一步坚持下去;生命不息,代码不止;大家抽空可以看看今天分享的效果,有好的意见和想法,可以在留言板随意留言;我看到后会第一时间回复大家,多谢大家的一直默默的关注和支持!来源:opendotnet
免责声明:本站系转载,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本站联系,我们将在第一时间删除内容!