在语音识别中使用 Kinect Skeleton ID

Posted

技术标签:

【中文标题】在语音识别中使用 Kinect Skeleton ID【英文标题】:Using Kinect Skeleton ID in Speech Recognition 【发布时间】:2015-04-05 16:59:35 【问题描述】:

我正在围绕 Kinect 做一个项目。基本上,我有一个供许多用户使用的音频文件数据库。

在这些用户中,只有一个会站在 Kinect 前面(在其范围内)。 Kinect 将跟踪骨架,给他一个 ID,而且我已经设法只显示跟踪的骨架的头部。同时,我应用了一个语音识别代码,所以用户会说出关键词,并根据这些关键词发生动作。 PS:只有当用户的声音与数据库中的一个音频文件“匹配”时,才会发生这些操作。

好的,到目前为止一切顺利。以上所有工作都相对正常。这是问题所在: 让我们想象一个用户站在 Kinect 前面,一个“已验证用户”,同时另一个用户走进来,也经过验证,说出其中一个关键词。 现在,当第二个用户走进来时,他将获得一个骨架轨道 ID。

有没有一种方法可以将第一个骨架的轨道 ID 传递给语音识别代码,以便当关键字仅由第一个用户说出时(基于他的轨道 ID)发生动作?

谢谢。

【问题讨论】:

【参考方案1】:

您可以使用音源角度来确定声音的来源。如果你有这些信息和用户的骨架位置,你就可以知道哪个用户在说话。请注意,这将为您提供最响亮的音频的方向...假设您的用户没有同时说话,这很好。

https://msdn.microsoft.com/en-us/library/microsoft.kinect.kinectaudiosource.soundsourceangle.aspx

这当然是假设您使用的是 Kinect 1 (SDK 1.8)...如果您使用的是 Kinect 2,您可以直接询问正在说话的用户的身体跟踪 ID。只需向 AudioBeam 询问一个帧,向该帧询问一个子帧,然后向该子帧询问相关性,然后您就会得到以下信息:

https://msdn.microsoft.com/en-us/library/microsoft.kinect.kinect.iaudiobodycorrelation.get_bodytrackingid.aspx https://msdn.microsoft.com/en-us/library/windowspreview.kinect.audiobodycorrelation.bodytrackingid.aspx

【讨论】:

以上是关于在语音识别中使用 Kinect Skeleton ID的主要内容,如果未能解决你的问题,请参考以下文章

系统语音识别、MS语音平台和Kinect

为 Surface 表开发 Kinect 语音识别应用程序

Kinect 语音识别和骨骼跟踪不能一起工作

kinect概述

Kinect结合Unity基础使用(一)

Kinect姿势识别