ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:125.61KB ,
资源ID:2861338      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2861338.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Kinect for Windows SDK开发入门十三语音识别 下.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Kinect for Windows SDK开发入门十三语音识别 下.docx

1、Kinect for Windows SDK开发入门十三语音识别 下译Kinect for Windows SDK开发入门(十三):语音识别 下上一篇文章介绍了Kinect中语音识别的基本概念,以及一些语音处理方面的术语。在此基础上使用Kinect麦克风阵列来进行音频录制的例子说明了Kinect中音频处理的核心对象及其配置。本文将继续介绍Kinect中的语音识别,并以两个小例子来展示语音识别中的方向识别和语音命令识别。1. 使用定向麦克风进行波速追踪(Beam Tracking for a Directional Microphone) 可以使用这4个麦克风来模拟定向麦克风产生的效果,这个过程

2、称之为波束追踪(beam tracking),为此我们新建一个WPF项目,过程如下:1. 创建一个名为KinectFindAudioDirection的WPF项目。2. 添加对Microsoft.Kinect.dll和Microsoft.Speech.dll的引用。3. 将主窗体的名称改为“Find Audio Direction”4. 在主窗体中绘制一个垂直的细长矩形。 界面上的细长矩形用来指示某一时刻探测到的说话者的语音方向。矩形有一个旋转变换,在垂直轴上左右摆动,以表示声音的不同来源方向。前端页面代码: 上图是程序的UI界面。后台逻辑代码和之前的例子大部分都是相同的。首先实例化一个Kin

3、ectAudioSource对象,然后将主窗体的DataContext赋值给本身。将BeamAngleMode设置为Adaptive,使得能够自动追踪说话者的声音。我们需要编写KinectAudioSource对象的BeamChanged事件对应的处理方法。当用户的说话时,位置发生变化时就会触发该事件。我们需要创建一个名为BeamAngle的属性,使得矩形的RotateTransform可以绑定这个属性。public partial class MainWindow : Window, INotifyPropertyChanged public MainWindow() InitializeC

4、omponent(); this.DataContext = this; this.Loaded += delegate ListenForBeamChanges(); ; private KinectAudioSource CreateAudioSource() var source = KinectSensor.KinectSensors0.AudioSource; source.NoiseSuppression = true; source.AutomaticGainControlEnabled = true; source.BeamAngleMode = BeamAngleMode.A

5、daptive; return source; private void ListenForBeamChanges() KinectSensor.KinectSensors0.Start(); var audioSource = CreateAudioSource(); audioSource.BeamAngleChanged += audioSource_BeamAngleChanged; audioSource.Start(); public event PropertyChangedEventHandler PropertyChanged; private void OnProperty

6、Changed(string propName) if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs(propName); private double _beamAngle; public double BeamAngle get return _beamAngle; set _beamAngle = value; OnPropertyChanged(BeamAngle); 以上代码中,还需要对BeamChanged事件编写对应的处理方法。每次当波束的方向发生改变时,就更改BeamAn

7、gle的属性。SDK中使用弧度表示角度。所以在事件处理方法中我们需要将弧度换成度。为了能达到说话者移到左边,矩形条也能够向左边移动的效果,我们需要将角度乘以一个-1。代码如下:void audioSource_BeamAngleChanged(object sender, BeamAngleChangedEventArgs e) BeamAngle = -1 * e.Angle; 运行程序,然后在房间里不同地方走动,可以看到矩形条会根据你的位置左右摆动。2. 语音命令识别 在这一部分,我们将会结合KinectAudioSource和SpeechRecognitionEngine来演示语音命令识

8、别的强大功能。为了展示语音命令能够和骨骼追踪高效结合,我们会使用语音命令向窗体上绘制图形,并使用命令移动这些图形到光标的位置。命令类似如下:Create a yellow circle, there.Create a cyan triangle, there.Put a magenta square, there.Create a blue diamond, there.Move that . there.Put that . there.Move that . below that.Move that . west of the diamond.Put a large green circl

9、e . there.程序界面大致如下:和之前的应用程序一样,首先创建一下项目的基本结构:1. 创建一个名为KinectPutThatThere的WPF项目。2. 添加对Microsoft.Kinect.dll和Microsoft.Speech.dll的引用。3. 将主窗体的名称改为“Put That There”4. 添加一个名为CrossHairs.xaml的用户自定义控件。 CrossHair用户控件简单的以十字光标形式显示当前用户右手的位置。下面的代码显示了这个自定义控件的XAML文件。注意到对象于容器有一定的偏移使得十字光标的中心能够处于Grid的零点。 在应用程序的主窗体中,将根节点

10、从grid对象改为canvas对象。Canvas对象使得将十字光标使用动画滑动到手的位置比较容易。在主窗体上添加一个CrossHairs自定义控件。在下面的代码中,我们可以看到将Canvas对象嵌套在了一个Viewbox控件中。这是一个比较老的处理不同屏幕分辨率的技巧。ViewBox控件会自动的将内容进行缩放以适应实际屏幕的大小。设置MainWindows的背景色,并将Canvas的颜色设置为黑色。然后在Canvas的底部添加两个标签。一个标签用来显示SpeechRecognitionEngine将要处理的语音指令,另一个标签显示匹配正确的置信度。CrossHair自定义控件绑定了HandTop和HandLeft属性。两个标签分别绑定了HypothesizedText和Confidence属性。代码如下: 在后台逻辑代码中,让MainWindows对象实现INofityPropertyChanged事件并添加OnPropertyChanged帮助方法。我们将创建4个属性用来为前台UI界面进行绑定。public partial class MainWindow : Window, INotifyPr

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1