基于VisualC开发基于Windows7的语音识别与语音合成程序员投稿课案Word文档格式.docx
- 文档编号:14770513
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:18
- 大小:1.56MB
基于VisualC开发基于Windows7的语音识别与语音合成程序员投稿课案Word文档格式.docx
《基于VisualC开发基于Windows7的语音识别与语音合成程序员投稿课案Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于VisualC开发基于Windows7的语音识别与语音合成程序员投稿课案Word文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
因为Windows7都已经附带了.Net平台,本文讲述用VisualC++2010开发基于CLR的
语音技术应用程序,并同时提供了基于MFC程序兼容调用CLR的办法,无论VisualC++基于CLR或者MFC的程序,如果想升级到Windows7,都可以很快为自己添加语音识别功能,语音朗读功能。
VisualC++2010开发基于CLR的Windows7语音技术
1.创建一个CLR的WindowsFormsApplication的项目,名称命名为CSDN-speech
2.插入下列控件,如下图
3.单击Project,选择项目属性
3.在项目属性中我们将看到下图所示
4.单击按钮,AddNewReference,添加System.Speech(版本为4.0)的调用
5.单击朗读按钮,创建朗读按钮触发程序
6.在程序初始化部分添加下列代码,以添加对于语音技术的引用,还有对于语言文化类的引用。
usingnamespaceSystem:
:
Speech;
Speech:
Recognition;
Recognition:
SrgsGrammar;
Synthesis;
Globalization;
7.在按钮“朗读下面添加下列代码”
SpeechSynthesizer^synth;
synth=gcnewSpeechSynthesizer();
synth->
Speak(this->
textBox1->
Text);
8.实验语音朗读,如下图,听听来自Windows7的语音朗读的声音效果
9.单击项目资源管理器CSDN-speech节点,添加一个类
10.添加一个纯c++类
11.命名为yuyin类
12.yuyin.h添加如下代码,代码具体意义见注释
#pragmaonce
usingnamespaceSystem:
Linq;
Text;
Windows:
Forms;
namespaceCSDNspeech{
publicrefclassyuyin
{
public:
SpeechRecognitionEngine^recognizer;
//定义语音识别器
DictationGrammar^dictationGrammar;
//定义语法
System:
Forms:
Control^cDisplay;
//定义一个关联文本控件
yuyin(array<
System:
String^>
^fg);
//创建关键词语列表
private:
voidInitializeSpeechRecognitionEngine(array<
voidBeginRec(Control^tbResult);
//开始语音识别,关联窗口控件
voidover();
//结束语音识别
virtualGrammar^CreateCustomGrammar(array<
voidTurnSpeechRecognitionOn();
//开启语音识别
voidTurnSpeechRecognitionOff();
//关闭语音识别
voidrecognizer_SpeechHypothesized(System:
Object^sender,SpeechHypothesizedEventArgs^e);
voidrecognizer_SpeechRecognized(System:
Object^sender,SpeechRecognizedEventArgs^e);
//语音识别器
voidTurnDictationOn();
//打开词典
voidTurnDictationOff();
//关闭词典
};
}
13.yuyin.cpp代码更新为下列代码,代码具体含义见注释
#include"
StdAfx.h"
yuyin.h"
usingnamespaceSystem;
Collections:
Generic;
namespaceCSDNspeech{
yuyin:
yuyin(array<
^fg)//fg为语音识别关键词语列表
CultureInfo^myCIintl=gcnewCultureInfo("
zh-CN"
false);
//创建简体中文标示
foreach(RecognizerInfo^configinSpeechRecognitionEngine:
InstalledRecognizers())//获取所有语音引擎
{
if(config->
Culture->
Equals(myCIintl)&
&
config->
Id=="
MS-2052-80-DESK"
)//选择中文语音识别引擎
{
recognizer=gcnewSpeechRecognitionEngine(config);
break;
}
}
if(recognizer!
=nullptr)
InitializeSpeechRecognitionEngine(fg);
//选择默认语音引擎
dictationGrammar=gcnewDictationGrammar();
else
MessageBox:
Show("
创建语音识别失败"
);
}
voidyuyin:
InitializeSpeechRecognitionEngine(array<
^fg)//语音识别初始化
recognizer->
SetInputToDefaultAudioDevice();
//选择默认语音设备
Grammar^customGrammar=CreateCustomGrammar(fg);
UnloadAllGrammars();
LoadGrammar(customGrammar);
SpeechRecognized+=gcnewEventHandler<
SpeechRecognizedEventArgs^>
(this,&
recognizer_SpeechRecognized);
SpeechHypothesized+=gcnewEventHandler<
SpeechHypothesizedEventArgs^>
recognizer_SpeechHypothesized);
BeginRec(Control^tbResult)
TurnSpeechRecognitionOn();
TurnDictationOn();
cDisplay=tbResult;
over()
TurnSpeechRecognitionOff();
Grammar^yuyin:
CreateCustomGrammar(array<
^fg)//创建语法
GrammarBuilder^grammarBuilder=gcnewGrammarBuilder();
grammarBuilder->
Append(gcnewChoices(fg));
returngcnewGrammar(grammarBuilder);
TurnSpeechRecognitionOn()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于VisualC 开发基于Windows7的语音识别与语音合成程序员投稿课案 基于 VisualC 开发 Windows7 语音 识别 合成 程序员 投稿
链接地址:https://www.bdocx.com/doc/14770513.html