Unity APP 实例
Xvisio SDK 文档主页

语音识别


1. 语音识别Demo 基础场景

Talk.unity
通过AR眼镜中的麦克风可以实现语音识别功能。

2. 开发教程

如下图所示,我们一个基于手势Demo场景的场景
Step 1:
新建一个GameObject,修改名字Aitalk,将AitalkEventInterface.cs挂载到这个gameobject上。创建一个TextMesh添加到AitalkEventInterface.cs下的StatusText中,用来显示提示文字。
image

Step 2:
修改AitalkEventInterface.cs代码中的识别文字,请注意下列代码中的识别文字和文字的ID格式。

  private const string LOCAL_BNF = "#BNF+IAT 1.0 UTF-8;\n"
    + "!grammar word;\n"
    + "!slot <words>;\n"
    + "!start <words>;\n"
    + "<words>:圣诞树!id(999)|茶杯!id(1000)|奶酪!id(1001)|放大!id(1002)|缩小!id(1003)|旋转!id(1004);\n";

在下面代码中我们将看到接收到识别后的返回数据出来过程。

public void onResult(string result)
    {
        Debug.Log("aitak_log:unity:LogInfo:onResult:" + result);
        string[] strArray = result.Split('|');
        if (strArray.Length > 1)
        {
            if ("true" == strArray[1])
            {
                try
                {
                    AitalkModels.result data = SimpleJson.SimpleJson.DeserializeObject<AitalkModels.result>(result, new JsonSerializerStrategy());
                    if (data != null)
                    {
                        if (data.sc > 20)
                        {
                            if (data.ws[0].cw[0].id == 999)
                            {
                                this.GetComponent<TalkControl>().talkAction(3);
                            }
                            if (data.ws[0].cw[0].id == 1000)
                            {
                                this.GetComponent<TalkControl>().talkAction(4);
                            }
                            if (data.ws[0].cw[0].id == 1001)
                            {
                                this.GetComponent<TalkControl>().talkAction(5);
                            }
                        }
                        UpdateText("onResult:true" + data.sc + "," + data.ws[0].cw[0].w + "," + data.ws[0].cw[0].id);
                    }
                }
                catch (Exception e)
                {
                    UpdateText("onResult:false");
                }
            }
            else
            {
                UpdateText("onResult:false");
            }
        }
        else
        {
            UpdateText("onResult:false");
        }
    }

Step 3:
打包apk后我们将看到通过语音输入:茶杯、奶酪、圣诞树 场景中的物体将会根据语音输入的内容显示对应的物体。

image


Unity APP 实例
Xvisio SDK 文档主页