在本文中,您将学习如何使用动态时间扭曲和Wekinator控制可用于通过语音命令和识别构建游戏的简单用户界面。
我们将从openFrameworks中的应用程序向Wekinator提供输入。这个应用程序被称为MFCC(梅尔频率倒谱系数),它记录我们的声音,并给Wekinator输出。
Wekinator将根据我们通过应用程序发送的样本进行训练,并将输出发送到Processing,后者将控制游戏。这个界面是在处理过程中制作的,有一个方框,根据Wekinator的输出跳转并向右或向左移动。
设置处理对于Processing,我们有一个简单的ICfans游戏,可以从Wekinator接收一个DTW(动态时间扭曲)输出。在这个界面中,有一个方框,根据从Wekinator收到的输出跳转并向左或向右移动。加工草图可在Wekinator的示例页面上找到。
下载名为Simple DTW-controlled Game的示例,解压缩文件,然后在Processing中运行草图。Processing窗口如下所示:

下载草图后的“处理”窗口。
设置openFrameworks在openFrameworks方面,我们在openFrameworks中创建了一个应用程序,它将记录我们的语音并向Wekinator提供输出。它也可以在Wekinator的示例页面上找到。
您可以下载可执行版本或源代码。如果要通过源代码运行它,则需要在系统上安装openFrameworks,以便编译和运行它。否则,请下载可执行版本,解压缩文件并运行它。它看起来像这样:

openFrameworks窗口。
设置Wekinator现在打开Wekinator并更新您的设置以模仿下面的图像。

通过设置Wekinator来模拟这些设置来启动新项目。
将输入设置为13并将输出设置为1.使用3种手势类型选择输出半导体类型为所有动态时间扭曲。保留所有其他设置。
现在,单击“下一步”,您将进入此窗口:

单击输出1右侧的加号按钮,然后在麦克风中“左”。此命令的输出将向左移动框。

为输出1记录命令“left”。
单击输出2右侧的加号按钮,然后在麦克风中“右”。此命令的输出将向右移动框。

为输出2记录“右”命令。
单击输出3右侧的加号按钮,然后“跳”到麦克风中。此命令的输出将使框跳转。

为输出3记录命令“jump”。
记录样本后,单击“训练”以根据输入训练Wekinator,然后单击“运行” 。现在,当你说“左”时,方框将向左移动,当你说“向右”时,方框将向右移动,当你说“跳”时,方框将跳转。