c#创建类似Siri的语音问答的简单应用
来源:互联网 发布:linux系统dd命令 编辑:程序博客网 时间:2024/04/30 16:55
利用.net的语音识别库,很容易就可以制作类似Siri的简单的问答程序。
实现步骤如下:
1.创建一个新项目,并添加对System.Speech的引用。(如下图所示)
2. 在窗体内分别定义语音识别(SpeechRecognitionEngine )和语音朗读(SpeechSynthesizer )
SpeechRecognitionEngine _recognizer = new SpeechRecognitionEngine(); SpeechSynthesizer Siri = new SpeechSynthesizer();
3.在窗体启动里添加如下代码就可以了:
CultureInfo myCIintl = new CultureInfo("zh-CN"); foreach (RecognizerInfo config in SpeechRecognitionEngine.InstalledRecognizers()) { if (config.Culture.Equals(myCIintl) && config.Id == "MS-2052-80-DESK") { _recognizer = new SpeechRecognitionEngine(config); break; } } _recognizer.SetInputToDefaultAudioDevice(); _recognizer.LoadGrammar(new Grammar(new GrammarBuilder(new Choices(File.ReadAllLines(Application.StartupPath + "\\command.txt"))))); _recognizer.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(_recognizer_SpeechRecognized); _recognizer.RecognizeAsync(RecognizeMode.Multiple);
void _recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) { string speech = e.Result.Text; switch (speech) { case "你好": Siri.Speak("你好"); break; case "今天星期几": Siri.Speak("今天" + DateTime.Today.ToString("dddd")); break; case "今天几号": Siri.Speak("今天是" + DateTime.Today.ToString("yyyy-MM-dd")); break; case "现在几点": DateTime now = DateTime.Now; string time = now.GetDateTimeFormats('t')[0]; Siri.Speak(time); break; case "关机": System.Diagnostics.Process.Start("shutdown", "-s"); break; } }
所有的命令都保存在"command.txt"文件中,记得用unicode保存才行。
运行程序,即可实现语音问答。
也可将程序应用到使用语音控制家用电器,实现智能家居(可参考 http://blog.csdn.net/soft2buy/article/details/6248333 )。
本文完整代码下载:
1 0
- c#创建类似Siri的语音问答的简单应用
- 仿Siri的中文语音助理源码
- 仿Siri的中文语音助理源码
- 仿Siri的中文语音助理源码
- 打造Android的中文Siri语音助手
- Siri语音搜寻带来的强大后续利益及风险
- Android简单语音控制应用的实现
- Android简单语音控制应用的实现
- 从siri谈人工智能技术的应用
- C#的基础知识问答
- C#的基础知识问答
- C#的基础知识问答
- C#的简单应用
- 利用Speech框架创建你的语音应用
- 打造Android的中文Siri语音助手(一)——小I机器人的接口
- 打造Android的中文Siri语音助手(二)——添加虫洞的开放API
- 打造Android的中文Siri语音助手(一)——小I机器人的接口
- 打造Android的中文Siri语音助手(一)——小I机器人的接口
- The Longest increasing subsequence
- Codeforces Round #280 (Div. 2)---C. Vanya and Exams (贪心)
- hdoj A + B Again
- Java基础之集合知识点总结一
- 推荐一些C#相关的网站、资源和书籍
- c#创建类似Siri的语音问答的简单应用
- lr:项目 性能测试中的数据解释与分析
- 上海合成树脂瓦--红波
- Sublime Text 3 快捷键
- ZOJ Problem Set - 3795(缩点拓补)
- Linux命令汇总之a.*
- python socket编程练习
- python excel文件操作
- hdu 1009 FatMouse' Trade(贪心)