人机交互基础教程
实验报告
实验题目:带有语音提示功能的界面设计与
开发
专 业 计算机科学与技术 学 生 姓 名 班 级 学 号 教 师 指 导 单 位 计算机软件学院 日 期
.
.
教 师 评 教师签名: 年 月 日 语 成绩评定 备注 .
.
一、实验目的
1)通过开发一个简单的具有语音提示功能的人机交互系统,使同学了解多通道交互系统的优点和交互模型的构建方法。 2)理解语音合成技术的基本原理。
3)了解和掌握Microsoft speech sdk的使用方法。 二 、实验器材
1.配有语音卡、耳麦、扬声器等多媒体设备的PC机 2. Windows操作系统 3. MS Speech SDK 三、实验说明
1.MS Speech SDK简介:
为解决语音引擎之间不兼容的问题,微软推出了一套语音应用程序开发的软件开发资源包Speech SDK,方便开发人员使用资源包开发语音识别和语音合成的应用程序,隔离了应用软件与语音引擎之间的联系,使得语音引擎的更换不会影响到应用程序的设计。 2.Speech SDK基本工作原理
.
.
作为应用程序开发者,只需调用speech sdk中的函数,即可实现
语音合成与语音识别功能。 3.下载安装
从Microsoft官方下载站点搜索Speech SDK 5.1并下载安装,中文语言包可选择安装。安装好Speech SDK后,语音控制程序将被添加到 “控制面板”->“语音”选项中。利用下图对话框可以设置语音识别和文字-语音转换的各项属性,包括语言、语调、语速和输入设备等。
三、实验内容与步骤 (1)实验内容
在visual c++或.net环境下,用微软的Speech SDK实现一个具有语音提示功能的界面,要求设计交互模型,并根据实际应用情况来确定是否要用语音。
调用Speech sdk的方法简述如下:
.
.
首先在visual c++主窗口的菜单栏中选择“工程”-> “设置” 。在弹出对话框中选择“c/c++”选项卡,在分类中选择“preprocessor”,在附加包含路径中,输入speech sdk安装路径下的include目录,如: C:\\Program Files\\Microsoft Speech SDK 5.1\\Include
然后选择“link”选项卡,在分类中选择“Input”,在附加库路径中,输入speech sdk安装路径下的lib目录,如: C:\\Program Files\\Microsoft Speech SDK 5.1\\Lib\\i386
程序中的关键代码如下:
.
.
#include #include ISpVoice * pVoice = NULL; if (FAILED(CoInitialize(NULL))) { AfxMessageBox(\"Error to intiliaze COM\"); return; }//初始化COM HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void **)&pVoice); if( SUCCEEDED( hr ) ) { hr = pVoice->SetVolume(80);//音量控制0~100 hr = pVoice->SetRate(0);//语速控制-5~5 hr = pVoice->Speak(L“hello world”, SPF_DEFAULT, NULL);//语音的内容 ISpObjectToken * spToken = NULL; if (SUCCEEDED(SpFindBestToken(SPCAT_VOICES, L\"language=804\{ pVoice->SetVoice(SpToken);//切换至中文语音模式,language=804代表中文,409代表英文 pVoice->Speak(L\"世界你好\ SpToken->Release(); } if (SUCCEEDED(SpFindBestToken(SPCAT_VOICES, L\"language=409\L\"Name=Microsoft Mike\说话人控制 { pVoice->SetVoice(SpToken); pVoice->Speak(L\"This is Mike speaking\ SpToken->Release(); } . . pVoice->Speak(L\" pVoice->Speak(L\"This sounds normal CoUninitialize(); Speech sdk还有很多功能,详见安装目录下的帮助文档。 (2)实验步骤 1)熟悉Text-To-Speech(TTS)基本函数的调用方法,编程实现最简单的语音合成原型系统。 2)体会交互过程和实现方法。 3)设计一个完整的人机交互界面,在适当的环节嵌入语音合成模块,实现语音提示功能。 四、实验总结 通过本次实验,我学会了开发一个简单的具有语音提示功能的人机交互系统,也了解了多通道交互系统的优点和交互模型的构建方法。对于语音合成技术的基本原理也有了基本的理解,第一次认识并使用了Microsoft speech sdk,对于它的使用方法还不太熟悉,需要日后再加强。 . 因篇幅问题不能全部显示,请点此查看更多更全内容