目前人工智能在各领域的应用越加广泛,新的技术开放平台的出现,给开发者带来较大便利,开发者可以借助平台开发出更加智能新颖的产品。我们拟利用语音识别、语音合成、图灵人工智能、AR虚拟增强现实等实现人工智能应答APP应用产品。本文先介绍使用科大讯飞SDK实现语音在Unity3D产品中的识别以及识别后Unity与Python交互的应用。语音合成、图灵实现、AR将在后续文章中介绍。
讯飞APK
科大讯飞推出了以语音交互技术为核心的人工智能开放平台,为开发者免费提供语音识别、语音合成等语音技术SDK;人脸识别、声纹识别等统一生物认证系统;其语音识别有以下几大优势:
1)讯飞开放平台拥有领先的语音识别技术,核心技术达到国际领先水平,语音识别准确率已经超过98%,在业界遥遥领先。
2)支持中文、英文两个语种的识别,同时,还提供粤语、河南话、四川话等方言的识别。
3)语音输入速度达180字/分,识别结果响应时间低于200ms——系统运行效率让信息沟通变得无比顺畅。
4)基于用户语音特征,建立个性化的词条语言模型,调整识别参数,持续优化识别效果,提高用户的个性化词条识别准确率。
5)语音听写使用超大规模的语言模型,对识别结果语句智能预测其对话语境,提供智能断句和标点符号的预测。
Unity开发引擎
Unity3D是由UnityTechnologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blendergame engine, Virtools 或Torque GameBuilder等利用交互的图型化开发环境为首要方式的软件。其编辑器运行在Windows和MacOS X下,可发布游戏至Windows、Mac、Wii、iPhone、WebGL(需要HTML5)、Windowsphone 8和Android平台。也可以利用Unityweb player插件发布网页游戏,支持Mac和Windows的网页浏览。它的网页播放器也被Mac所支持。其开发APP的典型代表如:《王者荣耀》、《PokemonGo》等。
Python是一种面向对象的解释型计算机程序设计语言,已经成为最受欢迎的程序设计语言之一。2011年1月,它被TIOBE编程语言排行榜评为2010年度语言。自从2004年以后,python的使用率呈线性增长,其优点是:简单、易学、速度快、免费、开源、高层语言、可移植性、面向对象、可扩展性等。
1. 首先去讯飞开放平台注册一个开发者账号(注册地址:http://www.xfyun.cn),注册完成后进入控制台创建一个新的应用。
2. 注册完成后,在左侧找到SDK下载中心,并选择语音听写以及android平台,下载sdk。
3. 在unity安装目录中,找到一个叫classes.jar的文件,记录好路径。如:D:\ProgramFiles\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Development\Classes\classes.jar
4. 打开Eclipse,新建一个Andrid工程,并输入app名称,以及选择支持的android版本,然后一路NEXT,完成app建立。
5. 然后把刚刚我们找到的classes.jar文件导入到bin目录下(拖进去即可),然后在添加到构建路径中去,选择classes.jar右键--BuildPath ---Addto Build Path.
6. 把讯飞提供的SDK中libs文件下的部分jar包添加进来
7. 在我们下载的讯飞sdk文件中找到sample文件夹中找到JsonParser.java导入的工程中如图,并且修改它的包名为你自己工程的包名。双击编辑即可,编辑保存后错误提示会消失。
8. 修改MainActivity.java中的代码
9. 修改res工程目录下的AndroidManifest.xml文件,添加如下权限:
10. Eclipse编码部分完成,接着导出jar包。项目右键-export,选择导出JARfile,导出时只需选择src文件夹导出。
1. 打开Unity新建一个工程,在Assets中新建plugins文件夹,在plugins文件夹下新建android文件夹,在android文件夹下新建bin文件夹,并将生成的jar文件拖入到bin文件夹中。
2. 将Eclipse中libs、res文件夹以及AndroidManifest.xml文件拖入到android文件夹中
3. 在场景中新建一个输入框shurubox、一个文本框huoqu。
4. 在Assets新建一个c#文件,c#文件中加入相关语音调用相关代码,将此c#拖入到主摄像机机下,并将shurubox与huoqu与c#中相应定义字段关联。
5. 选择File-BuildSettings,选择相应的Scenes,点击PlayerSetting,修改CompanyName,PackageName(与AndroidManifest.xml)相同。Build就可打包成APP在手机汇总测试语音识别了,识别后的文字显示在ShuRuBox中。
1. 在c#头文件中定义使用Sockets,然后在文件中调用即可。
2. Python服务器Socket通信相关代码
至此,已实现了手机APP对语音进行识别,并将识别后的文字传送至Python服务器上。
注:unity版本5.6.1、python2.7
"网管自研起步区"微信公众号征稿啦!
关于自主研发的项目成果、自研心得、技术交流、课程教学。。。等等各种不限,真诚欢迎各位自研骨干原创供稿。
发声!让自研更有趣。
有意投稿请联系微信号:lychlov
稿件要求:
1、原创IT自研技术文章
2、避免设计企业内部机密,注意脱敏处理