2015-04-05 65 views
1

我正在圍繞Kinect做一個項目。基本上,我有很多用戶的音頻文件數據庫。在語音識別中使用Kinect骨架ID

在這些用戶中,只有一個會站在Kinect前(在其範圍內)。 Kinect將跟蹤骨骼,給他一個身份證,並且我也設法只顯示被跟蹤的骨骼頭部。同時,我已經應用了語音識別代碼,因此用戶會根據這些關鍵詞說出關鍵詞和動作。 PS:僅當用戶的語音與數據庫中的某個音頻文件「匹配」時纔會發生這些操作。

好吧,迄今爲止這麼好。以上所有的工作都比較好。問題如下: 讓我們想象一個站在Kinect前面的用戶,一個「已驗證的用戶」,同時另一個用戶走進來,也進行了驗證,並說出了一個關鍵詞。 現在,當第二位用戶進入時,他將獲得一個骨架軌道ID。

有沒有一種方法可以將第一個骨架的軌道標識傳遞給語音識別代碼,以便在關鍵字僅由第一個用戶說出時根據其軌道ID進行操作 - ?

謝謝。

回答

0

您可以使用音源角度來確定聲音來自何處。如果你有這些信息和用戶的骨架位置,你可以知道哪個用戶正在說話。請注意,這會爲您提供最響亮音頻的方向......假設您的用戶不在同一時間發言,這將很好。

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

那是當然假設你使用的Kinect 1(SDK 1.8)......如果你使用的Kinect 2,你可以直接問是誰講的用戶的身體traking 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