Kinect开发笔记之二——语音识别
来源:互联网 发布:linux命令行 删除 编辑:程序博客网 时间:2024/06/13 19:49
个人觉得Kinect的语音识别还是做得不错的,不过支持的7国语言居然没有汉语,所以只能用英语了。其实Kinect的demo里面有一个语音识别的demo,是控制一只龟运动的,所以我也没必要在说太多了,只是稍微说一些注意地方好了。
1、无论是安装sdk好,还是runtime platform最好下一步到底,不要改路径了,装C盘就C盘就是了。
2、如果你想除了语音识别,还想TTS朗读的话,建议不要用微软建议的Microsoft Speech Platform 11,是朗读不出声的,我用的是win10,用VS2013 自带的sdk8.1就行了。
3、下面的就是关键代码:
void SpeechThread::ProcessSpeech(){ const float ConfidenceThreshold = 0.3f; //阈值,大一点就准确一点 SPEVENT curEvent = { SPEI_UNDEFINED, SPET_LPARAM_IS_UNDEFINED, 0, 0, 0, 0 }; ULONG fetched = 0; HRESULT hr = S_OK; m_pSpeechContext->GetEvents(1, &curEvent, &fetched); while (fetched > 0) { switch (curEvent.eEventId) { case SPEI_RECOGNITION: if (SPET_LPARAM_IS_OBJECT == curEvent.elParamType) { // this is an ISpRecoResult ISpRecoResult* result = reinterpret_cast<ISpRecoResult*>(curEvent.lParam); SPPHRASE* pPhrase = NULL; hr = result->GetPhrase(&pPhrase); if (SUCCEEDED(hr)) { if ((pPhrase->pProperties != NULL) && (pPhrase->pProperties->pFirstChild != NULL)) { const SPPHRASEPROPERTY* pSemanticTag = pPhrase->pProperties->pFirstChild; if (pSemanticTag->SREngineConfidence > ConfidenceThreshold) { wcout << pSemanticTag->pszValue << endl; CString str; str=pSemanticTag->pszValue; CWnd *pWnd = CWnd::FindWindow(NULL, _T("SpeechIdentify"));//获取目标窗口 pWnd->SendMessage(SPEECH_EVENT, 0, (LPARAM)str.AllocSysString());//发送消息 } } ::CoTaskMemFree(pPhrase); } } break; } m_pSpeechContext->GetEvents(1, &curEvent, &fetched); } return;}
- 4、因为微软的demo是win32的,所以你要移植到MFC必须开线程。
0 0
- Kinect开发笔记之二——语音识别
- Android开发 语音识别技术之科大讯飞语音识别(二) — 语音合成
- 百度语音识别服务 —— 语音识别 REST API 开发笔记
- Kinect for Windows SDK v2.0 开发笔记 (七)语音识别(上)
- Kinect for Windows SDK v2.0 开发笔记 (八)语音识别(下)
- 语音识别Kinect
- Android开发 语音识别技术之科大讯飞语音识别(一) — 语音听写
- 小例子,C#开发之kinect体感交互设备英文语音识别
- 搜狗语音云开发入门(二)——使用离线语音识别服务
- Kinect for Windows SDK开发入门(十二):语音识别 上
- Kinect for Windows SDK开发入门(十三):语音识别 下
- Kinect for Windows SDK开发入门(十二):语音识别 上
- Kinect for Windows SDK开发入门(十三):语音识别 下
- Kinect for Windows SDK开发入门(十二):语音识别 上
- Kinect开发学习笔记之(二)Kinect开发学习资源整理
- Kinect开发学习笔记之(二)Kinect开发学习资源整理 (转)
- Kinect开发学习笔记之(二)Kinect开发学习资源整理
- Kinect开发学习笔记之(二)Kinect开发学习资源整理
- Dism 错误 0x800f0806
- 排序
- 安卓handler学习
- 地理定位(iOS 8.0)
- CodeForces 665E Beautiful Subarrays(Trie)
- Kinect开发笔记之二——语音识别
- iOS网络——NSURLCache设置网络请求缓存,NSUrlCache
- YTU 3013: 皇后问题(递归)
- [bzoj4517][SDOI2016]排列计数
- dubbo原理解析
- 解题报告:HDU4704Sum 费马小定理+快速幂
- 如何在eclipse中设置javadoc
- ubuntu安装后设置那点事
- java单例模式详尽总结